Tristan Sloughter
9fc885073b
use same symlink or copy function for deps links
10 år sedan
Tristan Sloughter
d4c2332aab
make base_dir for a run include the profiles in path, link to shared deps
10 år sedan
Tristan Sloughter
dcd8962afb
remove old info function from install_deps, it is a bare provider
10 år sedan
Fred Hebert
c283dd2c69
Add tests and fixes for packages upgrades
- Track level of packages properly, they're not level 0 anymore (this
could yield an issue where a src dep takes precedence over a pkg dep)
- Proper stable sort of vertices in the digraph module
- PkgDeps no longer 'see themselves' when fetching and upgrading after
locking themselves
- Pkg Locks are added to pkg deps rather than source deps
- Updating test cases to support pkg mocking on top of src mocking
10 år sedan
Tristan Sloughter
8f03afded4
consolidate app validation and exist checks
10 år sedan
Fred Hebert
81f47c44ec
Reindent multiline assignment
10 år sedan
Fred Hebert
d4d4e27693
Pass in newer state reference
Old one might have been a mistake; this one works fine.
10 år sedan
Fred Hebert
1c638b05fa
Refactor install deps
- Make functions shorter
- Unnest some functions
- Split up and give names to major conditional branches
10 år sedan
Tristan Sloughter
8874e414a8
sort project apps before merging deps
10 år sedan
Tristan Sloughter
be49c5cd44
use project sub-apps with deps in their rebar.config
10 år sedan
Tristan Sloughter
410e2bcdec
replace package management with hex.pm
10 år sedan
Fred Hebert
62dc8fa9c7
Fix testcases, add multi-app upgrade support
todo:
- relock stuff
- default to all apps needing upgrade
- more tests?
- pkgs?
10 år sedan
Fred Hebert
f5acdfb9a5
Refactor install_deps to match 'upgrade' ideas
- rename 'update' to 'upgrade' -- 'update' stands for package list
updates, not dependencies upgrades
- extracting some deeply nested code
10 år sedan
Fred Hebert
92436d9960
More progress on upgrades
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.
10 år sedan
Fred Hebert
9fb35fe6de
Alternative attempt
10 år sedan
Fred Hebert
b94afdfa2d
WIP
Test that all the correct locks are set for an upgrade run.
Now to actually re-run the install deps and prove it works
10 år sedan
Tristan Sloughter
d53fb93cc1
package dep names are binary, fix install deps and related tests
10 år sedan
Tristan Sloughter
ebb713449e
check locks before locking a dep to not have duplicates
10 år sedan
Tristan Sloughter
4b7f55f79c
add warning that dep options like raw are being ignored
10 år sedan
Tristan Sloughter
d5552cfcd3
ignore opts list in src dep is it is there
10 år sedan
Tristan Sloughter
d1902404dc
error message for failing to parse a dep
10 år sedan
Tristan Sloughter
f45387f795
no skip warning for seen dep that has locked version
10 år sedan
Tristan Sloughter
c298a713f0
don't mark dep as seen before calling handle_dep
10 år sedan
Tristan Sloughter
37a2025906
don't allow locked transitive dep to override higher level dep
10 år sedan
Tristan Sloughter
872e741972
use level in lock file so changes to config don't change outcome of run
10 år sedan
Tristan Sloughter
8168c1f4f9
overrides working with lock except in case of adding to config after lock
10 år sedan
Tristan Sloughter
d1692efdf5
overrides working except for transitive dep inheritance with lock file
10 år sedan
Tristan Sloughter
91d297cf8a
update plugin install code
10 år sedan
Tristan Sloughter
3219a666f4
rewrite profiles
10 år sedan
Fred Hebert
2985c7bed5
Adding pkg deps tests and refactorings
- Adding tests for package deps
- Adding conflict/override warnings for package deps
- Adding cycle detection for packages
- Adding cycle detection for mixed packages+source
- Fixing internal dependency format of package resources when converted
to rebar_app_info
- normalizing level-order prioritization to be based on lexicographical
sort of app names rather than traversal order (which is undefined for
package deps)
- Fixing tests for source deps for deep cycle detection
- Fixing bugs with source deps
- Relaxed version format checks for test utils
A lot of fixes are combined in there because I didn't want to commit
non-passing code, and many bugs were found when adding the second batch
of tests as part of the original effort.
10 år sedan
Fred Hebert
4116d41dca
Print warning when deps are being skipped.
The case in mind here is due to conflicts, and tests have been added for
this.
10 år sedan
Tristan Sloughter
9f8e6ed024
use PRV_ERROR to wrap a provider error in {error, {?MODULE, ...}}
10 år sedan
Tristan Sloughter
bee15d62a0
version in source dep element is no longer used, support leaving it out
10 år sedan
Tristan Sloughter
b849b36b5e
only add lock if default profile
10 år sedan
Tristan Sloughter
f77cbb7f50
don't lose defualt deps when creating current profile
10 år sedan
Tristan Sloughter
63461b45b5
don't use lock file for non-defualt profile deps
10 år sedan
Tristan Sloughter
571c62f732
output message when starting install_deps provider
10 år sedan
Fred Hebert
be39ab9e7b
Handle cycle errors in provider
10 år sedan
Fred Hebert
6cfe28c954
Partial fix to circular deps ( #40 )
- Adding tests
- fixing use of set fetching to find repeated deps and prevent infinite
loops
On a circular loop rebar3 now fails with `{error, no_sort}`, which is
uncaught and should be handled to consider the issue fully fixed.
10 år sedan
Tristan Sloughter
f5476e7200
if already seen dep before don't try handling it again
10 år sedan
Tristan Sloughter
0fc8e97292
only read in rebar config and lock of dep if needed
10 år sedan
Tristan Sloughter
8e5c916cb6
move dir functions from utils to new module rebar_dir
10 år sedan
Tristan Sloughter
fa71d55b0d
move deps_to_build out of config dict of state
10 år sedan
Tristan Sloughter
5673fe035d
fixes for dialyzer findings
10 år sedan
Tristan Sloughter
731f05cc3d
fix handle_deps when no deps are to be fetched
10 år sedan
Tristan Sloughter
9afd6e89b2
global plugins install to global config directory
10 år sedan
Tristan Sloughter
bdd5d902d9
fix lock provider to work anytime it is run
10 år sedan
Tristan Sloughter
14cb6803e0
wip: profiles
10 år sedan
Tristan Sloughter
6ec98e0b69
rename functions to be clearer
10 år sedan
Tristan Sloughter
4888810c69
use digraph topo sort for building
10 år sedan