summaryrefslogtreecommitdiff
path: root/src/rebar_digraph.erl
Commit message (Collapse)AuthorAgeFilesLines
* Unicode support in all the placesFred Hebert2017-08-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix Alisdair's review, add more types and docsFred Hebert2016-12-161-2/+20
|
* this patch treats pkg and src deps as equals, so level decides winnerTristan Sloughter2015-08-211-110/+0
| | | | | | | | 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.
* properly update locks for deps and ignore skip messages for locksTristan Sloughter2015-08-171-6/+6
|
* Merge pull request #718 from tsloughter/ferd-add-mixed-deps-testsFred Hebert2015-08-171-52/+84
|\ | | | | Ferd add mixed deps tests
| * small refactorings per Fred commentsTristan Sloughter2015-08-171-6/+3
| |
| * handle new tests for mix package types (git/pkg)Tristan Sloughter2015-08-161-52/+87
| |
* | fix leaking ets tables caused by digraphspvmart2015-08-171-14/+17
|/
* track parent app of deps and add tree provider to display the relationsTristan Sloughter2015-08-151-61/+24
|
* install package deps in same level/profile order as src depsTristan Sloughter2015-08-131-46/+87
|
* add tree option to deps command that prints pkg deps treeTristan Sloughter2015-08-031-5/+39
|
* keep correct Level for pkg deps of scm depsTristan Sloughter2015-08-011-4/+4
|
* bug fix: was using outer LevelsAcc variable in inner foldlTristan Sloughter2015-07-091-2/+2
|
* add additional commentsTristan Sloughter2015-05-221-0/+3
|
* fix storing of pkg and src deps in app_infoTristan Sloughter2015-05-221-2/+3
|
* include applications list in compile sortTristan Sloughter2015-04-151-1/+5
|
* clean ups from Fred's commentsTristan Sloughter2015-04-111-1/+1
|
* support single atoms for pkg deps, fetch highest version availableTristan Sloughter2015-04-111-5/+7
|
* Add tests and fixes for packages upgradesFred Hebert2015-02-231-13/+20
| | | | | | | | | | - 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
* package dep names are binary, fix install deps and related testsTristan Sloughter2015-02-031-9/+9
|
* Adding pkg deps tests and refactoringsFred Hebert2014-12-161-17/+21
| | | | | | | | | | | | | | | | | | | - 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.
* Return cycles in deps solverFred Hebert2014-12-061-1/+9
|
* wip: profilesTristan Sloughter2014-11-291-3/+9
|
* rename functions to be clearerTristan Sloughter2014-11-221-8/+12
|
* use digraph topo sort for buildingTristan Sloughter2014-11-221-1/+48
|
* include initial verticies in solution listTristan Sloughter2014-11-221-3/+4
|
* replace rlx_depsolver use with new rebar_digraphTristan Sloughter2014-11-221-66/+11
|
* new dep graph workingTristan Sloughter2014-11-221-0/+101