summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Avoid guessing on utf8 decoding of app filesFred Hebert2017-10-132-9/+14
| | | | | | | | | 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.
* Merge pull request #1640 from ferd/app-src-fixesFred Hebert2017-10-084-6/+28
|\ | | | | Various fixes related to .app files
| * Bundle in debug for weak testFred Hebert2017-10-041-0/+3
| | | | | | | | Getting real tired of that nondeterministic set of runs on OSX CI
| * Add a description in compiled app file if undefFred Hebert2017-10-041-1/+13
| | | | | | | | | | Same default value as used in relx and other environments, but as reported in #979 some tools don't like having no description available.
| * Normalize return values of app_info dataFred Hebert2017-10-041-4/+11
| | | | | | | | | | | | | | 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.
| * Fix messed up rollback to git versioningFred Hebert2017-10-041-1/+1
| | | | | | | | was still hardcoded to 3.4.4
* | Merge pull request #1641 from ferd/warn-local-resourcesFred Hebert2017-10-082-0/+28
|\ \ | |/ |/| Warn user when a local git or hg resource is used
| * Warn user when a local git or hg resource is usedFred Hebert2017-10-052-0/+28
|/ | | | Those aren't supported and so a warning should be output. Fixes #1003
* Merge pull request #1637 from ferd/re-fix-src-dir-specsFred Hebert2017-09-272-3/+6
|\ | | | | Corrects a fix to src_dir values
| * Corrects a fix to src_dir valuesFred Hebert2017-09-272-3/+6
|/ | | | | | | | | | 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.
* Merge pull request #1634 from seancribbs/sdc/update-eunit-formattersTristan Sloughter2017-09-252-3/+3
|\ | | | | Update eunit_formatters to latest.
| * Update rebar.lockSean Cribbs2017-09-251-2/+2
| |
| * Update eunit_formatters to latest.Sean Cribbs2017-09-241-1/+1
|/
* Merge pull request #1630 from JYZR/patch-1Fred Hebert2017-09-171-1/+1
|\ | | | | Changes word 'transient' to 'transitive' which is what it is supposed to say
| * Changes word 'transient' to 'transitive' which is what it is supposed to sayJimmy Zöger2017-09-141-1/+1
|/
* Back to git-based versioningFred Hebert2017-09-101-1/+1
|
* Bump to 3.4.4Fred Hebert2017-09-101-1/+1
| | | | | | | | - 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
* Merge pull request #1625 from tsloughter/ct-sys-config-mergingFred Hebert2017-09-012-3/+14
|\ | | | | fix sys config merging
| * fix sys config mergingTristan Sloughter2017-09-012-3/+14
| |
* | Merge pull request #1624 from ferd/fix-rel-srcdirsFred Hebert2017-09-012-3/+10
|\ \ | |/ |/| Fix relative src_dir specifications to avoid double .app.src file detection
| * Fix relative src dir specificationsFred Hebert2017-08-302-3/+10
| | | | | | | | | | | | | | | | 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.
* | Merge pull request #1619 from suexcxine/masterFred Hebert2017-08-302-2/+52
|\ \ | |/ |/| Recompile when include files change in non-default directories
| * Recompile when include files changesuexcxine2017-08-292-2/+52
|/
* Back to git-based versionningFred Hebert2017-08-211-1/+1
|
* Bump to 3.4.3Fred Hebert2017-08-212-2/+2
|
* Merge pull request #1615 from getong/test_erlang_20Fred Hebert2017-08-181-0/+2
|\ | | | | add erlang 20 for CI
| * add erlang 20 for testgetong2017-08-181-0/+2
| |
* | Merge pull request #1614 from cieplak/masterFred Hebert2017-08-181-0/+3
|\ \ | |/ |/| fix `rebar3 shell` when relx section of rebar.config contains release…
| * fix `rebar3 shell` when relx section of rebar.config contains releases with ↵patrick cieplak2017-08-171-0/+3
|/ | | | independent configurations
* Merge pull request #1603 from ferd/win32-non-ntfs-supportFred Hebert2017-08-171-7/+35
|\ | | | | Support Windows with non-NTFS filesystems
| * Support Windows with non-NTFS filesystemsWilliam H2017-08-101-7/+35
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #1610 from ferd/fix-relx-overlayingFred Hebert2017-08-162-8/+38
|\ \ | | | | | | Fix ordering of overlays and overlay vars in Relx
| * | Fix ordering of overlays and overlay vars in RelxFred Hebert2017-08-152-8/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge pull request #1602 from ferd/alias-release-to-umbrellaFred Hebert2017-08-151-0/+15
|\ \ \ | | | | | | | | Add an alias of 'release' template as 'umbrella'
| * | | Add an alias of 'release' template as 'umbrella'Fred Hebert2017-08-091-0/+15
| | |/ | |/| | | | | | | | | | | | | 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/
* | | Merge pull request #1605 from ferd/escript-drop-dupe-ebinsFred Hebert2017-08-151-1/+1
|\ \ \ | | | | | | | | Remove duplicate ebins from escripts
| * | | Remove duplicate ebins from escriptsFred Hebert2017-08-101-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge pull request #1604 from vitorenesduarte/total_coveragealisdair sullivan2017-08-151-26/+18
|\ \ \ | |_|/ |/| | Fix total coverage
| * | Fix coverage percentage on modules with 0 lines to be coveredVitor Enes Duarte2017-08-101-1/+1
| | |
| * | Fix total coverageVitor Enes Duarte2017-08-101-26/+18
| |/
* | Merge pull request #1606 from ferd/recurive-profile-mergeFred Hebert2017-08-133-4/+63
|\ \ | | | | | | Fix recursive profile merging, particularly for umbrella apps
| * | Clarify function to normalise profile pairsFred Hebert2017-08-131-13/+25
| | |
| * | Fix recursive profile merging in umbrella appsFred Hebert2017-08-113-4/+51
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #1470 from talentdeficit/appveyorFred Hebert2017-08-101-0/+20
|\ \ | |/ |/| appveyor configuration to build on 15.3.1, 17.5, 18.3 and 19.2
| * drop r15 from appveyor configalisdair sullivan2017-07-091-2/+1
| |
| * appveyor configuration to build on 15.3.1, 17.5, 18.3 and 19.2alisdair sullivan2017-02-051-0/+21
| | | | | | | | 16.x is not available on chocolatey
* | Merge pull request #1596 from ferd/local-apps-override-depsFred Hebert2017-08-093-8/+58
|\ \ | | | | | | Allow top-level apps to take precedence over deps
| * | Allow top-level apps to take precedence over depsFred Hebert2017-08-053-8/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #1578 from ferd/bump-cth-show-groupsFred Hebert2017-08-072-3/+3
|\ \ \ | | | | | | | | Bump cth_readable to 1.3.0: shows test groups
| * | | Bump cth_readable to 1.3.0: shows test groupsFred Hebert2017-06-272-3/+3
| | | |