summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* compiler behaviour (#1893)Tristan Sloughter2018-10-0520-905/+1080
| | | | | | | | | | | | | | | | * add compile type for dynamic project compilation * new rebar_compiler abstraction for running multiple compilers rebar_compiler is a new behaviour that a plugin can implement to be called on any ues of the compile provider to compile source files and keep track of their dependencies. * fix check that modules in .app modules list are from src_dirs * use project_type to find module for building projects * allow plugins to add project builders and compilers
* upgrade relx and set base_dir in overlay_vars (#1902)Tristan Sloughter2018-10-051-1/+2
|
* warn if the matched package is retired, skip prerelease (#1897)Tristan Sloughter2018-10-013-33/+58
| | | | | | | retired packages are now used the same as any other but a warning will be printed when it is resolved. prerelease versions are skipped unless explicitly given as the version in the constraint or lock file.
* properly support top level app erl_opts from REBAR_CONFIG os var (#1889)Tristan Sloughter2018-09-214-39/+54
| | | | | | When REBAR_CONFIG was set it would not effect the top level app's configuration because app_discover was rereading the top level rebar.config which ignored REBAR_CONFIG. Instead this patch has it use the existing configuration from REBAR_CONFIG.
* add option to compiler provider to only build dependencies (#1888)Tristan Sloughter2018-09-191-7/+25
|
* only print skip warning if version is different (#1886)Tristan Sloughter2018-09-171-6/+18
|
* reset default profile app plugins to empty if at the top level (#1885)Tristan Sloughter2018-09-172-23/+45
| | | | | | | | | | | top level default profile plugins are installed in the run_aux function. This commit removes the plugins from the plugin opts of an application that is also at the top level and skips the default profile when installing top level plugins in project_apps_install so they aren't handled twice. Additionally, before handling a plugin the state's list of known plugin apps is checked and the plugin is skipped if it has already been handled.
* Back to git-based versioningTristan Sloughter2018-09-131-1/+1
|
* Bump to 3.7.0-rc1Tristan Sloughter2018-09-131-1/+1
|
* support for hex v2, multiple repository fetching, private organizations (#1884)Tristan Sloughter2018-09-1330-1061/+1520
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * update to hex_core for hex-v2 repo support (#1865) * update to hex_core for hex-v2 repo support This patch adds only single repo hex-v2 support through hex_core. Packages no longer filtered out by buildtool metadata and the package index is updated per-package instead of fetched as one large ets dump. * tell travis to also build hex_core branch * support list of repos for hex packages (#1866) * support list of repos for hex packages repos are defined under the hex key in rebar configs. They can be defined at the top level of a project or globally, but not in profiles and the repos configured in dependencies are also ignored. Searching for packages involves first checking for a match in the local repo index cache, in the order repos are defined. If not found each repo is checked through the hex api for any known versions of the package and the first repo with a version that fits the constraint is used. * add {repos, replace, []} for overriding the global & default repos * add hex auth handling for repos (#1874) auth token are kept in a hex.config file that is modified by the rebar3 hex plugin. Repo names that have a : separating a parent and child are considered organizations. The parent repo's auth will be included with the child. So an organization named hexpm:rebar3_test will include any hexpm auth tokens found in the rebar3_test organization's configuration. * move packages to top level of of hexpm cache dir (#1876) * move packages to top level of of hexpm cache dir * append organization name to parent's repo_url when parsing repos * only eval config scripts and apply overrides once per app (#1879) * only eval config scripts and apply overrides once per app * move new resource behaviour to rebar_resource_v2 and keep v1 * cleanup use of rebar_resource module and unused functions * cleanup error messages and unused code * when discovering apps support mix packages as unbuilt apps (#1882) * use hex_core tarball unpacking support in pkg resource (#1883) * use hex_core tarball unpacking support in pkg resource * ignore etag if package doesn't exist and delete if checksum fails * add back tests for bad package checksums * improve bad registry checksum error message
* Back to git-based versioningFred Hebert2018-09-131-1/+1
|
* Bump to 3.6.2Fred Hebert2018-09-131-1/+1
|
* Reload logger config in shellFred Hebert2018-09-102-3/+52
| | | | | | | | | | | | | This requires some fancy dynamic work since the logger is started as part of the kernel and we lost the sys.config from users when working from there. We start conservatively by making it an optional thing, turning it on only where we know it to be safe. The changes are applied _after_ having loaded the rest of configs so if an inoffensive error happens, the shell works (with a bad error message) rather than plain exploding.
* add report in the effects_code_generation, as it is the short form for both ↵Gerald Xv2018-09-051-0/+1
| | | | report_errors and report_warnings
* Merge pull request #1850 from ferd/helpful-includelib-errorFred Hebert2018-08-031-3/+13
|\ | | | | Friendlier output on include_lib errors
| * Friendlier output on include_lib errorsFred Hebert2018-08-031-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turns output like this: ===> Compiling apps/c/src/c.erl failed apps/c/src/c.erl:3: can't find include lib "parse_trans/include/codegen.hrl" Into: ===> Compiling apps/c/src/c.erl failed apps/c/src/c.erl:3: can't find include lib "parse_trans/include/codegen.hrl"; Make sure parse_trans is in your app file's 'applications' list Which is likely going to help newcomers encountering issues.
* | fixed typo erl_first_filesShamis Shukoor2018-08-031-1/+1
|/
* Merge pull request #1780 from feng19/refresh_pathsFred Hebert2018-07-111-24/+85
|\ | | | | smarter shell code reloading, add env options for refresh_paths & refresh_paths_blacklist
| * remove some refresh_paths's options(no_deps and no_test) & use ↵feng192018-07-111-24/+8
| | | | | | | | beam_lib:md5/1 to get the module's vsn
| * Merge tag '3.6.0' into refresh_pathsfeng192018-06-2111-66/+162
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bump to 3.6.0 - Introduce support of add and del operations for overrides - OTP-21 compatibility - Bump cth_readable for OTP-21 compat - upgrade relx to 3.25.0 - upgrade bbmustache to 1.5.0 - run compile provider in default namespace from bare compiling (fixes hooks for mix builds) - Resolve string vs list crashing rebar3 in erl_first_files - Create ERLANG_LIB_*_erl_interface environment variables only if erl_interface exists - Add hooks to the upgrade command - Add --start-clean flag to rebar3 shell - Auto-boot main app in OTP app project templates - Use maps for child spec examples in templates
| * | add option(refresh_paths & refresh_paths_blacklist) for support set ↵feng192018-05-071-24/+101
| | | | | | | | | | | | refresh_paths when recompile
* | | Fix for atoms in erl_first_filesBryan Paxton2018-06-281-1/+20
| | |
* | | Back to git-based versioningFred Hebert2018-06-251-1/+1
| | |
* | | Bump to 3.6.1 -- fixing eperm issuesFred Hebert2018-06-251-1/+1
| | |
* | | otp21 eperm fix for local install/upgrade, no need to set uid/gidTristan Sloughter2018-06-251-7/+1
| | |
* | | Back to git-based versioningFred Hebert2018-06-191-1/+1
| |/ |/|
* | Bump to 3.6.0Fred Hebert2018-06-191-1/+1
| |
* | Finish adding specs for private funs in rebar3.erlBryan Paxton2018-06-111-0/+5
| | | | | | | | | | | | | | | | | | - added type specs for following private functions: - run/1 - set_options/2 - test_state/1 - safe_define_test_macro/1 - test_defined/1
* | run compile provider in default namespace from bareTristan Sloughter2018-06-081-1/+3
| |
* | Abort if erl_first_files is not a list of stringsBryan Paxton2018-06-082-1/+18
| | | | | | | | - resolves #1645
* | fix #1808Gonçalo Tomás2018-06-081-20/+34
| |
* | Merge pull request #1798 from juise/masterFred Hebert2018-06-061-26/+57
|\ \ | | | | | | Introduce support of add and del operations under erl_opts directive
| * | Introduce support of add and del operations under erl_opts directiveAlexander Petrovsky2018-05-311-26/+57
| | |
* | | Merge pull request #1802 from ferd/upgrade-hooksFred Hebert2018-06-061-0/+13
|\ \ \ | | | | | | | | Add hooks to the upgrade command
| * | | Add hooks to the upgrade commandFred Hebert2018-06-051-0/+13
| |/ / | | | | | | | | | As requested in #1733
* | | Add --start-clean flag to rebar3 shellFred Hebert2018-06-051-2/+10
|/ / | | | | | | | | | | | | Allows override of apps specified in other on-disk options. Equivalent to `--apps=""` Fixes #1785
* | Logger OTP-21-rc2 supportFred Hebert2018-05-301-1/+1
| | | | | | | | Also small output fix in rebar3 shell
* | return to git-based versioningFred Hebert2018-05-091-1/+1
| |
* | bump to 3.5.3Fred Hebert2018-05-091-1/+1
| |
* | start at least one async thread in async thread poolGrigory Starinkin2018-05-082-2/+2
| | | | | | | | | | fixes an issue when shell is terminated with an error "Bus error: 10", on attempt to run rebar shell with verbose logging
* | Logger support in cth_readable; compact CT outputFred Hebert2018-05-051-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cth_readable 1.4.0 supports the new logger interface from OTP-21, which likely breaks compatibility with R16 builds. It also includes a new compact interface, displaying output such as: ===> Running Common Test suites... %%% rebar_alias_SUITE: ...... %%% rebar_as_SUITE: ........... %%% rebar_compile_SUITE:................................ ............................ %%% rebar_compile_SUITE ==> test_name: SKIPPED %%% rebar_compile_SUITE ==> {tc_user_skip,"compile:env_compiler_options/0 available"} .. %%% rebar_cover_SUITE: ............. %%% rebar_ct_SUITE: .................................... Allowing to display more tests within less screen space. This mode has been added to the ct_readable option under the name 'compact' (now supporting true | false | compact), and has been made default for rebar3.
* | Return to git-based versioningFred Hebert2018-05-031-1/+1
|/
* Bump to 3.5.2Fred Hebert2018-05-031-1/+1
|
* Back to git-based versioningFred Hebert2018-05-031-1/+1
|
* bump to 3.5.1Fred Hebert2018-05-031-1/+1
|
* Fix handling of loosely formatted OTP_VERSION fileFred Hebert2018-05-031-6/+5
| | | | see https://github.com/erlang/rebar3/issues/1774
* Confirm lack of regressions on new logger in shellFred Hebert2018-05-031-9/+16
|
* Work around OTP-21 deprecation of get_stacktrace()Fred Hebert2018-05-0310-30/+34
| | | | Based off a macro by @okeuday at https://github.com/erlang/otp/pull/1783
* Fix symlink/copying logic in compiler for privFred Hebert2018-04-271-1/+10
| | | | | Priv and include dirs need the virtual symlink in order to preserve hook functionality in some edge cases.
* Prevent copying or symlink non-existing src_dirsFred Hebert2018-04-271-1/+4
| | | | | | | | | | This would cause crashes on linux and force people to have a src_dirs config that is strictly matching what is on the file system rather than acting as a specification of those that are valid. To compare, if lib_dirs worked the same, then any repo that did not both have apps/ and lib/ would crash, as the spec mentions both options as valid.