| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #2159; this is done by force-reloading the handlers to match the
config.
This can create a bit of a funny effect if sys.config specifies an INFO
log level (or lower) is specified. While apps are booted for config
changes before the cth_failonly hook is enabled, supervision and other
application log messages can start being output. They will start being
suppressed once the CT run begins.
This is not a bug, it's a race in instantiation of control and enabling
of log levels. Nothing we can do about that. It might however surprise
people a good bit. If non-default stdout handlers are added, they are
similarly likely to become noisy; specifying a test-specific sys.config
file may be necessary then.
Also includes a bump of cth_readable version, which now checks for
updates to the log formatter on every test output.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- fix some bad typespec
- bump the meck version for good fortune
|
|
|
|
| |
fixed #2063
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- vendor in hex_core at v0.5.0
- Change where repo_name should be the org and not the parent
- Changed rebar_utils:url_append_path/2 to not explicitly add a '?',
this is returned in the Query chunk by http_uri:parse/1 (e.g., "?foo=bar")
- update organization_merging test to expect the sub-repo as the repo_name
- Add tests for rebar_utils:url_append_path/2
- Stop referencing/setting "organization" in config and use new
organization settings (api_repository and repo_organization)
- Do not set (assume) the read key is valid for any/every repo
- Set repo_organization and api_repository to org
- Update tests to check for new config opts
|
|
|
|
|
| |
Handles some internal changes in logger in OTP-21.2 that broke the
follow-up error printouts after the first failure of a CT run
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* bump bbmustache to version 1.6.0
* Use alternative bbmustache brackets in templates
This fixes the problems where literal nested tuples (`{{a,b},c}` or
`{{a,b}}`) would blow up and spaces needed to be inserted.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
Includes an update to parse_trans on an OTP-21 friendly version
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Also small output fix in rebar3 shell
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When allowing Dialyzer to work internally, we moved a bunch of
config (such as no_debug_info) to the prod profile, but the escript
included files remained locked onto the default profile.
Because the bootstrapping phase now happened in a prod run, the priv/
dirs were never created for the default profile unless a prior run
existed, which hid the bug from us.
This patch overrides the path on the prod profile so that we don't rely
on accidental leftovers for things to work on a bootstrap phase as a
dev.
|
|
|
|
|
| |
fixes an issue when shell is terminated with an error "Bus error: 10",
on attempt to run rebar shell with verbose logging
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Had mistakenly only disabled it for deps.
|
|
|
|
| |
Based off a macro by @okeuday at https://github.com/erlang/otp/pull/1783
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Some still remain from erl_type calls from Dialyzer, but most of them
are handled.
Decided to just ignore rebar_alias since playing with the type specs of
abstract code format is just a nightmare and hard to do cross-versions I
guess.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We got funny interactions since PR #1656:
- the last `debug_info`-related option seen in a list of options after
profile merge is kept, allowing later profiles from overtaking earlier
ones
- if you go `rebar3 as a,b,c compile`, the options from profile A come
before B, which come before C, so C's options win
- overrides are applied in order of profile as well, giving a priority
to a later profile than an earlier one
- The values in overrides are prepended rather than suffixed to the
existing list
- this means if we have to overrides adding options, such as `default`
adding `no_debug_info', and `dialyze` adding `debug_info`, the
results are `[debug_info]` as `dialyze` is applied first, and then
`[no_debug_info, debug_info]` as `default` overrides are applied
- the final result is `no_debug_info` always winning when erl_opts are
overriden specifically.
only `debug_info` options are going to suffer this, and in the context of
overrides. Other `erl_opts` should be fine. I'm not sure how that can be
fixed at all.
In the meanwhile, we can add support back while leaving the default to
not having debug information. This is done by:
- moving all `no_debug_info` options to the `prod` profile
- forcing `prod` to be called by `./bootstrap` so that most people keep
getting no debug info
- anyone calling `rebar3 clean -a` and then rebuilding with `rebar3
escriptize` (i.e. rebar3 devs) get debug info going
This is up for review and discussion.
|
|
|
|
| |
Fixes some lager warnings since config changes
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The path reloading of plugins had been fixed properly, but the problem
is that the paths it was using to re-load only considered the current
compile step, rather than the overall state of plugins. As such, the
reloaded paths after plugin compilation only reloaded the *latest*
plugin and not the other ones.
This fix forces the addition of all built plugin paths to the code paths
after a plugin compile job is run. This ensures that the path is clean
for initial plugin deps (only add those that are required), and is
re-made total after the fact (add all the plugins possible).
This commit also includes a system tests suite that can be run
optionally; the problem with this plugin mechanism was impossible to
find through mocked dependencies, and a working counterexample was
provided to us. The systest suite can be run against real projects
without conflict to make sure no regressions are hit.
|
|\
| |
| | |
Bump cth_readable to 1.3.2
|
| |
| |
| |
| | |
Eliminates a lager warning due to config format deprecation
|
|/ |
|
| |
|