summaryrefslogtreecommitdiff
path: root/test/rebar_compile_SUITE.erl
Commit message (Collapse)AuthorAgeFilesLines
* use proper skips in compiler tests that use unavailable functionsalisdair sullivan2017-02-051-17/+29
|
* Make test work on all OTPsFred Hebert2017-01-291-1/+4
|
* Add regression for #1410Fred Hebert2017-01-291-1/+33
|
* comment `ERL_COMPILER_OPTIONS` testsalisdair sullivan2017-01-281-0/+9
|
* consider `ERL_COMPILER_OPTIONS` when recompilingalisdair sullivan2017-01-281-5/+93
| | | | | | on 19.x forward the compiler should now take into consideration the value of the environment variable `ERL_COMPILER_OPTIONS` when deciding whether or not to recompile a module
* Add 'recursive' optionSiri Hansen2016-11-211-2/+40
| | | | | | | | | | | | The option {recursive,boolean()} can now be set pr directory in 'src_dirs' and 'extra_src_dirs', and on top level in the new 'erlc_compiler' option. Example config: {erlc_compiler,[{recursive,false}]}. {src_dirs,[{"src",[{recursive,true}]}]}. This will cause recursive compilation within the "src" directory, but not in any other directoires.
* Fix private includes when compiling in test profileFred Hebert2016-09-301-1/+70
| | | | | | | | | | | | | | When an include file is set in a private path (i.e. src/), the rebar3 compiler would not add them to the {i, Path} params -- only include/ and the project root were being added. This meant that when some extra source directories were added to the compile job, such as test/ when running under the test profile, the private include paths could not be shared with the test module. This patch fixes the issues (and adds tests) for such a specific case by adding all the configured include paths to the {i, Path} erl_opts arguments, yielding successful compile runs.
* recompile all files when a parse transform given as an opt needs updatingalisdair sullivan2016-09-201-2/+103
| | | | | | | | | there's no way to detect which files actually rely on a parse transform passed to the compiler via the options (as opposed to `-compile(..)` so if any parse transforms are in modules that need recompiling just recompile the world fixes #1328
* normalize include dirs to absolute paths during compilationalisdair sullivan2016-06-121-3/+42
| | | | | | | | changed include files were not properly picked up by `erlc_compiler` in cases where they were in directories relative to the application source and not the current working dir of rebar3 fixes #1199
* REBAR-1184 exclude tests for `ERL_COMPILER_OPTIONS` on r15alisdair sullivan2016-06-111-2/+5
|
* REBAR-1184 always recompile if `ERL_COMPILER_OPTIONS` env var is setalisdair sullivan2016-06-111-2/+45
| | | | partially addresses #1184
* Add module directory to include pathLuis Rascao2016-01-261-2/+64
| | | | | | | | | | 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
* only apply default and prod profile to dependenciesTristan Sloughter2016-01-091-5/+35
|
* remove mib header file in `priv/mibs/include'alisdair sullivan2015-12-081-6/+0
|
* symlink mib hrl output in apps `include' directoriesalisdair sullivan2015-12-061-0/+6
| | | | this restores compatibility with rebar2 and erlang.mk
* Added tests and fixed a bugPhil Toland2015-12-011-4/+10
|
* refactor `rebar_erlc_compiler`alisdair sullivan2015-10-261-73/+560
| | | | | | | | | | | | | | | | | | | * 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-30/+1
| | | | | | compiled" This reverts commit 9d82215296205d2d30c152c7d7c6fcb8e4a92443.
* Support proper paths in non-erl first filesFred Hebert2015-10-121-2/+51
| | | | | 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-2/+31
| | | | to `rebar_erlc_compiler`
* override 'deps' now automatically overrides '{deps,default}'Tristan Sloughter2015-08-231-2/+42
|
* Add tests for mixed deps installsFred Hebert2015-08-161-1/+2
| | | | | Requires a rework of other test suites using the same dep-handling mechanism.
* add test for clean --allTristan Sloughter2015-07-281-2/+36
|
* do not install profile deps of depsTristan Sloughter2015-07-181-2/+27
|
* only look for top level apps and those directly under apps/ or lib/Tristan Sloughter2015-07-161-4/+4
|
* ensure necessary directories exist to compile mibs filesTristan Sloughter2015-07-061-3/+49
|
* Fixed two tests for windows 8.1 and added touch functionalityDaniel Widgren2015-06-261-3/+5
|
* Adding erl_first_files testFred Hebert2015-06-261-2/+44
| | | | | | The test works by using a parse transform that stamps modules with an attribute as it runs them. It then compiles everything, loads the module, and makes sure the stamps respect the defined order.
* plugins providerTristan Sloughter2015-06-181-132/+1
|
* store plugin providers in app_info's state for depsTristan Sloughter2015-05-281-17/+13
|
* add test for plugin with transitive depsTristan Sloughter2015-05-271-1/+52
|
* install plugins from the global config to ~/.cache/pluginsTristan Sloughter2015-05-171-2/+55
|
* enable parse transformations in rebar configTristan Sloughter2015-04-261-2/+25
|
* track and cleanup code paths for different contextsTristan Sloughter2015-04-211-5/+8
|
* add test for single atom pkg dep picking the highest availableTristan Sloughter2015-04-111-2/+28
|
* rm old beams, make erlcinfo graph per app isntad of global to projectTristan Sloughter2015-04-101-2/+21
|
* test touching a header file causes module recompiledTristan Sloughter2015-04-101-2/+39
|
* test building of deps pluginsTristan Sloughter2015-04-041-2/+34
|
* treat _checkouts as deps that are always compiledTristan Sloughter2015-03-211-3/+124
|
* compile source from the symlinked directories under `_build` toalisdair sullivan2015-03-081-0/+27
| | | | get correct compile paths included in module info
* switch from loading modules to read compile info to using `beam_lib`alisdair sullivan2015-03-051-12/+2
| | | | fixes #216 and #220
* change from post-purging modules after checking their module info toalisdair sullivan2015-03-031-2/+13
| | | | pre-purging before checking to facilitate long do chains
* copy project apps to deps output dir for compilationTristan Sloughter2015-02-281-7/+7
|
* don't unescessarily recompile yrl/xrl filesalisdair sullivan2015-02-221-2/+43
| | | | fixes #175
* check already compiled modules compile arguments against current compilealisdair sullivan2015-02-161-2/+56
| | | | arguments to ensure compile results as as intended
* MORE TESTSFred Hebert2014-12-291-2/+23
|
* Adding tests for checkouts being found & compiledFred Hebert2014-12-291-4/+21
|
* Add release-structured compiling testsFred Hebert2014-12-241-2/+17
|
* Fix up programmatic interface to rebar3Fred Hebert2014-12-211-1/+1
| | | | Now supports arbitrary commands
* Partial fix to circular deps (#40)Fred Hebert2014-12-061-1/+1
| | | | | | | | | - Adding tests - fixing use of set fetching to find repeated deps and prevent infinite loops On a circular loop rebar3 now fails with `{error, no_sort}`, which is uncaught and should be handled to consider the issue fully fixed.