coursier

Pure Scala Artifact Fetching

APACHE-2.0 License

Stars
2K

Bot releases are visible (Hide)

coursier - v2.1.0-M2

Published by alexarchambault almost 3 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/coursier/coursier/compare/v2.1.0-M1...v2.1.0-M2

coursier - v2.1.0-M1-1

Published by alexarchambault almost 3 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/coursier/coursier/compare/v2.1.0-M1...v2.1.0-M1-1

coursier - v2.1.0-M1

Published by alexarchambault almost 3 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/coursier/coursier/compare/v2.0.16...v2.1.0-M1

coursier - v2.0.16-200-ge888c6dea

Published by alexarchambault almost 3 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/coursier/coursier/compare/v2.0.16...v2.0.16-200-ge888c6dea

coursier - v2.0.16-169-g194ebc55c

Published by alexarchambault about 3 years ago

coursier - v2.0.16-161-g8a1b8eae5

Published by alexarchambault about 3 years ago

.

coursier -

Published by alexarchambault about 3 years ago

coursier - v2.0.16

Published by alexarchambault over 3 years ago

Changes

New cs search command

Add new cs search command, that allows to search for install-able applications:

$ cs search meta fmt
metac
metals
metals-emacs
metap
metap-native
scalafmt

Added in #2007, thanks to @rrramiro.

Custom ClassLoader for URL protocols

In the API, add new field FileCache.classLoaders. When looking for URL handler factories for custom protocols, these class loaders are queried first.

Added in #1995, thanks to @MasseGuillaume.

coursier - v2.0.15

Published by alexarchambault over 3 years ago

Updates

  • Update directories-jvm to 24
coursier - v2.0.14

Published by alexarchambault over 3 years ago

