rebar
Elixir.ex
を私たちのプロジェクトに統合したかったのですが、古き良きコードEmakefile
では.
編集:
私たちのチームは主に Windows 環境で作業していますが、デプロイは Linux サーバーで行うため、クロスプラットフォーム ソリューションが必要です。erl -make
Erlang自体がクロスプラットフォームなので、コマンドでやりたかった。
もちろん、 を書くことはできますが、開発マシンにはコマンドがないため、開発環境でコードをビルドするには やそれに似たものMakefile
が必要になります。build.bat
make
誰でも良いアイデアがありますか?
アップデート:
誰かが知りたい場合のために、私はこのようにしています:
lib/elixir
Elixir ソース ツリーのディレクトリをソース ディレクトリにコピーしますsome_project/src/tools/elixir
。- 、 に、 をこの順序で追加
some_project/src/tools/elixir/src/elixir_transform.erl
します。出力ディレクトリを(他のすべてのファイルはそこにあります) に設定します。some_project/src/tools/elixir/src/*
Emakefile
some_project/ebin
.beam
src/elixir.app.src
Elixir ソース ツリーを にコピーし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).