Degasolv is a generic dependency resolver that will work across programming language boundaries, customizable to fit the needs of build engineers who are just trying to get their software built.
Named for Degas the painter, and it's a Solver.
See the releases tab for more (including the jar file).
This quickstart is meant to be illustrative. For ideas on how to use degasolv in real life, have a look at A Longer Example. Given these artifacts:
http://example.com/repo/a-1.0.zip
http://example.com/repo/b-2.0.zip
http://example.com/repo/b-3.0.zip
- Generate dscard files to represent them in a degasolv respository, like this:
$ java -jar degasolv-<version>-standalone.jar generate-card \
--id "a" \
--version "1.0" \
--location "https://example.com/repo/a-1.0.zip" \
--requirement "b>2.0" \
--card-file "$PWD/a-1.0.zip.dscard"
$ java -jar degasolv-<version>-standalone.jar generate-card \
--id "b" \
--version "2.0" \
--location "https://example.com/repo/b-2.0.zip" \
--card-file "$PWD/b-2.0.zip.dscard"
$ java -jar degasolv-<version>-standalone.jar generate-card \
--id "b" \
--version "3.0" \
--location "https://example.com/repo/b-3.0.zip" \
--card-file "$PWD/b-2.0.zip.dscard"
- Generate a
dsrepo
file from the cards:
$ java -jar degasolv-<version>-standalone.jar \
generate-repo-index \
--search-directory $PWD \
--index-file $PWD/index.dsrepo
- Then use the
dsrepo
file to resolve dependencies:
$ java -jar degasolv-<version>-standalone.jar \
resolve-locations \
--repository $PWD/index.dsrepo \
--requirement "b"
This should return something like this:
a==1.0 @ http://example.com/repo/a-1.0.zip
b==3.0 @ http://example.com/repo/b-3.0.zip
To see the help page, call degasolv or any of its subcommands with the
-h
option. If this is your first time using degasolv, it's
recommended that you read A Longer Example.
See Read the Docs.
See here.
Copyright © 2016-2019 Daniel Jay Haskin and others, see the AUTHORS.md file.
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.