Changes

  • In the CLI and the API, be fine when forcing Scala versions >= 3 (#2003, thanks to @przemek-pokrywka)
  • When running the JVM version of the CLI, default to forking in the launch command with Java >= 9, to work around class loader isolation issues
coursier - v2.0.13

Published by alexarchambault over 3 years ago

Changes

Read credentials from launchers

Launchers created by cs bootstrap and cs install are now able to read and use credentials when fetching artifacts (#1991, thanks to @greg-a-atkinson)

Add aliases for Apache repositories

Use like

$ cs resolve -r apache:snapshots org.apache.spark:spark-sql_2.13:3.2.0-SNAPSHOT

Fixes

  • Fix some spurious NumberFormatExceptions when parsing checksums (#1972, thanks to @chimmi)
coursier - v2.0.12

Published by alexarchambault over 3 years ago

Changes

  • Ignore HTTP 403 errors for optional artifacts (just like HTTP 404 errors were ignored for those - #1966, thanks to @eed3si9n). This should fix some unexpected errors in updateClassifiers once used in sbt.

New features

coursier - v2.0.11

Published by alexarchambault over 3 years ago

Optimizations

  • Create less intermediary objects in hot paths during resolutions (#1920, thanks to @jtjeferreira)

Changes

  • In cs launch, if no JVM is installed, automatically download one in and use it from the coursier JVM cache, so that cs launch commands work out-of-the-box, even when no JVM is installed.
coursier - v2.0.10

Published by alexarchambault over 3 years ago

Features

  • From the CLI, allow to drop default repositories by passing ! to -r, or prefixing a repository with !, like
$ cs resolve -r !central org:name:ver
$ cs resolve -r ! -r central org:name:ver
$ cs resolve -r !,central org:name:ver
  • Add --log-changing option logging every "changing" artifact being checked.
$ cs resolve org.scala-lang:scala-library:latest.release
Checking changing artifact file:~/.ivy2/local/org.scala-lang/scala-library/
Checking changing artifact https://repo1.maven.org/maven2/org/scala-lang/scala-library/maven-metadata.xml
org.scala-lang:scala-library:2.13.4:default
  • Add pure cache policy, that forbids "changing" artifacts (snapshots, version listings, …)
$ cs resolve org.scala-lang:scala-library:latest.release -m pure
Resolution error: Error downloading org.scala-lang:scala-library:latest.release
  changing artifact found: file:~/.ivy2/local/org.scala-lang/scala-library/
  changing artifact found: https://repo1.maven.org/maven2/org/scala-lang/scala-library/maven-metadata.xml
  • Accept application channels with a version, like
$ cs resolve ammonite --channel io.get-coursier:apps:1.0.6
  • Add --log-channel-version option, like
$ cs resolve ammonite --log-channel-version
Using io.get-coursier:apps-contrib:1.0.6
Using io.get-coursier:apps:1.0.6
  • Disable default app channels when a channel prefixed with ! is passed, like
$ cs resolve ammonite --channel '!io.get-coursier:apps:1.0.6'
  • Accept modules or dependencies as JVM channels (rather than just URLs), like
$ cs java --jvm-index io.get-coursier:jvm-index -version
$ cs java --jvm-index io.get-coursier:jvm-index:0.0.1 -version
  • JVM channel cs is now an alias for io.get-coursier:jvm-index (rather than an alias for a GitHub URL)

Fixes

  • Fix handling of aarch64 architecture in cs install command (it should now install actual aarch64 binaries, rather than x86_64 ones)
coursier - v2.0.9

Published by alexarchambault almost 4 years ago

Fixes

  • Ignore extra parameters like charset="UTF-8" in WWW-Authenticate headers (fixed in #1948, thanks to @cchepelov). Before these changes, credentials were not sent upon getting a parameter other than realm, so that credentials were ignored / unused in practice.
coursier - v2.0.8

Published by alexarchambault almost 4 years ago

Documentation

  • Many documentation additions and tweaking (#1934, #1935, #1936, #1937, #1939, all thanks to @eloots).

Updates

  • Update directories-jvm to 23 (#1938, thanks to @fthomas)

Miscellaneous

coursier - v2.0.7

Published by alexarchambault almost 4 years ago

Optimization

Memo-ize classes that can be created at a high rate

coursier.core.{Dependency, Module, Publication} are now memo-ized (using weak references). This can lower the amount of duplicate instances of these objects, and lower GC pressure.

Added in #1900, thanks to @jtjeferreira.

Fixes

Un-escape characters in file URLs

When using local repositories with special characters in their paths, such as spaces, escaped characters were not properly handled, which created spurious not-found errors.

coursier - v2.0.6

Published by alexarchambault almost 4 years ago

Fixes

Persisted checksums written outside of the coursier cache

Persisted checksums were added in 2.0.5. These could mistakenly be written outside of the coursier cache, under ~/.ivy2/local for example. This release fixes that.

Fixed in #1909, thanks to @oyvindberg.

Changing artifacts in cs get command

The cs get command allows to download things via the coursier cache:

$ cs get https://repo1.maven.org/maven2/io/get-coursier/coursier-cli_2.12/maven-metadata.xml
~/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/io/get-coursier/coursier-cli_2.12/maven-metadata.xml

If a URL it is passed ends with ?changing=true, cs get should assume the artifact is changing (and may check for updates if the last check is older than the TTL). This release includes a fix for that. Prior to it, these were not assumed to be changing, so were not checked for updates.

Fixed in #1907, thanks to @martijnhoekstra.

coursier - v2.0.5

Published by alexarchambault almost 4 years ago

Optimizations

Cache computed checksums

Computed checksums of downloaded files are now written in the cache, and read from there later on. This short-circuits checksum computation for anything already in cache, which can significantly speed up resolutions with large dependency graphs.

Added in #1801, thanks to @oyvindberg.

Changes

New cs channel command

This release adds a new cs channel command. This command allows to add channels, like

$ cs channel --add my.company:cs-channel

or list them with

$ cs channel --list

This deprecates the --add option of the cs install command (which is still available, and prints a deprecation message).

Added in #1899, thanks to @shubhamJay.

Allow to pick particular files in archives as prebuilt binaries in application descriptors

It is now possible to specify that prebuilt binaries for applications correspond to particular files in archives, like

  "prebuilt": "zip+https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.zip!sbt/bin/sbtn-${platform}"

This example picks the file sbt/bin/sbtn-${platform} (where ${platform} is replaced by x86_64-apple-darwin on macOS, …) from the zip archive at URL https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.zip (where ${version} is replaced by 1.4.1 for example).

coursier - v2.0.4

Published by alexarchambault almost 4 years ago

Changes

Update zsh completions

New commands (java, java-home, …) are now proposed as completions, and removed ones (spark-submit) were dropped. Some removed options were removed from completions too. (Changed in #1897, thanks to @note.)

cs launch --python changes

cs launch has a --python option, that sets jna.library.path prior to starting the app, so that it can load libpython.so via JNA. This release also sets jna.nosys to false, so that libpython.so can be loaded from the standard locations, most notably PATH on Windows.

Add --python option to cs bootstrap

When generating bootstraps, passing --python ensures jna.library.path and jna.nosys are set prior to starting the app, so that libpython.so can be loaded from JNA.

Add jna field in app descriptors

App descriptors now accept an optional jna field, whose value must be a list of strings. If this list contains "python", jna.library.path and jna.nosys are set prior to starting the app, so that libpython.so can be loaded from JNA.