summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * Type specifications and edocs improvementsFred Hebert2016-11-2716-75/+686
| | | | | | | | | | | | Includes improvments and function documentation for all modules (in alphabetical order) up to rebar_core, and may have included more in other modules as I saw fit to dig and understand more of the internals.
* | Merge pull request #1407 from sirihansen/ct-testspec-optsFred Hebert2016-12-231-76/+145
|\ \ | | | | | | Improve merge of command line options and config options in CT
| * | Handle errors from ct_testspecSiri Hansen2016-12-221-3/+5
| | |
| * | Make sure ct_testspec is loadedSiri Hansen2016-12-221-0/+1
| | | | | | | | | | | | ... before calling erlang:function_exported(ct_testspec,get_tests,1).
| * | Add all dirs from test specSiri Hansen2016-12-201-12/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Parse given test specs and add all spec- and suite directories as extra_src_dirs in order to ensure that all these directories are copied to the _build area and the suites are compiled. Specs located in the project- or app root are explicitly copied to the _build area in order to avoid recursive copying of the complete directory tree.
| * | Allow using relative path to suite in project rootSiri Hansen2016-12-131-14/+1
| | |
| * | Translate path to testspecSiri Hansen2016-12-091-33/+28
| | | | | | | | | | | | | | | | | | This is a bugfix. It makes sure that the given path to a testspec is translated so common_test will pick the spec from the _build directory, and not from the source tree.
| * | Add directory of testspec as extra_src_dirSiri Hansen2016-12-081-8/+8
| | | | | | | | | | | | | | | | | | This is necessary in order to automatically get the testspec included as an artifact (i.e. copied to the _build dir) in the case when it is stored in another directory than 'test'.
| * | Improve merge of command line options and config optionsSiri Hansen2016-12-071-25/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: option 'spec' is not specifically handled when merging options from the command line with options from rebar.config. Due to this, if the config specifies a 'spec', then this will take precedence over any 'dir' and/or 'suite' on the command line. This commit takes special care of all options that can be used to select tests - meaning that if any of the options 'spec', 'dir', 'suite', 'group' or 'case' are specified on the command line, then all 'spec', 'dir', 'suite', 'group' and 'case' options in rebar.config will be ignored.
* | | eunit: remove application modules from the modules eligible to testalisdair sullivan2016-12-231-4/+5
| | | | | | | | | | | | | | | application modules will be added to the eunit test set automatically, no need to consider them for inclusion in the test set separately
* | | don't filter eunit test modules based on file extensionalisdair sullivan2016-12-221-2/+2
| | | | | | | | | | | | | | | | | | stops the eunit provider from filtering out test modules based on the file extension. previously, it was hardcoded to expect all test files ended in `.erl`. this change allows for endings like `.lfe` and `.beam`
* | | Merge pull request #1415 from lrascao/feature/rebar_shell_fixFred Hebert2016-12-161-0/+4
|\ \ \ | | | | | | | | shell: don't crash apps that use release version operators
| * | | shell: don't crash apps that use release version operatorsLuis Rascao2016-12-111-0/+4
| | | | | | | | | | | | | | | | Like for instance: {app, "0.1.0", '='}
* | | | the releases website has changedgetong2016-12-141-1/+1
|/ / /
* | | Merge pull request #1411 from ferd/fix-regex-matchesalisdair sullivan2016-12-094-4/+4
|\ \ \ | | | | | | | | Fix regex match for ignored file
| * | | Fix regex match for ignored fileFred Hebert2016-12-094-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The regex mistakenly matched too many files (any character followed by an underscore) rather than only files starting in '._' This properly escapes the expressions to work in all cases.
* | | | Merge pull request #1405 from erlang/get-depsFred Hebert2016-12-092-0/+38
|\ \ \ \ | |/ / / |/| | | add `get-deps` provider
| * | | add `get-deps` provideralisdair sullivan2016-12-072-0/+38
| |/ / | | | | | | | | | a no-op provider that depends on lock that is slightly more discoverable and user friendly
* | | Go back to git-based versioningFred Hebert2016-12-081-1/+1
| | |
* | | Bump to 3.3.3Fred Hebert2016-12-081-1/+1
| | |
* | | Use different git commands for different git versionsBjörn-Egil Dahlberg2016-12-071-13/+59
|/ / | | | | | | | | | | | | | | | | | | The option --single-branch was introduced in git version 1.7.10 and thus rebar3 cannot fetch git dependencies on systems where earlier git versions are install. This commit will select other git clone commands if an earlier git version is detected. If the git version cannot be determined rebar3 falls back on the previous behavior and uses --single-branch.
* | Restrict regexp to match on files starting with '._'Roberto Aloi2016-12-064-4/+4
| |
* | Addresses https://github.com/erlang/rebar3/issues/1397Ted Burghart2016-12-051-33/+60
| | | | | | | | | | | | Ensures merged compiler options end up in the correct order to maintain profile precedence. Moves the merge functionality from rebar_opts:merge_opts/2 to a standalone function to ease extension and debugging.
* | 1394: refined export list and testsArtem Pervin2016-12-011-2/+2
| |
* | 1394: added fix for rebar_utils, moved setting of http_options into ↵Artem Pervin2016-11-303-5/+26
| | | | | | | | init_config, added unit tests
* | Replace unprocessed ~n linebreaksFred Hebert2016-11-281-2/+2
|/ | | | Fixes #1392
* Merge pull request #1382 from sirihansen/siri/recursive-optFred Hebert2016-11-253-33/+82
|\ | | | | Add 'recursive' option
| * Add 'recursive' optionSiri Hansen2016-11-213-33/+82
| | | | | | | | | | | | | | | | | | | | | | | | 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 #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 #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
| |/
* | 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-081-57/+105
|\ | | | | Add exclude_apps/mods, plt_extra_mods, base_plt_mods config
| * Add exclude_apps/mods, plt_extra_mods, base_plt_mods configJames Fish2016-11-031-57/+105
| | | | | | | | | | | | | | * 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)
* | Fix usage decription of 'rebar3'Björn-Egil Dahlberg2016-11-031-1/+1
|/
* fix "helpful" compiler spelling correctionalisdair sullivan2016-10-171-1/+1
|
* allow test specifications to be passed via the command linealisdair sullivan2016-10-171-3/+8
| | | | | | `rebar3 ct --spec foo.spec,bar.spec,baz.spec` now works also added support for the `join_specs` flag on the command line
* Prevent crashes in `rebar3 as` with no tasksFred Hebert2016-10-171-2/+4
| | | | 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-141-1/+1
|
* Merge pull request #1337 from ferd/support-aliasingalisdair sullivan2016-10-131-14/+30
|\ | | | | Properly support package aliasing and alt names
| * Track package hash in memory index, add hash testFred Hebert2016-10-041-1/+17
| | | | | | | | | | | | | | | | | | | | 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.
| * Properly support package aliasing and alt namesFred Hebert2016-09-271-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | |