| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |\ \
|/ / /
| | |
| | | |
into lrascao-profile_dep_countertest
|
| | | |
|
|\ \ \
| | | |
| | | | |
upgrade relx to 3.24.3
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Make debug_info rules clear
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Current rebar3 uses debug_info rules where debug_info is added by
default, and no_debug_info prevents the default from being added, and
removes any explicit debug_info, if any. The problem is that if
'no_debug_info' is anywhere in the config for a run, it cannot be
removed even with other profiles. additionally, no_debug_info ignores
special tuples like {debug_info, {Mod, Data}} and {debug_info_key, Key},
which can be used to add debug info and encrypt it (in lieu of plain
debug_info) respectively.
This patch makes it so that the following rules are in place:
- the last option seen takes priority, allowing profile overrides by
the ordering rules the compiler expects
- the overriden options shall be explicitly deleted to avoid confusing
the compiler
- any option related to debug info seen last cancels any no_debug_info
that preceded it
- any no_debug_info option seen last cancels all of the other
debug_info options
- if debug_info is seen last, it cancels out {debug_info_key, Key}
- if {debug_info_key, Key} is seen last, it cancels out debug_info
- All other options are left untouched in that context (defines can
still be expanded and so on)
This should allow proper profile rules to be followed. Note that erl_opt
profile merging puts precedence on the *last* element of a list, to
match the compiler.
|
|\ \ \
| |_|/
|/| | |
Allow silencing skip warnings when fetching deps
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When fetching deps, if this is a clean repo there will be extensive
messages warning that dependencies which have already been fetched are
being skipped. For large projects being built and tested in a clean
environment this significantly increases the noise level of the build.
This modification adds an additional rebar option
(deps_warning_on_conflict) that will allow disabling these warning
messages. If deps_error_on_conflict is set, an error will still be
thrown. This will not change default behaviour of rebar.
There is a similar outstanding issue:
https://github.com/erlang/rebar3/issues/1105
However this seems to be a push for not outputting warnings when the dep
version is the same, rather than disabling warnings altogether.
|
| | |
|
| |
| |
| |
| | |
Updates relx (windows fixes) and erlware commons (strings)
|
|\ \
| | |
| | | |
upgrade relx and erlware commons
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- OTP-21 readiness, Full Unicode support, massive dep upgrade
- fixed handling of proxy username and password when fetching registry
- git versions from tag made consistent and all strip 'v' prefix
- Prevent hard crash on duplicate plugin paths
- Fix include paths in profile multiapp edge case
- Fix unlock state carry, which broke do sequences with unlock in them.
- Avoid guessing on utf8 decoding of app files
- Various fixes related to .app files
- Warn user when an unsupported local git or hg resource is used
- Corrects a fix to src_dir values
- Update eunit_formatters to latest version
- Changes in wording of warnings for more accuracy
|
|\ \
| | |
| | | |
OTP-21 readiness, Full Unicode support
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This replaces all deprecated function usage by alternative ones based on
a version switch enacted at compile time, preventing all warnings.
This will likely introduce some possible runtime errors in using a
Rebar3 compiled on OTP-20 or OTP-21 back in versions 19 and earlier, but
we can't really work around that.
A bunch of dependencies have been updated to support OTP-21 without
warnings as well.
|
|\ \ \
| | | |
| | | | |
We no longer build the nightlies, just stables
|
|/ / / |
|
|\ \ \
| |/ /
|/| | |
fixed handling of proxy username and password when fetching registry
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
git vsn from tag both strip 'v' prefix
|
|/ / |
|
|\ \
| | |
| | | |
Prevent hard crash on duplicate plugin paths
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a global plugin is used both locally and within the project, there
are cases when the rebar3 program will hard crash (killed in do_boot).
This has been traced to plugin-handling in compilation, where the same
code path may be purged twice in a row without further reloading for the
compile operation.
This of course yields the result where the code handling on the VM kills
all processes holding references to the module in memory, in this case
the rebar3 process itself.
By deduplicating the paths first, we ensure at most one purge before
reloading plugins and paths, and this prevents a hard crash.
|
|\ \
| |/
|/| |
Fix include paths in profile multiapp edge case
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The compiling of OTP applications is done by first topographically
sorting them according to their dependencies, deps-first. This allows
all compilation to take place in order. In the current code, the same
logic extends to top-level applications in an umbrella project.
Unfortunately, there are cases where this is not going to be true: when
an application has extra_src_dirs entries (or additional directories or
files) to conditionally compile under some profiles, it may start
depending on another top-level application dedicated to that profile for
include files.
However, such an app will never make it to production and neither will
the compilation artifacts that create the dependency. Under that
scenario, current rebar3 is unusable.
This patch makes it so that the compilation provider instead changes the
logic for top-level apps: rather than copying their directories one by
one and compiling them in order, it:
1. copies all top-level apps to the build directory so the files are in
their proper locations
2. adds the top-level apps to the path (after the global hooks have run,
so the existing scope and env has not changed)
3. runs the compilation as usual.
Fixes #1651
|
|\
| |
| | |
Fix unlock state carry, which broke `do` sequences with `unlock` in them.
|
| | |
|
| |
| |
| |
| |
| | |
When composed with 'do', not carrying the unlocks in state may create
problems.
|
|\ \
| |/
|/| |
Avoid guessing on utf8 decoding of app files
|
|/
|
|
|
|
|
|
|
| |
Rather than trying one method and then the other, allow the caller to
specify the encoding of the expected file. All other schemes are risky
and won't work well.
Rollback the function's default interface to the binary format in case
any plugin used it for non-unicode content, preserving backwards compat.
|
|\
| |
| | |
Various fixes related to .app files
|
| |
| |
| |
| | |
Getting real tired of that nondeterministic set of runs on OSX CI
|
| |
| |
| |
| |
| | |
Same default value as used in relx and other environments, but as
reported in #979 some tools don't like having no description available.
|
| |
| |
| |
| |
| |
| |
| | |
The parsing functions were used inconsistently, and the returned values
were bad in some clauses; things only worked because they are never used
within rebar3. This ensures the return types are consistent on all
clauses.
|
| |
| |
| |
| | |
was still hardcoded to 3.4.4
|
|\ \
| |/
|/| |
Warn user when a local git or hg resource is used
|
|/
|
|
| |
Those aren't supported and so a warning should be output. Fixes #1003
|
|\
| |
| | |
Corrects a fix to src_dir values
|
|/
|
|
|
|
|
|
|
|
| |
The previous patch at #7c959cc fixed the usage of duplicate values
for directories through relative paths, but mistakenly went overboard
and dropped the `./` path, which is still fairly common. Similarly for
`../".
The code is modified to special-case such values and keep the code
working.
|
|\
| |
| | |
Update eunit_formatters to latest.
|
| | |
|
|/ |
|
|\
| |
| | |
Changes word 'transient' to 'transitive' which is what it is supposed to say
|
|/ |
|
| |
|
|
|
|
|
|
|
|
| |
- fix sys config merging
- Fix relative src_dir specifications to avoid
double .app.src file detection
- Recompile when include files change in
non-default directories
|
|\
| |
| | |
fix sys config merging
|
| | |
|