| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
As requested in #1733
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is done through 3 main change groups:
- replacing `~s` by `~ts` in format strings, so that strings that
contain unicode are properly printed rather than crashing
- adding the `unicode` argument to all function of the `re` module to
ensure transformations on strings containing unicode data are valid
instead of crashing (see issue #1302)
- replacing `ec_cnv:to_binary/1` and `ec_cnv:to_list/1` with matching
functions in `rebar_utils`.
The last point has been done, rather than modifying and updating erlware
commons, because binary and list conversions can be a contentious
subject. For example, if what is being handled is actually bytes from a
given binary stream, then forcing a byte-oriented interpretation of the
data can corrupt it. As such, it does not appear safe to modify erlware
commons' conversion functions since it may not be safe for all its
users.
Instead, rebar3 reimplements a subset of them (only converting
atoms and chardata, ignoring numbers) with the explicit purpose of
handling unicode string data.
Tests were left as unchanged as possible. This may impact the ability to
run rebar3's own suites in a unicode path, but respects a principle of
least change for such a large patch.
|
|
|
|
|
|
| |
Prevents showing false upgrade messages when upgrading in a non-default
profile. Also shows an info message explaining default deps don't get
updated in a non-default upgrade.
|
|
|
|
|
|
| |
Only happens when calling `rebar3 as <profiles> upgrade <dep>`, with the
caveat that all profile deps get upgraded and lined up with the rebar
config.
|
| |
|
|
|
|
|
|
|
| |
The previous iteration of the patch worked somewhat by accident. After
digging in and figuring out why the two dep sources are the way they
are, the patch is now properly working with a well-documented
explanatiion inline.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This commit replaces the method of upgrading by unlocking all transitive
deps by one that utilizes the parent element of each app to only
unlock transitive deps of children of the top level deps being upgraded.
Additionally the run function of upgrade_SUITE is modified to only create
the mock updates before the upgrade provider is run, instead of before
any provider is run, which would cause improper behavior in install_deps.
|
| |
|
|
|
|
|
|
|
|
| |
Instead fetching and resolving src deps (which could depend on pkg deps)
and then pkg deps this patch combines the two into a single set of
iterations by level. The only difference between src and pkg deps in this
new install_deps is how their deps list is found -- from the config or
lock file for src deps and from the neighbors of the vertex for pkg.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
fix bareness issues
|
| |
| |
| |
| |
| |
| | |
- Crashes in providers lib when no providers in a namespace are bare
- Making sure bareness matches semantics; i.e. a bare provider is
visible, a non-bare provider is hidden.
|
|/
|
|
| |
they would always be left unfound otherwise.
|
| |
|
| |
|
|
|
|
| |
Also expose it in rebar_api
|
|
|
|
|
|
|
|
|
| |
Apps that are no longer used are not automatically deleted, but we tell
users it can be done. This is safer while we're not sure of the
correctness of these messages.
Error messages are added for transient dependencies and dependencies not
found.
|
|
|
|
|
|
| |
- Many apps is supported through and through
- Not mentioning any app upgrades all apps
- Locks are refreshed on disk and tested as such after an upgrade
|
|
|
|
|
|
|
|
| |
todo:
- relock stuff
- default to all apps needing upgrade
- more tests?
- pkgs?
|
|
|
|
|
|
| |
Only the most complex case is failing, where cross-dependencies would
need to be refetched as an update clears an app of its dependencies and
a different subtree should override it.
|
|
|
|
|
| |
The problem with the current effort is handling of transitive dependency
upgrades and possible values.
|
| |
|
|
|
|
|
|
| |
Test that all the correct locks are set for an upgrade run.
Now to actually re-run the install deps and prove it works
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|