]> _ Git - alire.git/commit
Incrementally edit manifest on `alr with` (#484)
authorAlejandro R Mosteo <alejandro@mosteo.com>
Fri, 7 Aug 2020 12:56:46 +0000 (14:56 +0200)
committerAlejandro R. Mosteo <amosteo@unizar.es>
Tue, 1 Sep 2020 18:56:45 +0000 (20:56 +0200)
commit7857dd6bd21e3e02dedb1baeae50e77b72f90a77
tree40a32310486fb8c19478f42076c57476aed046c0
parent2e35598317fd4f622f8df8b5a38fe99f999b8e55
Incrementally edit manifest on `alr with` (#484)

* Append new dependencies to the end of the manifest

* Conservative removal of dependencies in `alr with`

This action will also not touch lines that aren't involved in the deletion.
Only a simple dependency, and trivially empty [[depends-on]] array entries will
be removed. As an improvement over the previous situation, dynamic expressions
will not preclude using `alr with` for static dependencies, leaving the dynamic
ones untouched.

* Use lexicographical order for printing dependencies

This was happening before by chance in several tests. The `alr with` changes
have surfaced that the order on file is kept in tree; while this has no
secondary effects, for presentation to the user is better to be always
consistent. Solutions already use ordered sets, so for lists within conditional
trees we do the same (only for presentation).

* Testsuite minor output fix

* Tests for new removal of dependencies
26 files changed:
src/alire/alire-conditional.ads
src/alire/alire-conditional_trees-cases.adb
src/alire/alire-conditional_trees.adb
src/alire/alire-conditional_trees.ads
src/alire/alire-dependencies-containers.adb [new file with mode: 0644]
src/alire/alire-dependencies-containers.ads
src/alire/alire-dependencies-diffs.adb
src/alire/alire-dependencies-diffs.ads
src/alire/alire-dependencies.ads
src/alire/alire-directories.adb
src/alire/alire-directories.ads
src/alire/alire-manifest.adb [new file with mode: 0644]
src/alire/alire-manifest.ads [new file with mode: 0644]
src/alire/alire-releases.adb
src/alire/alire-solutions.adb
src/alire/alire-solver.adb
src/alire/alire-solver.ads
src/alire/alire-utils-text_files.adb [new file with mode: 0644]
src/alire/alire-utils-text_files.ads [new file with mode: 0644]
src/alire/alire-workspace.adb
src/alr/alr-commands-withing.adb
testsuite/tests/with/delete-two/test.py [new file with mode: 0644]
testsuite/tests/with/delete-two/test.yaml [new file with mode: 0644]
testsuite/tests/with/dynamic-dependencies/test.py [new file with mode: 0644]
testsuite/tests/with/dynamic-dependencies/test.yaml [new file with mode: 0644]
testsuite/tests/workflows/init-with-pin/test.py