| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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
|
| | |
|
|\ \
| |/
|/| |
Fix relative src_dir specifications to avoid double .app.src file detection
|
| |
| |
| |
| |
| |
| |
| |
| | |
When fetching src_dir values, some relative paths can be inserted. When
deduplicating the paths on the fetch, this fact means that logically
duplicate (but literally different) directories can be returned at once.
By normalizing the names, duplication bugs can be resolved.
|
|\ \
| |/
|/| |
Recompile when include files change in non-default directories
|
|/ |
|
| |
|
| |
|
|\
| |
| | |
add erlang 20 for CI
|
| | |
|
|\ \
| |/
|/| |
fix `rebar3 shell` when relx section of rebar.config contains release…
|
|/
|
|
| |
independent configurations
|
|\
| |
| | |
Support Windows with non-NTFS filesystems
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The code for symlink handling failed whenever a win32 platform with no
symlink capability would be detected. This patch is provided by
William H from the support ticket at
http://www.rebar3.org/v3/discuss/598225c90365bb00144bc07f, which
adds detection of failures in non-NTFS scenarios on Win32, and then
copies files instead of bailing out.
The end result should be appropriate support for such a platform.
|
|\ \
| | |
| | | |
Fix ordering of overlays and overlay vars in Relx
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Specifically, this impacts profiles. It appears that relx as a whole
requires its configuration to be merged in one tuple order (New takes
precedence over Old), whereas the overlays require the opposite (Old
takes precedence over New) since the operation order on disk is
important to work well.
This patch reorders overlay values such that the overlay of a profile
takes place *after* the basic overlay, ensuring that the profile actions
take place after the basic ones; this allows profiles to properly
overwrite files as expected (see #1609)
This is done while adequately maintaining the order of operations that
were required as part of #1563
Overlay vars of profiles are also checked to be working fine, along with
a test.
This fixes #1247 and #1609
|
|\ \ \
| | | |
| | | | |
Add an alias of 'release' template as 'umbrella'
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
Gets in line with more common usage of the wording, as discussed in
issue #1421 and
https://www.reddit.com/r/erlang/comments/6sd01p/help_terribly_frustrated_with_the_erlang_build/
|
|\ \ \
| | | |
| | | | |
Remove duplicate ebins from escripts
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
During the building of escripts, multiple passes are done. Two of them
may end up duplicating content: one that gathers all of the beam files
that will be needed for the app to work, and a second one that goes over
the ebin/ directory of the root application to grab all the stuff in
there, prior to the run.
This allows to grab whatever could be required for runtime without
breaking the rest (or so I think), and sticks them at the front of the
archive, where it needs to sit for things to work fine.
Whenever the ebin/ directory contains a pre-compile .beam file, it gets
fetched both from the first pass described and the latter one. This
results in duplicate entries in the resulting zip files used for the
escript and makes the executable larger than it needs to be.
The patch is a simple 1:1 removal of duplicate values. Since
large pre-populated ebin/ directories are pretty rare, this should not
be too costly for the vast majority of users.
Fixes #1577
|
|\ \ \
| |_|/
|/| | |
Fix total coverage
|
| | | |
|
| |/ |
|
|\ \
| | |
| | | |
Fix recursive profile merging, particularly for umbrella apps
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a config file exists at the root of a project, defines a given
configuration value for a given profile, and that a sub-application
(umbrella app) also has the same profile defined with the same key (but
different values), the configuration values of the sub-application's
profile would get silently dropped.
The problem being that when the function to merge profiles is applied
recursively, it is applied to each profile (so it will merge on the keys
test, prod, etc.) rather than to each of the values of each profile.
This patch reworks the profile merging so that the current behaviour is
respected overall (a profile cannot be cancelled by a subdep's
non-existant profile since its value should have been ignored), but
ensures that sub-deps' profiles are otherwise applied recursively with
the proper rules:
- dependencies favor prior values
- plugins favor new values
- erl_first_files combine the lists
- relx uses the tuple merge algorithm
- erl_opts has its own custom merge as well
- otherwise the new value takes precedence
A test has also been added.
There is a risk of breakage in some applications that may have relied on
the buggy behaviour to work, though at this time we are aware of none of
them.
|
|\ \
| |/
|/| |
appveyor configuration to build on 15.3.1, 17.5, 18.3 and 19.2
|
| | |
|
| |
| |
| |
| | |
16.x is not available on chocolatey
|
|\ \
| | |
| | | |
Allow top-level apps to take precedence over deps
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The use case has been described in issue #1478 where a local application
can exist while being declared as a dependency as well. This allows, for
example, to work on a release where all applications may require to be
published independently, or to provide some form of 'vendoring' with a
local app.
The fix is done by decoupling the dependency source resolution form the
dependency parsing. The reason for this being that the discovery phase
needs to parse apps for their top-level deps, and dep installation needs
to resolve the packages with accuracy. In the current implementation,
both code paths call to the same function.
This patch splits up the precise discovery and makes it happen *only*
when installing dependencies, and only if a top-level app does not
already define the application needing resolving.
One weakness of this fix is that it necessarily breaks cycle detection
in dependencies that involve a root application depending on itself
since its own version as a dep will not be expanded. There appears to be
no possible way to prevent this, but should be rare enough to be worth
the tradeoff for the common case.
|
|\ \ \
| | | |
| | | | |
Bump cth_readable to 1.3.0: shows test groups
|
| | | | |
|