summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* special handling of relx configs in profilesTristan Sloughter2015-11-262-22/+3
| | | | | | | | | | | Relx config need new values at the end of the list and profile additions prepended. So now in apply_profile in the case it is a relx config we prepend the config list. This does, however, mean that a profile release can not 'extend' a release defined in the default profile since the one being extended would have its definition after the profile release and thus relx would not be able to use its values for extending.
* preserve attributes when copying files in rebar_utils:cp_r for unixTristan Sloughter2015-11-251-1/+1
|
* if a provider of the same namespace and name already exists, skip adding new ↵Tristan Sloughter2015-11-232-1/+19
| | | | provider
* Handle force flags in leading positionFred Hebert2015-11-191-1/+5
| | | | The checking of flags and the parsing of arguments is separated up.
* only add package list of versions to registry if it has the right buildtool ↵Tristan Sloughter2015-11-171-2/+14
| | | | support
* error on ct/eunit argument errors instead of warningalisdair sullivan2015-11-152-137/+186
|
* warn on incorrectly specified test options in `rebar.config`alisdair sullivan2015-11-142-14/+47
| | | | | | | when `ct_opts`, `eunit_tests`, `eunit_first_files`, `ct_first_files`, `erl_first_files`, `eunit_compile_opts`, `ct_compile_opts` and `erl_opts` have values that are single non-list terms warn and try wrapping them in a list when processing them in the `eunit` and `ct` providers
* 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.
* Back to git versions for sourceFred Hebert2015-11-141-1/+1
|
* Bump to beta-4Fred Hebert2015-11-141-1/+1
|
* Fix IO locking up in shell appsFred Hebert2015-11-141-5/+19
| | | | | | | | | | | | | | | | | | | | | Application masters are booted at the root of apps, and take over the group leader role to redirect IO. To cut the chain short and properly have their role inherited, they are their own leader, and keep a reference to the old leader in their internal state, which we cannot change. This is done so process ownership to a given application can be established, and allows to properly clean up resources outside the supervision tree when an app is shut down. This patch goes around and finds all processes whose group leaders are application masters older than the new `user' process booted by the shell providers, and swaps them with that new `user'. This lets the application masters survive, and fixes the blocking IO issue (resolving issue #899) This may mean an incomplete clean up is down on application shutdown, but that seems like a fair compromise.
* Merge pull request #918 from tsloughter/eunit_formattersFred Hebert2015-11-132-4/+16
|\ | | | | include Sean Cribbs eunit formatter by default
| * add space before end so eyes don't bleedTristan Sloughter2015-11-131-1/+1
| |
| * include Sean Cribbs eunit formatter by defaultTristan Sloughter2015-11-132-4/+16
| |
* | Feature: rebar shell [--script <FILE>]Geoff Cant2015-11-131-29/+131
|/ | | | | | | | | | | | | | | | | Adds the ability to run an escript before starting the apps and interactive shell for a project. This is intended to improve the local development experience for projects by providing an easy way to run companion services (mock rest APIs, databases etc) that the project relies on. This patch also adds {shell, Defaults} to the rebar config file so that a project can supply default values for many of the new or improved 'rebar3 shell' options: * {apps, OTPApps} * {script_file, EscriptFileName} * {config, ConfigFileName} The order of option precedence is command line, rebar.config, relx.
* Merge pull request #917 from ferd/ct-readableFred Hebert2015-11-132-2/+36
|\ | | | | Prettify all of common test output.
| * Optionally disable readable outputFred Hebert2015-11-131-10/+26
| |
| * Add cth_readable to dep listFred Hebert2015-11-131-0/+1
| |
| * Prettify all of common test output.Fred Hebert2015-11-131-2/+19
| | | | | | | | | | | | | | | | | | | | This uses cth_readable to: - silence error_logger output to the shell unless a test fails - silence ct:pal output to the shell unless a test fails I have currently not baked in any way to disable this behaviour, but I figured if it is required, there is time to do it before the final 3.0.0 release.
* | fix typo of guarantee. h/t evanTristan Sloughter2015-11-121-1/+1
|/
* do not sort mib_first_files during merge_opts, order must be keptTristan Sloughter2015-11-071-0/+4
|
* calculate coverage info as late as possible in ct provider executionalisdair sullivan2015-11-051-3/+4
|
* Merge pull request #905 from talentdeficit/cover_fixesTristan Sloughter2015-11-041-14/+18
|\ | | | | fixes for cover under new compiler/eunit/ct
| * fixes for cover under new compiler/eunit/ctalisdair sullivan2015-11-011-14/+18
| | | | | | | | | | | | * only try to cover compile directories that actually exist * recover from failures where source files don't contain required attributes for cover compilation and print warning
* | add warning about `auto_compile`alisdair sullivan2015-11-021-3/+10
| |
* | reenable support for most command line options and rename `ct_tests` to ↵alisdair sullivan2015-11-011-8/+35
| | | | | | | | `ct_opts`
* | support atom suites in `ct_tests`alisdair sullivan2015-11-011-17/+29
| |
* | refactor `rebar_prv_common_test`alisdair sullivan2015-11-011-373/+311
| | | | | | | | | | | | | | | | * remove partial support for ct `test_spec` until it can be done properly and warn if `test_spec` is present in test opts * use new compiler functionality to reduce complexity of provider * reduce command line options available to those that can be supported properly
* | Merge pull request #906 from tsloughter/plugins_list_fixFred Hebert2015-11-011-12/+15
|\ \ | | | | | | fix #903: use app discover of entire plugins dir when listing
| * | fix #903: use app discover of entire plugins dir when listingTristan Sloughter2015-11-011-12/+15
| | |
* | | Merge pull request #900 from fishcakez/dialyzer-missingTristan Sloughter2015-11-011-5/+16
|\ \ \ | | | | | | | | Rebuild PLT when beams no longer exist
| * | | Rebuild PLT when beams no longer existJames Fish2015-10-311-5/+16
| | | |
* | | | add an option to soft purge rather than purge old codealisdair sullivan2015-11-013-10/+12
| |_|/ |/| | | | | | | | | | | at the cost of some SASL warnings this prevents rebar3 from terminating processes when reloading their code before running tests
* | | Merge pull request #895 from talentdeficit/delay_eunit_validationFred Hebert2015-11-011-23/+24
|\ \ \ | | | | | | | | delay validation of eunit tests until just before running
| * | | delay validation of eunit tests until just before runningalisdair sullivan2015-10-301-23/+24
| | |/ | |/|
* | | prevent rebar3 from reloading it's own path and terminating itselfalisdair sullivan2015-10-311-1/+7
| | | | | | | | | | | | | | | prevents code reloading by temporary marking of rebar3's ebin dir as sticky during code refresh
* | | Merge pull request #896 from talentdeficit/test_bootstrapTristan Sloughter2015-10-312-21/+23
|\ \ \ | |_|/ |/| | move test profile bootstrap into core
| * | move test profile bootstrap into corealisdair sullivan2015-10-302-21/+23
| |/
* | dedup `src_dirs` and `extra_src_dirs` on readalisdair sullivan2015-10-301-3/+3
|/
* only clean project apps once even when doing --allTristan Sloughter2015-10-271-8/+8
|
* Merge pull request #883 from talentdeficit/erlc_compiler_refactorTristan Sloughter2015-10-277-229/+430
|\ | | | | compiler refactor/eunit & ct fixes
| * remove unnecessary filtering of checkapps from project apps in `rebar_prv_eunit`alisdair sullivan2015-10-261-16/+4
| |
| * restore debug calls to `rebar_erlc_compiler` and `rebar_prv_eunit`alisdair sullivan2015-10-262-9/+11
| |
| * refactor `rebar_erlc_compiler`alisdair sullivan2015-10-267-209/+427
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | return more useful error message (failed to download) when pkg http req failsTristan Sloughter2015-10-261-12/+16
| |
* | Allow non-default checkouts dir for relxFred Hebert2015-10-171-1/+1
| | | | | | | | fixes #872
* | Added comments to explain the utf8 symbols BinaryByaruhanga Franklin2015-10-141-3/+3
| |
* | removing the /utf8 flag and using the the exact utf-8 value in bytesByaruhanga Franklin2015-10-131-3/+3
| | | | | | removing the /utf8 flag and using the the exact utf-8 value in bytes to make it compatible with compilers <17
* | Fix for issue #859 - unicode rendering of deps tree based on PR #865Byaruhanga Franklin2015-10-131-3/+3
|/ | | | Fix for issue #859 - unicode rendering of deps tree based on PR #865 modified PR #865 to the /utf8 flag indicates this is supposed to be a UTF8 string.