summaryrefslogtreecommitdiff
path: root/src/rebar_erlc_compiler.erl
Commit message (Collapse)AuthorAgeFilesLines
...
* don't unescessarily recompile yrl/xrl filesalisdair sullivan2015-02-221-4/+10
| | | | fixes #175
* consolidate app validation and exist checksTristan Sloughter2015-02-221-1/+1
|
* follow xdg standard. fixes #122Tristan Sloughter2015-02-191-3/+3
|
* purge mods loaded during check to see if they need to be recompiledalisdair sullivan2015-02-171-2/+4
| | | | during compile task before running subsequent tasks
* Merge pull request #157 from talentdeficit/real_needs_recompileTristan Sloughter2015-02-171-9/+26
|\ | | | | check already compiled modules compile arguments against current compile arguments
| * check already compiled modules compile arguments against current compilealisdair sullivan2015-02-161-9/+26
| | | | | | | | arguments to ensure compile results as as intended
* | replace package management with hex.pmTristan Sloughter2015-02-171-8/+2
|/
* Fix #140 and preserve erl_first_files orderMartin Karlsson2015-02-131-5/+20
| | | | | | Match erl_first_files properly against all files needing compilation and make sure the order of erl_first_files as specified in rebar.config is preserved (rebar/rebar#445)
* point compiler to the right config value for which files need to bealisdair sullivan2015-01-011-1/+1
| | | | compiled first
* remove no longer relevant test machinery in rebar_erlc_compileralisdair sullivan2014-12-241-153/+0
|
* move dir functions from utils to new module rebar_dirTristan Sloughter2014-12-011-5/+5
|
* replace rlx_depsolver use with new rebar_digraphTristan Sloughter2014-11-221-2/+69
|
* new dep graph workingTristan Sloughter2014-11-221-77/+2
|
* use CONFIG_DIR of rebar3 for config directoriesTristan Sloughter2014-11-101-1/+1
|
* handle throw by relxTristan Sloughter2014-11-081-7/+7
|
* add eunit task, still work to be doneTristan Sloughter2014-11-051-2/+2
|
* fix find and includefile paths for yrl/xrl filesTristan Sloughter2014-10-191-5/+8
|
* fix clean provider for multi app projectsTristan Sloughter2014-10-121-7/+7
|
* down to last 2 dialyzer errorsTristan Sloughter2014-09-211-1/+1
|
* more dialyzer fun. no likey opaque typesTristan Sloughter2014-09-211-7/+7
|
* remove use of 17+ function lists:droplast/1Tristan Sloughter2014-09-171-1/+1
|
* start of moving to splitting state from config parsingTristan Sloughter2014-08-171-27/+27
|
* large refactoringTristan Sloughter2014-08-161-18/+22
| | | | | | | | Removed separate compilers Resolves apps to build Finds avail deps before pulling/building Includes relx Simplifies build commands
* Fix OS X resource fork handling (Reported-by: Richard O'Keefe)Tuncer Ayaz2014-07-251-6/+10
| | | | | | | | | If you happen to fetch a zip archive of the git repo and try to build from that, you may, for example, ask erlc to build src/._rebar.erl. ._* are OS X resource forks and not real .erl files. This may also happen with network filesystems on OS X. To fix that, limit the files compiled by rebar to include only those which start with a letter or a digit.
* Use correct types for OTP >=17.xTuncer Ayaz2014-06-291-2/+2
|
* Fix a few minor formatting inconsistenciesTuncer Ayaz2014-06-291-2/+2
| | | | | * fix overlong lines * where appropriate use %% instead of %
* Merge pull request #285 from nevar/fix_inheritanceTristan Sloughter2014-06-151-7/+22
|\ | | | | Fix #249 (erlc regression)
| * Fix #249 (erlc regression)Slava Yurin2014-05-301-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | The combination of changes to rebar_erlc_compiler, and the fact that erl_first_files is inherited, caused a regression. To fix that, ensure every project uses its own .rebar/erlcinfo. While at it, fix the issue that erl_first_files entries were not included when initializing the dep digraph. Reported-by: Louis-Philippe Gauthier Reported-by: Roland Karlsson Thanks: Tuncer Ayaz
* | Revert "Merge pull request #171 from fenollp/using-stdlib"Tristan Sloughter2014-06-141-9/+12
| | | | | | | | | | This reverts commit 3297ffec2c89c6b7135165b4bfaeaeb07167c33c, reversing changes made to 0401debb3cf23d67affbe465a7a438049180a608.
* | Rebasing. Fix differences with c26b0c7 c996e98 b690842.Pierre Fenoll2014-06-131-10/+8
| |
* | Local corrections on string processing:Pierre Fenoll2014-06-131-2/+1
| | | | | | | | | | * Corrected regexp: `[x|y]` -> `[xy]`. * Used an re:replace/4 option instead of multiple IOlist functions.
* | Fix build for 17.0 using the solutiong proposed by @tsloughterMatwey V. Kornilov2014-06-081-3/+11
| | | | | | | | We use namespaced_types option to choose between dict() and dict:dict() types.
* | erlc: replace if expression with case ofTuncer Ayaz2014-05-301-4/+4
| | | | | | | | Motivated by the bug fix in 2c4d7d1.
* | erlc: fix typo in update_erlcinfo/3 clauseTuncer Ayaz2014-05-301-1/+1
|/
* Merge pull request #251 from mururu/eunit_compile_optsJared Morrow2014-05-191-9/+10
|\ | | | | Make sure that eunit/qc_compile_opts works
| * Make sure that eunit/qc_compile_opts works fix #245Yuki Ito2014-05-131-9/+10
| |
* | erlc: fixup log messageTuncer Ayaz2014-03-121-1/+1
|/ | | | | | | | | | | | | Using the filename as a prefix is less readable and inconsistent with the other log messages. Before: DEBUG: src/foo.erl depends on... After: DEBUG: Dependencies of src/foo.erl ...
* Fix #220 (Reported-by: Joseph Norton)Tuncer Ayaz2014-03-051-4/+4
| | | | | When running 'rebar qc' or 'rebar eunit', we were erroneously fetching erl_opts more than once.
* erlc: fix commentTuncer Ayaz2014-03-051-6/+7
| | | | | test_compile/3 is used by eunit and qc, but the comment was only referring to 'rebar eunit'.
* erlc: clean-up, enhance, and regression fix fd17693Tuncer Ayaz2014-03-051-69/+200
| | | | | | | | | | | | | | | | | | | | | | * update files * fix Dialyzer warning * unconditionally enable info fil * clean-up inconsistencies * use term_to_binary compression * use try...catch instead of case...catch...of * do not write build info file if the graph is unmodified * store info file as <base_dir>/.rebarinfo * properly support list of compile directives * fix regressions: - Fix a bug in handling of files to compile first. - If a file that is depended upon itself depends on other files, make sure those are compiled first. While at it, rename variables for correctness. Reported-by: David Robakowski - Make sure that FirstFiles has no dupes and preserves the proper order. - headers referenced via -include_lib() were not properly resolved to absolute filenames - .erl files found in sub dirs of src_dirs were not properly resolved to absolute filenames
* erlc: add support for detecting core transformsAnthony Ramine2014-03-051-0/+2
|
* Speed up the compilation processEvgeniy Khramtsov2014-03-051-108/+212
| | | | | | | | * Do not parse source files twice while checking for relationship. * Keep files relationships in a graph. * The option 'keep_build_info' is introduced. When set to 'true' the graph will be kept in ebin/.rebar.build.info and will be used by further compiler calls. The default is 'false'.
* erlc: properly reuse the right erl_opts in test_compileTuncer Ayaz2013-11-261-3/+3
| | | | | Avoid getting erl_opts twice in test_compile/3, and make sure the correctly filtered (platform_define, etc.) version is used.
* mib_to_hrl compilation verbosity via 'mib_opts'Alex Thornton2013-09-081-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the configuration setting 'mib_opts' in rebar.config would affect the call to snmpc:compile/2, so that (for example) verbosity could be controlled. However, the subsequent call to snmpc:mib_to_hrl/1 did not include any of these options, so it did not appear to be possible to control the verbosity of the process of converting a MIB to a .hrl file. To make matters worse, the default was to dump a full trace -- including debug output and various logging -- so the act of compiling a large number of MIBs could result in a huge amount of "noisy" output that hid any signal (meaningful warnings, errors, etc.). This commit addresses that issue by replacing the call to snmpc:mib_to_hrl/1 with a call to snmpc:mib_to_hrl/3 instead, which includes an "options" argument that, at present, is only capable of setting verbosity. The verbosity setting is taken from the 'mib_opts' setting in rebar_config, if present, and the approriate kind of argument is passed to snmpc:mib_to_hrl/3. It should be noted that snmpc:mib_to_hrl/3 is not listed in Erlang's documentation, but does appear in the list of "API" exports at the top of snmpc.erl in R15B01 (and remains that way in R16B01), so this appears to be more of a documentation oversight than the use of a deep, dark function call that was not intended to be public. snmpc:mib_to_hrl/3 accepts an #options{} record (defined in lib/srdlib/include/erl_compile.hrl within Erlang's source distribution), though most of the fields in that record are ignored by snmpc:mib_to_hrl/3; only verbosity can be controlled this way.
* Implement 'rebar help CMD1 CMD2' and extend common 'rebar help' msgTuncer Ayaz2012-12-311-4/+39
| | | | | * allow plugins to print help message for implemented commands * append core rebar.config options to common 'rebar help' message
* Cleanup rebar_core and rebar_erlc_compilerTuncer Ayaz2012-11-151-6/+0
| | | | | Rename rebar_core functions for improved readability. Remove redundant comments and blank lines.
* rebar_erlc_compiler: fix src_dirs commentTuncer Ayaz2012-11-151-1/+1
|
* Fix whitespace errorTuncer Ayaz2012-08-181-3/+2
|
* Add erlc override from erl_opts: outdirJoe DeVivo2012-08-181-1/+3
|
* Use separate dirs for eunit and qcTuncer Ayaz2012-08-091-9/+9
|