rebarElixir.exを私たちのプロジェクトに統合したかったのですが、古き良きコードEmakefileでは.
編集:
私たちのチームは主に Windows 環境で作業していますが、デプロイは Linux サーバーで行うため、クロスプラットフォーム ソリューションが必要です。erl -makeErlang自体がクロスプラットフォームなので、コマンドでやりたかった。
もちろん、 を書くことはできますが、開発マシンにはコマンドがないため、開発環境でコードをビルドするには やそれに似たものMakefileが必要になります。build.batmake
誰でも良いアイデアがありますか?
アップデート:
誰かが知りたい場合のために、私はこのようにしています:
lib/elixirElixir ソース ツリーのディレクトリをソース ディレクトリにコピーしますsome_project/src/tools/elixir。- 、 に、 をこの順序で追加
some_project/src/tools/elixir/src/elixir_transform.erlします。出力ディレクトリを(他のすべてのファイルはそこにあります) に設定します。some_project/src/tools/elixir/src/*Emakefilesome_project/ebin.beam src/elixir.app.srcElixir ソース ツリーを にコピーしsome_project/ebin/elixir.app、編集してバージョン コードを修正します。- dir
erl -pa ebin -makeで , を実行して、Erlang コードをビルドします。some_project - を実行して Elixir コンパイラをビルドします。
erl -pa ebin -s elixir_compiler core -s erlang halt - これで、コードに動作する Elixir 環境ができました。次の escript を使用してカスタム
.exファイルを作成します。
%%! -pa ./ebin main(_) -> ExList = [ <<"source_1.ex">>, <<"source_2.ex">>, <<"source_3.ex">>], application:start(elixir), gen_server:call(elixir_code_server, {compiler_options, [{docs, true}, {debug_info, true}]}), [elixir_compiler:file_to_path(F, <<"./ebin">>) || F <- ExList], erlang:halt(0).