| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Reorder rebar3 tree output on umbrella apps
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change makes it so umbrella projects get ordered in a way more
in-line with what we do with non-umbrellas.
For example, a non-umbrella app (rebar3 itself) gives output like:
└─ rebar─3.8.0+build.4270.refaece1d7 (project app)
├─ bbmustache─1.6.0 (hex package)
├─ certifi─2.3.1 (hex package)
├─ cf─0.2.2 (hex package)
├─ cth_readable─1.4.2 (hex package)
├─ erlware_commons─1.3.1 (hex package)
├─ eunit_formatters─0.5.0 (hex package)
├─ getopt─1.0.1 (hex package)
├─ hex_core─0.4.0 (hex package)
├─ parse_trans─3.3.0 (hex package)
├─ providers─1.7.0 (hex package)
├─ relx─3.28.0 (hex package)
└─ ssl_verify_fun─1.1.3 (hex package)
The current (prior to this patch) output for an umbrella project looks
like this:
├─ bootstrap─0.0.2 (git repo)
├─ dirmon─0.1.0 (project app)
├─ fake─0.1.0 (project app)
├─ file_monitor─0.1 (git repo)
├─ peeranha─0.1.0 (git repo)
│ ├─ gproc─0.5 (git repo)
│ ├─ interclock─0.1.2 (git repo)
│ │ ├─ bitcask─1.7.0 (git repo)
│ │ │ └─ lager─2.1.1 (hex package)
│ │ │ └─ goldrush─0.1.6 (hex package)
│ │ └─ itc─1.0.0 (git repo)
│ └─ merklet─1.0.0 (git repo)
├─ recon─2.2.2 (git repo)
└─ uuid─1.5.0 (git repo)
└─ quickrand─1.5.0 (git repo)
Which kind of looks odd because the layout represents the dependencies
of deps as declared by the rebar3 config files, but mix up the project
apps as dependencies. This turns out to break expectations, and some
external tools (such as Blackduck's dep detection -- see
https://github.com/blackducksoftware/hub-detect/blob/d8a0f2281a056aec04e3f8aecd22bbbe9a2a6f3e/hub-detect/src/main/groovy/com/blackducksoftware/integration/hub/detect/detector/hex/Rebar3TreeParser.java)
which were developed with regular apps in mind, but not umbrellas.
This PR changes things by reordering all project apps at the root level
and putting them first, and then indenting all deps below them. The same
app now looks like:
├─ dirmon─0.1.0 (project app)
└─ fake─0.1.0 (project app)
├─ bootstrap─0.0.2 (git repo)
├─ file_monitor─0.1 (git repo)
├─ peeranha─0.1.0 (git repo)
│ ├─ gproc─0.5 (git repo)
│ ├─ interclock─0.1.2 (git repo)
│ │ ├─ bitcask─1.7.0 (git repo)
│ │ │ └─ lager─2.1.1 (hex package)
│ │ │ └─ goldrush─0.1.6 (hex package)
│ │ └─ itc─1.0.0 (git repo)
│ └─ merklet─1.0.0 (git repo)
├─ recon─2.2.2 (git repo)
└─ uuid─1.5.0 (git repo)
└─ quickrand─1.5.0 (git repo)
Now the project apps are back at the top, and all the dependencies
follow at one level of indentation below.
There is no recorded change for single-app projects.
|
|\ \
| | |
| | | |
Fix performance regression in compiler around behaviours
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the commit at
https://github.com/erlang/rebar3/commit/8c4a74a3ed9ddd9841e6596ca86b81f3d43906c0
introduced a recursive search for build elements, it accidentally did so
using a function that accepts a regex for its match.
In doing so, if a behaviour or include had a name such as
`common_prefix` and that multiple other modules used the name
`common_prefix_<rest_of_name>`, all the other files would be seen as
dependencies to be checked in a directed graph.
This resulted in continuous re-checking of files that kept depending on
each others and blew the compile time up exponentially.
By using a delimitation on the regex (^<modulename>$), the build comes
back down to finding only the right files and becomes fast again.
|
|\ \ \
| |/ /
|/| | |
|
| | | |
|
| |\ \
|/ / /
| | |
| | | |
https://github.com/starbelly/rebar3 into starbelly-working-systests-on-darwin
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- fixes systests on darwin where previously the recursive cp would fail
due to everything being copied after the last forward slash.
Specifically, everything in `systest/all_SUITE_data/` would be
copied but not `all_suite_data` dir itself which the tests expected.
|
|\ \ \ |
|
| | | | |
|
| |\ \ \
|/ / / /
| | | |
| | | | |
https://github.com/starbelly/rebar3 into starbelly-1944-git-shell-eval-bug
|
| |/ / |
|
|\ \ \
| |_|/
|/| | |
Clear _build/bootstrap on each bootstrap run
|
| | |
| | |
| | |
| | |
| | |
| | | |
This should avoid common problems when upgrading across versions where
old code kind of messes up a lot of things and clearing _build keeps
being required.
|
|\ \ \
| | | |
| | | | |
update template moving maintainers into extras field
|
|/ / / |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
fix case clause when fetching hg dep
|
|/ / |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
update relx to 3.28.0
|
|/ / |
|
|\ \
| | |
| | | |
Remove unnecessary clauses in update_package/3
|
|/ / |
|
|\ \
| | |
| | | |
Update hex_core and add mirror_of repo config
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
- removed deprecated maintainers field from config template in
rebar_prv_packages
|
|\ \ \
| |/ /
|/| | |
Add --generator option for eunit
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
Add a --fail_fast switch to common test
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This switch aborts the rebar3 run after the first test failure is
reported.
Since Common Test does not support this feature and it can be useful for
interactive development (a demand from one of the teams I work with), I
decided to add the feature as an experimental CT hook.
The hook notices any test failure, and forcefully aborts the current
script execution, but only during the initialization phase of the next
test; this ensure that all other hooks for a post-test failure have the
time to do things right.
The CT logs _will_ be interupted, and hooks of all kinds may also
suffer.
Since this might be a bit tricky to support internally, I will be fine
with a review that results in "no, Fred. Please test this in a project
plugin first" or if I get told to use profiles to mature the feature
(i.e. `rebar3 as failfast ct ...`) with a custom hook declaration.
|
|\ \
| | |
| | | |
bump erlware_commons to 1.3.1
|
|/ / |
|
|\ \
| |/
|/| |
re-expose download/3 for backwards compatibility in git deps related plugins
|
| | |
|
| |\ |
|
| | |
| | |
| | | |
This reverts commit 8fb8a91130e0e5c239bb837b9adc4ad71e5806b8.
|
| | |
| | |
| | | |
For issue https://github.com/erlang/rebar3/issues/1974
|
| |/
| |
| |
| |
| |
| | |
For issue https://github.com/erlang/rebar3/issues/1974
Revert "add rebar.lock to template gitignore"
This reverts commit 8fb8a91130e0e5c239bb837b9adc4ad71e5806b8.
|
| |\
| |/
|/| |
|
|\ \
| | |
| | | |
Fixing systest to use up to date plugin
|
|/ /
| |
| |
| | |
prevents some failures when running
|