summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Upgrade relx, erlware_commons and cfLuis Rascao2016-11-272-9/+9
| | | | | | relx ~> 3.22.0 erlware_commons ~> 0.22.0 cf ~> 0.2.2
* Merge pull request #1382 from sirihansen/siri/recursive-optFred Hebert2016-11-255-38/+185
|\ | | | | Add 'recursive' option
| * Add 'recursive' optionSiri Hansen2016-11-215-38/+185
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #1385 from waisbrot/missing-package-errorFred Hebert2016-11-231-1/+1
|\ \ | | | | | | Unify different styles of missing_package error
| * | expect the `missing_package` error to have arity 2 or 3Nathaniel Waisbrot2016-11-231-1/+1
| |/
* | Merge pull request #1388 from tsloughter/default_s3_regionFred Hebert2016-11-221-1/+0
|\ \ | | | | | | use default region for s3 deployment
| * | use default region for s3 deploymentTristan Sloughter2016-11-221-1/+0
|/ /
* | Merge pull request #1387 from ericmj/emj-rebar-config-envFred Hebert2016-11-223-9/+18
|\ \ | | | | | | Always read REBAR_CONFIG env var when loading config
| * | Always read REBAR_CONFIG env var when loading configEric Meadows-Jönsson2016-11-223-9/+18
| | |
* | | Merge pull request #1374 from tsloughter/nightlyalisdair sullivan2016-11-221-7/+21
|\ \ \ | |_|/ |/| | upload rebar3 escript for every merge to master to rebar3-nightly
| * | upload rebar3 escript for every merge to master to rebar3-nightlyTristan Sloughter2016-11-221-7/+21
| |/
* | Merge pull request #1380 from ferd/fix-self-edocFred Hebert2016-11-202-11/+5
|\ \ | | | | | | Allow rebar3 to edoc itself
| * | Allow rebar3 to edoc itselfFred Hebert2016-11-172-11/+5
| |/
* | Merge pull request #1381 from ferd/fix-dialyzer-warningsFred Hebert2016-11-2011-53/+42
|\ \ | |/ |/| Fix rebar3 dialyzer warnings
| * Fix rebar3 dialyzer warningsFred Hebert2016-11-1911-53/+42
|/ | | | Some tricky changes in there but should be okay
* Merge pull request #1370 from fishcakez/dialyzer-exclude_modsalisdair sullivan2016-11-082-59/+141
|\ | | | | Add exclude_apps/mods, plt_extra_mods, base_plt_mods config
| * Add exclude_apps/mods, plt_extra_mods, base_plt_mods configJames Fish2016-11-032-59/+141
| | | | | | | | | | | | | | * exclude_apps - never use applications for PLT/analysis * base_plt_mods - add modules to base PLT (overrules exclude_apps) * plt_extra_mods - add modules to PLT (overrules exclude_apps) * exclude_mods - never use modules for PLT/analysis (overrules all)
* | Merge pull request #1371 from psyeugenic/egil/fix-usage-typoTristan Sloughter2016-11-031-1/+1
|\ \ | |/ |/| Fix usage decription of 'rebar3'
| * Fix usage decription of 'rebar3'Björn-Egil Dahlberg2016-11-031-1/+1
|/
* Merge pull request #1357 from erlang/ct_specFred Hebert2016-10-172-22/+43
|\ | | | | experimental: allow test specifications to be passed via the command line
| * fix "helpful" compiler spelling correctionalisdair sullivan2016-10-171-1/+1
| |
| * allow test specifications to be passed via the command linealisdair sullivan2016-10-172-22/+43
|/ | | | | | `rebar3 ct --spec foo.spec,bar.spec,baz.spec` now works also added support for the `join_specs` flag on the command line
* Merge pull request #1356 from ferd/prevent-as-crash-on-missing-tasksalisdair sullivan2016-10-172-3/+20
|\ | | | | Prevent crashes in `rebar3 as` with no tasks
| * Prevent crashes in `rebar3 as` with no tasksFred Hebert2016-10-172-3/+20
|/ | | | checks on hd(...) and so on could not handle empty lists
* Return to git-based vsnFred Hebert2016-10-141-1/+1
|
* Bump version to 3.3.2Fred Hebert2016-10-142-2/+2
|
* Merge pull request #1353 from tsloughter/relx_3.21.1Fred Hebert2016-10-142-3/+3
|\ | | | | upgrade relx to 3.21.1
| * upgrade relx to 3.21.1Tristan Sloughter2016-10-142-3/+3
|/
* Merge pull request #1337 from ferd/support-aliasingalisdair sullivan2016-10-134-30/+159
|\ | | | | Properly support package aliasing and alt names
| * Track package hash in memory index, add hash testFred Hebert2016-10-042-2/+60
| | | | | | | | | | | | | | | | | | | | This adds tracking of package hash in the in-memory index rather than the current `undefined' values. According to the test added, this is not necessary for transitive package dep hash chcking, but does result in a more complete index search result when doing app lookups, and could yield some optimizations on hash checks by checking from the index structure before fetching a package.
| * Add transitive alias testsFred Hebert2016-10-041-7/+75
| |
| * Update existing tests to use new index structureFred Hebert2016-10-031-1/+4
| |
| * Properly support package aliasing and alt namesFred Hebert2016-09-272-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aliasing only had a bit of ad-hoc support in rebar3, and various issues have encountered problems related to the package names not mapping properly with the application name. One such issue is https://github.com/erlang/rebar3/issues/1290 The problem has been hard to find because it only impacts transitive dependencies (not top-level ones) of other packages. The root cause for this is that the application name was not being tracked by rebar3's internal index, only the package name and its version were. When a given application was a package app, the data for the application name would be reconstructed from the lock file, but only if it were a top-level app or a dependency of a source application where parsing the lock file is necessary to know what comes next. When a transitive dependency of a package dependency was fetched, we instead read its dependencies directly from the in-memory package index within rebar3. This caused us to only read the package name and version, and lost all information regarding application name. This worked fine for most cases since for the vast majority of packages, the package name matches the app name, but failed for all aliases, which would then be moved to directories that wouldn't match the app name. This in turn broke some aspects of code analysis (in Dialyzer), or other functionality relying on static paths, such as including .hrl files from dependencies. This patch reformats the internal storage format of dependencies to align with the internal one used by rebar3, so that the app name can be carried along with the package name and its version. The fix can only work once `rebar3 update` is called so the index is rebuilt internally, and will the file cached on disk will be incompatible with older rebar3 versions. Currently, the following is not covered: - Tests - Including the package hashes of dependencies so they may match what is in a lock file -- they're being `undefined` instead, which may break some lookups. The previous format did not lend itself to hashing in the same way, and it is possible transitive deps were not being tracked properly, or worked by respecting the current package hierarchy. This will require further analysis For now this commit can allow reviewing and discussion.
* | Merge pull request #1348 from ElectronicRU/masteralisdair sullivan2016-10-133-6/+24
|\ \ | | | | | | | | | | | | Fix sys.config's handling in common_test and otherwise. closes #1289
| * | Some post-review changes:Alexander Sedov2016-10-112-0/+6
| | | | | | | | | | | | | | | - restore path after loading applications, - helpful comments.
| * | Avoid backward-compatibility-breaking changes.Alexander Sedov2016-10-113-13/+15
| | |
| * | Made reading sys.configs consistent with OTP specification.Alexander Sedov2016-10-113-10/+13
| | |
| * | Rereading system configuration sets up persistent options if possible.Alexander Sedov2016-10-111-1/+7
| | |
| * | Made Common Test load the user's applications before slurping config.Alexander Sedov2016-10-111-0/+1
| | |
* | | Merge pull request #1351 from ElectronicRU/fix_stacktraceFred Hebert2016-10-131-2/+3
|\ \ \ | |/ / |/| | Fix stacktrace printing in DEBUG=1 mode. Fixes #1347.
| * | Get stacktrace only once and as soon as possible. Fixes #1347.Alexander Sedov2016-10-131-2/+3
|/ / | | | | | | | | It turns out that pretty-printing uses throw-catch and thus garbages out the stack trace sometimes, so we should get it only once.
* | Merge pull request #1342 from lrascao/feature/OTP19.1Fred Hebert2016-10-051-1/+1
|\ \ | | | | | | Update Travis CI to latest OTP19.1
| * | Update Travis CI to latest OTP19.1Luis Rascao2016-10-051-1/+1
|/ /
* | Merge pull request #1340 from ferd/fix-test-includes-in-compileFred Hebert2016-09-302-10/+84
|\ \ | | | | | | Fix private includes when compiling in test profile
| * | Use all_src_dirs for include pathsFred Hebert2016-09-301-2/+2
| | | | | | | | | | | | Helps cover extra cases.
| * | Fix private includes when compiling in test profileFred Hebert2016-09-302-10/+84
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #1339 from inaka/elbrujohalcon.behaviorFred Hebert2016-09-283-2/+5
|\ \ | |/ |/| Add support for behaviors, and not just behaviours
| * Add support for behaviors, and not just behavioursBrujo Benavides2016-09-283-2/+5
|/
* Merge pull request #1335 from erlang/rebar-1331Fred Hebert2016-09-212-8/+37
|\ | | | | allow using an alternate regex to locate test modules during eunit runs
| * allow using an alternate regex to locate test modules during eunit runsalisdair sullivan2016-09-202-8/+37
|/ | | | | | | | {`eunit_test_regex`, Regex}` will use the supplied `Regex` instead of the default to locate tests in test dirs. note this matches only the filename, not the path. the regex is applied to all test dirs, recursively fixes #1331