coursier

Pure Scala Artifact Fetching

APACHE-2.0 License

Stars
2K

Bot releases are hidden (Show)

coursier -

Published by alexarchambault over 6 years ago

Changes

  • Remove some references to types directly under sbt. in sbt-shared module, to ease using coursier from sbt itself (#775, thanks to @leonardehrenfried)
  • Update points in DEVELOPMENT.md (#777 thanks to @baroquebobcat, #776)
  • Automatically initialize and update submodules when compiling coursier (#785)
  • Allow to specify the URL of a dependency via the CLI (#774, thanks to @dotordogh, use like coursier fetch org:name:ver,url=https%3A%2F%2F…%2Ffoo.jar)
  • core and cache modules don't depend on scalaz anymore (#781, #796, #807)
  • Remove some deprecated methods (#800, thanks to @wisechengyi)
  • Switch to directories 6 (#806)
  • Better handling of classifiers in JSON report (#782, thanks to @baroquebobcat)
  • Reattempt downloads in case of checksum error (#797, thanks to @wisechengyi)
  • Handle invalid partial content response code by retrying to download from start of file (#795, thanks to @rberenguel)
coursier -

Published by alexarchambault over 6 years ago

Changes

  • Reference less things directly under the sbt._ namespace from the sbt plugins, to ease the use of coursier from sbt itself (#766, #771, thanks to @leonardehrenfried)
  • Switch the cli to scala 2.12 and case-app 2.0.x (#748)
coursier -

Published by alexarchambault over 6 years ago

Changes

  • Allow to output resolution and fetch result in a JSON file (#692, #724, #749, mainly to be used by Pants, thanks to @wisechengyi)
  • Move the echo helper project to its own repository (#719)
  • Move the http-server helper project to its own repository (#720)
  • Move the sbt-launcher experimental project to its own repository (#721, #722)
  • Build coursier with sbt 1.0.x (#629)
  • Mention installation on archlinux in the README (#726, thanks to @2m)
  • Add sqlline example in the README (#727, thanks to @mprudhom)
  • Replace some of our sbt 0.13 / 1.0 compatibility code with @dwijnand's sbt-compat (#731, thanks to @dwijnand)
  • Small tweaks in the build of coursier (#729, #730, thanks to @dwijnand)
  • Automatically add non-http(s) artifacts in generated bootstraps (#742, thanks to @bosyi)
  • Add new syntax for classifiers for the CLI tools, like org:name:0.1,classifier=foo (#735, thanks to @wisechengyi)
  • Allow to deactivate Maven profiles from the CLI tools, like --profile '!scala-2.11' (#761)
  • Reference less things directly under the sbt._ namespace from the sbt plugins, to ease the use of coursier from sbt itself (#746, #763, #764, thanks to @leonardehrenfried)
  • Add ZSH completions (#756, thanks to @propensive)
  • Ensure POM files aren't added to the classpath by bootstraps (#762)
coursier -

Published by alexarchambault almost 7 years ago

Changes

  • In the sbt plugin, clean the in-memory caches of coursier in the clean command (thanks to @olivierdeckers, #690)
  • Handle version intervals specifying only one version (like [1.2.0], #702)
  • In the CLI tool, take into account the coursier.ivy.home and ivy.home Java properties to locate the local Ivy2 repository (#705, thanks to @Mocuto)
  • Ensure support for artifacts with type bundle is fine with Maven snapshot versioning (#706)
  • Fix ExceptionInInitializerError on FreeBSD (#707, via @soc's directories)
  • Allow to build the CLI tool with Pants (thanks to @wisechengyi, #709)
  • In the sbt plugin, don't evaluate unnecessary tasks that incur IO (#711)
  • Don't require adding a jboss repository in plugins.sbt or fail with a checksum error with some sbt plugins (sbt-assembly in particular, #712)
  • Move some coursier data types to / from sbt data types conversions to a separate module, sbt-shared (#712)
coursier -

Published by alexarchambault almost 7 years ago

This release was almost as-is re-published as 1.0.0. See the release notes for that version instead.

coursier -

Published by alexarchambault almost 7 years ago

Changes

  • Fix java.lang.IncompatibleClassChangeError exception with Java 9 (#678)
  • Fix "Missing Ivy XML" errors, with sbt >= 1.0.2, when publishing with sbt-pgp (#679)
  • Use OS-specific directory by default for the cache of coursier. Note that if a ~/.coursier already exists on your machine, it will be peaked by coursier instead of the OS-specific directory. If it doesn't, the OS-specific directory will be created and used (#676, thanks to @soc)
coursier -

Published by alexarchambault almost 7 years ago

Simply a convenience release, aiming at having the actual next release (1.0.0-RC13) be fine with Java 9. See the release notes for 1.0.0-RC13 for the actual list of changes.

The particularity of 1.0.0-RC12-1 is that its sbt-shading plugin generates code that is fine with Java 9, but it itself doesn't run fine in Java 9. On the other hand, 1.0.0-RC13 is fine in both cases (generates code fine with Java 9, and can itself run with Java 9).

coursier -

Published by alexarchambault almost 7 years ago

Changes

  • Fix small glitch when reading exclusions from POMs (#648)
  • More careful handling of dependencies between tasks in sbt plugin, via Def.taskDyn (#651)
  • Filter out sbt preloaded repos by default (these don't bring much when sbt-coursier is enabled, set the coursierKeepPreloaded setting to true to re-enabled, #651)
  • Add helper to make it easy to bump sbt-coursier version if sbt-coursier is loaded from project/project/plugins.sbt (add a addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-RC12") in project/project/plugins.sbt, then just a addSbtCoursier in project/plugins.sbt - #651)
  • Fix MatchError when using cross version patch with sbt 1.0 (#658)
coursier -

Published by alexarchambault about 7 years ago

Changes

  • Fix small glitch in API (#638, thanks to @larsrh)
  • Accept (even) more loose checksum formats (#640, thanks to @hochgi)
  • Tweak repository handling when during sbt start up (fixes issues with global plugins in sbt 1.0, #645)
  • Don't generate malformed Ivy XML due to pretty-printing (#646)
coursier -

Published by alexarchambault about 7 years ago

Changes

  • Automatically ensure the sbt plugin releases repository is there when needed (fixes issues fetching plugins enabled in ~/.sbt/0.13/plugins/plugins.sbt, along with sbt-coursier, when starting sbt, #635)
  • Fix possible issue getting some internal sbt dependency when starting it, with sbt-coursier enabled (#633)
coursier -

Published by alexarchambault about 7 years ago

Changes

  • Fetch artifacts with custom packaging types (e.g. aar packaging, #620)
  • Fix updateSbtClassifiers in sbt-coursier (regressed during RCs, #620)
  • Add short syntax for jitpack repository from the CLI tools (e.g. -r jitpack to add the jitpack repository, #620)
  • Add support for SHA-256 (thanks to @gaboraranyossy-da, #625)
  • Switch to scala-js 0.6.19 (#627)
  • Fix publishSigned when sbt-coursier is enabled (regressed in RC8, #627)
coursier -

Published by alexarchambault over 7 years ago

Changes

  • Add support for sbt 1.0.0-RC2 (#610)
  • Don't require adding "test-jar" to the classpathTypes setting to add test artifacts to the classpath (#612)
  • Increase default maximum number of iterations in resolution in sbt plugin (set it to the same value as the CLI tools, 100, #613)
  • Fix in compatibility API (#614)
coursier -

Published by alexarchambault over 7 years ago

Changes

  • Fix regressions that increased the number of iterations during resolution (and were possibly slowing resolutions, #599)

  • Make Maven property handling more robust (#599)

  • Allow to generate native launchers, e.g.

    $ coursier bootstrap -S -o native-test io.get-coursier.scala-native::sandbox_native0.3:0.3.0-coursier-1

generates a scala-native-based launcher (native-test) for... a hello world (#598).

  • Fix issue with classifiers and Ivy repositories, from the sbt plugin (#609)
  • Ensure the API doesn't return optional artifacts if not asked to (#606)
coursier -

Published by alexarchambault over 7 years ago

Changes

  • In sbt-coursier, give slow resolvers a lower priority by default (#592)
  • In sbt-coursier and sbt-shading, move non-project specific settings from project to build settings (#592)
  • Small fix in recent Maven snapshot versioning changes (#592)

Non-backward compatible changes

  • None
coursier -

Published by alexarchambault over 7 years ago

Changes

  • Fix updateSbtClassifiers (regression in 1.0.0-RC4, #585)
  • Fix in Maven dependency management scope overriding (#587)
  • Don't print duplicated dependencies in coursier resolve output (#587)
  • Move non-project specific settings to buildSettings in sbt-coursier (#588)

Non-backward compatible changes

  • None
coursier -

Published by alexarchambault over 7 years ago

Changes

  • Better support for Maven snapshot versioning (thanks to @rfkm, #581)
  • Add basic support for multiple version ranges (like [1.0,2.0),[3.0,4.0), #581)
  • Fix support for version ranges for sbt plugins from Maven repositories (#581)
  • Support sbt 1.0.0-M6 (replaces support for 1.0.0-M5, #560)
  • Have boostraps use the main coursier cache (#576)
  • More slick tree printing (thanks to @sschuberth, #574)
  • Better support for version ranges like 1.2.3-+ (thanks to @avdv, #556)
  • New sbt-pgp-coursier plugin, to download sbt-pgp checksums via coursier (#571)
  • (Even) more careful handling of HTTP connections (#568)
  • Don't fail if another coursier run downloads a file concurrently - watch the concurrent download instead, report its progress, and take over it if it gets interrupted (#568)
  • Switch to scala-js 0.6.17 (#565)
  • Ensure Nexus proxies (Nexus 2 and 3) support is fine (some regressions in 1.0.0-RC1, fixed in #554)
  • Don't mix resolutions of distinct Ivy configuration subgraphs in sbt-coursier (allows neo-sbt-scalafmt 0.2 to be fine with sbt-coursier, #554, and extra non regression test in #572 by @dotta)
  • Add support for binary checksum files (#554)

Non-backward compatible changes

  • None
coursier -

Published by alexarchambault over 7 years ago

Changes

  • Shade jsoup dependency in core (#534)
  • Better support for Typelevel Scala in sbt-coursier (#541)
  • Various fixes (#541)

Non-backward compatible changes

  • None
coursier -

Published by alexarchambault over 7 years ago

Changes

  • Lower memory load from sbt-coursier (#462, thanks to @vil1)
  • Better handling of Maven properties (#491)
  • Clarify help message in CLI (#490, thanks to @olafurpg)
  • Various fixes (#497, #498, #507, #509)
  • Add support for relocated dependencies (#507, #529)
  • Retry downloads if an SSLException is caught (#507)
  • Add support for build metadata in versions (#507)
  • Better handling of snapshot versioning (#508, thanks to @smarter)
  • Use sbt-release for releases (#512)
  • Switch to scala-js 0.6.16 (#522)
  • Some clean-up (#523, thanks to @Jentsch, #528)
  • Tweaking in sbt-shading plugin (#526, #527)
  • Cross-compile sbt plugins for sbt 1.0.0-M5 (#525)

Non-backward compatible changes

  • N/A
coursier -

Published by alexarchambault over 7 years ago

Changes

New features

Scaladex-based launch command

Allows to launch applications from their Scaladex name via the coursier launch command (#385, thanks to @MasseGuillaume too)

Example:

$ coursier launch lihaoyi/ammonite
$ coursier launch olafurpg/scalafmt

New sbt-shading plugin

Added in #426

Allows to shade dependencies like

lazy val myProj = project
  .enablePlugins(coursier.ShadingPlugin)
  .settings(
    shadingNamespace := "myproj.shaded",
    libraryDependencies += "com" %% "foo" % "0.2.3" % "shaded"
  )

sbt myProj/shading:publish then publishes myProj with com.foo shaded under the myproj.shaded namespace.

Experimental 100% coursier-based sbt launcher

Added in #439, available at csbt

Try it from the coursier sources with

$ ./csbt

Allows to add plugins from project/build.properties (optionally renamed to sbt.properties at the root of the project), like

sbt.version=0.13.13

plugins = [
  "org.xerial.sbt:sbt-pack:0.8.2"
  ...
]

Other new features

  • Helper syntax for bintray Ivy repositories (#481, thanks to @olafurpg)

Example

$ coursier launch -r bintray-ivy:org/repo-name ...

Bug fixes

  • Fix javadoc and sources of scala-library / scala-reflect not found when using the same Scala version as sbt (#406)
  • Better handling of packaging / artifact types / optional dependencies from Maven repositories (#430) - fixes broken or buggy sbt console, missing JARs for dependencies having packaging POM in their POM file.
  • Fix minor glitch in progress bar display (#439, display not cleaned properly after progress bars)
  • No more Unrecognized repository inter-project when running sbt updateSbtClassifiers (#439)
  • Don't trap parent POM or dependency management metadata errors (#437, thanks to @kzys)
  • Trim Maven properties (#421, thanks to @kzys)

Version bumps

  • Switch to scala 2.12.1 (#426)
  • Switch to scalaz 7.2.8 (#426)
  • Switch to scalajs 0.6.15 (#467)

Other

  • Fix typos in README (#413, thanks to @n4to4)
  • Shade fastparse dependency (#443)
  • Use sbt credentials by default (#445, thanks to @Jentsch, no more coursierUseSbtCredentials key to set to true)
  • Some code clean up (#472, thanks to @Jentsch, #474, #476)
  • Have MavenRepository be fine with sbt plugins by default (#477, no more flag to manually set to true)
  • Tweaks in coursier spark-submit command (#478, #484, #486)

Non-backward compatible changes

  • Some internal (but public) API changed, it is recommended to re-compile your code against 1.0.0-RC1.
coursier -

Published by alexarchambault over 7 years ago

-> 🗑️