summaryrefslogtreecommitdiff
path: root/src/rebar_erlc_compiler.erl
Commit message (Collapse)AuthorAgeFilesLines
* Add module directory to include pathLuis Rascao2016-01-261-2/+3
| | | | | | | | | | Several projects use an include path relative to the project's root. file:compile will look in three places for the include files: The current working directory The directory where the module is being compiled The directories given by the include option
* remove mib header file in `priv/mibs/include'alisdair sullivan2015-12-081-7/+1
|
* symlink mib hrl output in apps `include' directoriesalisdair sullivan2015-12-061-31/+39
| | | | this restores compatibility with rebar2 and erlang.mk
* Added tests and fixed a bugPhil Toland2015-12-011-1/+1
|
* Fix a small bug in the MIB compiler when building dependenciesPhil Toland2015-11-301-4/+8
| | | | | | | When compiling a dependency with a MIB file the generated hrl file is left in the root project directory in a file called "include". This has the perverse effect of messing up the search path for include files causing any dependencies with files in their "include" directory to fail to build after that.
* Fix error reports on missing include pathsFred Hebert2015-11-141-1/+1
| | | | | | | In some cases (nested includes?) paths end up in such a way that joining them breaks up and hard-crashes rebar3. This patch specifically handles this scenario to fix things by avoiding passing empty lists to filename:join.
* restore debug calls to `rebar_erlc_compiler` and `rebar_prv_eunit`alisdair sullivan2015-10-261-7/+9
|
* refactor `rebar_erlc_compiler`alisdair sullivan2015-10-261-80/+178
| | | | | | | | | | | | | | | | | | | * modify compiler interface to work on either application objects or directories containing source files * compile all sources in `src_dirs` to the application `ebin` dir and all sources in `extra_src_dirs` to a directory mirroring it's position in the app's `_build` directory. for example, `apps/foo/more` would compile to `_build/default/lib/foo/more` for `extra_src_dirs` in the root of a project with multiple applications (so orphan directories that don't "belong" to an application) compile to `_build/default/extras/more` * copy directories specified in `extra_src_dirs` into the `_build` directory so tools like `ct` and `xref` that expect source to be in a particular location still work * clean compiled artifacts from all `extra_src_dirs` * alter `eunit`, `ct` and `cover` to work with the new directory structure * billions of new tests
* Revert "add an export to allow specifing arbitrary extra erl files to be ↵alisdair sullivan2015-10-261-7/+0
| | | | | | compiled" This reverts commit 9d82215296205d2d30c152c7d7c6fcb8e4a92443.
* Support proper paths in non-erl first filesFred Hebert2015-10-121-6/+6
| | | | | This passes the directory to the option to ensure it works with more than configs at the root of the project.
* add an export to allow specifing arbitrary extra erl files to be compiledalisdair sullivan2015-09-211-0/+7
| | | | to `rebar_erlc_compiler`
* fix dialyzer warningsTristan Sloughter2015-09-091-3/+3
|
* move opts functions to new module rebar_optsTristan Sloughter2015-09-011-8/+8
|
* update use of hooks and plugins with state in app_infoTristan Sloughter2015-08-311-8/+9
|
* build on already created AppInfo instead of having to do copyTristan Sloughter2015-08-311-52/+52
|
* wip: move state into app_infoTristan Sloughter2015-08-311-48/+49
|
* update erlcinfo on disk if source file removedTristan Sloughter2015-08-221-12/+26
|
* fix leaking ets tables when compilation failedpvmart2015-08-181-11/+14
|
* fix leaking ets tables caused by digraphspvmart2015-08-171-1/+4
|
* Fix some unknown functions/types dialyzer warningsJames Fish2015-08-091-1/+1
|
* ensure necessary directories exist to compile mibs filesTristan Sloughter2015-07-061-2/+5
|
* methods for retrieving `src_dirs` and `extra_src_dirs`alisdair sullivan2015-05-191-2/+1
| | | | | | note that now ALL `src_dirs` across included profiles are compiled. previously only the last included profile's `src_dirs` were used
* Merge pull request #439 from talentdeficit/extra_src_dirsTristan Sloughter2015-05-171-1/+2
|\ | | | | generalize the "test" special dir into an {extra_src_dirs, [...]} option
| * generalize the "test" special dir into an {extra_src_dirs, [...]} optionalisdair sullivan2015-05-161-1/+2
| | | | | | | | | | | | like `src_dirs`, `extra_src_dirs` are directories to be copied to the `_build` dir and compiled. unlike `src_dirs` they are not added to the .app specification
* | remove use of `code:load_abs/1` in favor of `beam_lib:chunks/2` toalisdair sullivan2015-05-161-8/+14
|/ | | | avoid repeated loading and unloading of modules
* enable parse transformations in rebar configTristan Sloughter2015-04-261-6/+27
|
* remove warning if header not found, could be in a macroTristan Sloughter2015-04-231-4/+0
|
* real bootstrappingTristan Sloughter2015-04-221-1/+2
|
* track and cleanup code paths for different contextsTristan Sloughter2015-04-211-2/+0
|
* fix erl_first_files to check entire path of fileTristan Sloughter2015-04-201-3/+4
|
* remove use of lists:droplast, it doesn't exist pre-17Tristan Sloughter2015-04-171-1/+1
|
* Warn on bad use of include_lib but try to find the header anywayTristan Sloughter2015-04-111-19/+33
|
* rm old beams, make erlcinfo graph per app isntad of global to projectTristan Sloughter2015-04-101-13/+33
|
* pass objectfile name to opts_changed instead of recalculatingTristan Sloughter2015-04-101-6/+4
|
* remove comment that doesn't apply to rebar3Tristan Sloughter2015-04-101-1/+0
|
* properly compare list of opts and not against undefinedTristan Sloughter2015-04-101-1/+1
|
* remove unneeded string:tokens for target_baseTristan Sloughter2015-04-091-2/+1
|
* fix process attr for include_lib that is just a filenameTristan Sloughter2015-04-081-22/+22
|
* breakout needs compile check from compile_xrl_yrlTristan Sloughter2015-04-081-1/+4
|
* merge rebar2's Refactor logic and optimizations in ↵Tristan Sloughter2015-04-071-274/+161
| | | | rebar_erlc_compiler:doterl_compile/4 #467
* compile source from the symlinked directories under `_build` toalisdair sullivan2015-03-081-3/+7
| | | | get correct compile paths included in module info
* switch from loading modules to read compile info to using `beam_lib`alisdair sullivan2015-03-051-16/+13
| | | | fixes #216 and #220
* change from post-purging modules after checking their module info toalisdair sullivan2015-03-031-4/+2
| | | | pre-purging before checking to facilitate long do chains
* copy project apps to deps output dir for compilationTristan Sloughter2015-02-281-14/+12
|
* 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