Pure Scala Artifact Fetching
APACHE-2.0 License
Bot releases are visible (Hide)
Published by alexarchambault over 4 years ago
The bootstrap
command can now generate launchers that rely on the Class-Path
field of manifests to set the launcher classpath. This requires all the required JARs to be already in the coursier cache, and these launchers can typically only be run on the current machine, as they hardcode the path to the cache.
Example
$ cs bootstrap coursier -o coursier --manifest-jar
$ ls -lh coursier
-rwxr-xr-x 1 user group 2,1K 20 mar 16:14 coursier
$ unzip -l coursier
Length Date Time Name
--------- ---------- ----- ----
7939 03-20-2020 16:14 META-INF/MANIFEST.MF
--------- -------
7939 1 file
In the generated JAR, META-INF/MANIFEST.MF
contains things like
Manifest-Version: 1.0
Class-Path: /Users/alexandre/.coursier/cache/v1/https/repo1.maven.org/
maven2/io/get-coursier/coursier-cli_2.12/2.0.0-RC6-10/coursier-cli_2.
12-2.0.0-RC6-10.jar /Users/alexandre/.coursier/cache/v1/https/repo1.m
aven.org/maven2/org/scala-lang/scala-library/2.12.10/scala-library-2.
12.10.jar …
Main-Class: coursier.cli.Coursier
coursier-launcher
module in 2.11
This module allows to generate bootstrap, assemblies, etc. The bootstrap
command relies on it. It has no dependencies, so it's straightforward to compile it and publish it in 2.11
too. (The 2.11
version should be used by ammonite-runner in particular.)
Published by alexarchambault over 4 years ago
$ cs resolve org:name:version,exclude=something%foo
Ensure resolve
command-specific options aren't accepted from the fetch
, launch
, and bootstrap
commands. This includes the --tree
, --reverse-tree
, and --what-depends-on
options in particular.
Add retry helpers in the resolve
command, allowing to retry resolving a number of times until resolution succeeds, like
$ cs resolve org:name:ver --retry 1min --attempts 30
That allows to wait for a sync to Maven Central with a single command for example.
Published by alexarchambault over 4 years ago
install
/ java
/ setup
commandsPublished by alexarchambault over 4 years ago
java
, install
, and setup
commands (see discussion in 2.0.0-RC6-2
)Published by alexarchambault over 4 years ago
java
, install
, and setup
commands (see discussion in 2.0.0-RC6-2
)Published by alexarchambault over 4 years ago
java
, install
, and setup
commands (see discussion in 2.0.0-RC6-2
)Published by alexarchambault over 4 years ago
fetch
, launch
, and bootstrap
commands (classpath order, #1546, thanks to @dwijnand)java
and setup
commands (see discussion in 2.0.0-RC6-2
)Published by alexarchambault over 4 years ago
Like 2.0.0-RC6-3
, this is mostly a convenience release, to more easily test the latest experimental developments. (See the release notes for 2.0.0-RC6-2
for more discussion.)
Published by alexarchambault over 4 years ago
Mostly a convenience release, to more easily test the latest experimental developments. (See the release notes for 2.0.0-RC6-2
for more discussion.)
Published by alexarchambault over 4 years ago
-D
options passed to the native launcher, so that we can interpret those ourselves as normal options, like the JAR-based launcher does.launch
command accept Java options via --java-opt
/ -J
, that are passed to java
when launching a JVM application from the native launcher, like cs launch -J -Xmx3g ammonite
.The changes below are meant to be described more extensively and documented in later releases, while being more tested in the mean time. These are mentioned here for the sake of comprehensiveness.
bootstrap
and install
commands.install
command.java
and java-home
commands. java
fetches and starts a custom JVM (like cs java --jvm [email protected]+ -version
), and java-home
fetches and prints the home directory of a custom JVM (like cs java-home --jvm 11
).bootstrap
command. Use like cs bootstrap --native-image coursier -o custom-cs
.setup
command, installing a JVM if none is found locally, updating JAVA_HOME
and PATH
if needed, and installing a few applications via the install
command (cs
, ammonite
, sbt
, in particular).--scala
alias for --scala-version
, in most CLI commands. Use like cs launch ammonite --scala 2.13
.Published by alexarchambault over 4 years ago
List(…)
in the command listing of the help messagePublished by alexarchambault over 4 years ago
2.11
support2.0.0-RC5-4
, #1505)coursier.Versions
API (#1515, thanks to @fthomas)0.6.32
HEAD
requests in local
mode (--mode local
from the CLI, #1522, thanks to @fthomas)2.0.0-RC3-3
)19.3.1
, build Windows launchers too (#1525, see instructions on the website)Published by alexarchambault almost 5 years ago
2.0.0-RC5-4
)Published by alexarchambault almost 5 years ago
null/Coursier/cache/v1
on Windows, with JDK 1.8.0b231 / 11.0.5 and later versions, when a SecurityManager
was set up (which sbt does in its JVM). (See https://github.com/coursier/coursier/issues/1438 and the issues linked from there for more details.)Published by alexarchambault almost 5 years ago
--candidate-urls
option to resolve
command, printing the URLs of possible artifacts. Note that optional artifacts are printed too, so some of those URLs may return 404 Not Found. Authentication isn't printed / reported either.cs fetch org.scala-lang:scala-library:2.13.1,classifier=foo
now fail loudly.Published by alexarchambault almost 5 years ago
coursier.Versions
API to list the versions of a module0.6.31
Published by alexarchambault almost 5 years ago
.
Published by alexarchambault almost 5 years ago
.
Published by alexarchambault almost 5 years ago
.
Published by alexarchambault about 5 years ago
.