Skip to content

feature request: need debugability for mix build tool #4099

@c0b

Description

@c0b

I'm from C/Erlang background to Elixir world, have an old pure Erlang project which was built based on C/Automake/Autoconf/Makefile as the build tool, for some reason we don't want to maintain the old building way and want to move on, now evaluating rebar/rebar3 or directly move to elixir's mix tool, I created an almost empty mix.exs structure for erlang app, then mix compile automatically recognized all my src/*.erl files and tried to compile all of them; but the problem is this Erlang project is still using some *.hrl files for Erlang record, in Makefiles we used to call erlc like a gcc compiler, make by default will show the full command line erlc -I dir/to/hdr_files/ +{parse_transform, ...} ... for how does it compile, and where it could fail;
this mix tool seems not showing build process at all, I have been reading all the mix documentation for 3 days and asked questions in #2665 still can't figure out how to pass in compiler options, neither I found any debugability for mix tool, I've tried mix -h mix --help mix help all are showing a list of available commands, mix -v mix --verbose the -v shows mix --version actually, I don't see anywhere documenting it; is there a full reference for all available mix command line switches?

links here 1 is a reference I can't find a good tutorial how to write the compiler options for erlang into the mix.exs; 2 is the only blog entry isn't very detailed;

  1. http://elixir-lang.org/docs/stable/mix/Mix.Tasks.Compile.Erlang.html
  2. http://featurebranch.com/using-mix-to-compile-your-erlang-projects/

this issue is created as request for documentation/tutorial, or may need some actually code changes, ideally as a build tool, I am expecting:

  1. like make --debug or --verbose to show all compilation process details, for where it didn't work, and possible suggestions,
  2. a command switch to stop at first error, because currently mix compile tries to compile all my src/*.erl files and until last failure, I don't see an option to make it stop at first compilation error;
  3. the ability to build a single file,
  4. for -h or --help to show a full list (or most useful) of all command switches;
  5. if like nodejs Gulp can have watch and do continuously build in background would be wonderful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions