Updates for 1.0.0-RC1

This commit is contained in:
Alexandre Archambault 2017-04-08 18:19:10 +02:00
parent d629f8f7b9
commit ccd1085194
5 changed files with 131 additions and 21 deletions

View File

@ -73,7 +73,7 @@ Lastly, it can be used programmatically via its [API](#api) and has a Scala JS [
Enable the SBT plugin by adding
```scala
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-M15")
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-RC1")
```
to `~/.sbt/0.13/plugins/build.sbt` (enables it globally), or to the `project/plugins.sbt` file
of an SBT project. Tested with SBT 0.13.8 / 0.13.9 / 0.13.11 / 0.13.12 / 0.13.13.
@ -111,8 +111,8 @@ $ ./coursier fetch org.apache.spark:spark-sql_2.11:1.6.1 com.twitter:algebird-sp
Add to your `build.sbt`
```scala
libraryDependencies ++= Seq(
"io.get-coursier" %% "coursier" % "1.0.0-M15",
"io.get-coursier" %% "coursier-cache" % "1.0.0-M15"
"io.get-coursier" %% "coursier" % "1.0.0-RC1",
"io.get-coursier" %% "coursier-cache" % "1.0.0-RC1"
)
```
@ -215,7 +215,7 @@ of the cache used by a particular project, in case you have any doubt about what
Enable the SBT plugin globally by adding
```scala
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-M15")
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-RC1")
```
to `~/.sbt/0.13/plugins/build.sbt`
@ -368,7 +368,7 @@ The `bootstrap` generates tiny bootstrap launchers, able to pull their dependenc
repositories on first launch. For example, the launcher of coursier is [generated](https://github.com/coursier/coursier/blob/master/project/generate-launcher.sh) with a command like
```
$ ./coursier bootstrap \
io.get-coursier:coursier-cli_2.11:1.0.0-M15 \
io.get-coursier:coursier-cli_2.11:1.0.0-RC1 \
-b -f -o coursier \
-M coursier.cli.Coursier
```
@ -380,12 +380,12 @@ See `./coursier bootstrap --help` for a list of the available options.
Add to your `build.sbt`
```scala
libraryDependencies ++= Seq(
"io.get-coursier" %% "coursier" % "1.0.0-M15",
"io.get-coursier" %% "coursier-cache" % "1.0.0-M15"
"io.get-coursier" %% "coursier" % "1.0.0-RC1",
"io.get-coursier" %% "coursier-cache" % "1.0.0-RC1"
)
```
The first module, `"io.get-coursier" %% "coursier" % "1.0.0-M15"`, mainly depends on
The first module, `"io.get-coursier" %% "coursier" % "1.0.0-RC1"`, mainly depends on
`scalaz-core` (and only it, *not* `scalaz-concurrent` for example). It contains among others,
definitions,
mainly in [`Definitions.scala`](https://github.com/coursier/coursier/blob/master/core/shared/src/main/scala/coursier/core/Definitions.scala),
@ -395,7 +395,7 @@ that expects to be given metadata, wrapped in any `Monad`, then feeds these to `
you the final `Resolution`, wrapped in the same `Monad` it was given input. This final `Resolution` has all the dependencies,
including the transitive ones.
The second module, `"io.get-coursier" %% "coursier-cache" % "1.0.0-M15"`, is precisely in charge of fetching
The second module, `"io.get-coursier" %% "coursier-cache" % "1.0.0-RC1"`, is precisely in charge of fetching
these input metadata. It uses `scalaz.concurrent.Task` as a `Monad` to wrap them. It also fetches artifacts (JARs, etc.).
It caches all of these (metadata and artifacts) on disk, and validates checksums too.
@ -440,7 +440,7 @@ scala> val repositories = Seq(
| Cache.ivy2Local,
| MavenRepository("https://repo1.maven.org/maven2")
| )
repositories: Seq[coursier.core.Repository] = List(IvyRepository(Pattern(List(Const(file://), Var(user.home), Const(/local/), Var(organisation), Const(/), Var(module), Const(/), Opt(WrappedArray(Const(scala_), Var(scalaVersion), Const(/))), Opt(WrappedArray(Const(sbt_), Var(sbtVersion), Const(/))), Var(revision), Const(/), Var(type), Const(s/), Var(artifact), Opt(WrappedArray(Const(-), Var(classifier))), Const(.), Var(ext))),None,None,true,true,true,true,None), MavenRepository(https://repo1.maven.org/maven2,None,false,None))
repositories: Seq[coursier.core.Repository] = List(IvyRepository(Pattern(List(Const(file://), Var(user.home), Const(/local/), Var(organisation), Const(/), Var(module), Const(/), Opt(WrappedArray(Const(scala_), Var(scalaVersion), Const(/))), Opt(WrappedArray(Const(sbt_), Var(sbtVersion), Const(/))), Var(revision), Const(/), Var(type), Const(s/), Var(artifact), Opt(WrappedArray(Const(-), Var(classifier))), Const(.), Var(ext))),None,None,true,true,true,true,None), MavenRepository(https://repo1.maven.org/maven2,None,true,None))
```
The first one, `Cache.ivy2Local`, is defined in `coursier.Cache`, itself from the `coursier-cache` module that
we added above. As we can see, it is an `IvyRepository`, picking things under `~/.ivy2/local`. An `IvyRepository`
@ -467,7 +467,7 @@ scala> MavenRepository(
| "https://nexus.corp.com/content/repositories/releases",
| authentication = Some(Authentication("user", "pass"))
| )
res6: coursier.maven.MavenRepository = MavenRepository(https://nexus.corp.com/content/repositories/releases,None,false,Some(Authentication(user, *******)))
res6: coursier.maven.MavenRepository = MavenRepository(https://nexus.corp.com/content/repositories/releases,None,true,Some(Authentication(user, *******)))
```
Now that we have repositories, we're going to mix these with things from the `coursier-cache` module,
@ -752,11 +752,15 @@ Once RCs will be considered stable enough, `1.0.0` should be released.
- Erem Boto ([@eboto](https://github.com/eboto))
- Erik LaBianca ([@easel](https://github.com/easel))
- Guillaume Massé ([@MasseGuillaume](https://github.com/MasseGuillaume))
- Han Ju ([@darkjh](https://github.com/darkjh))
- Jameel Al-Aziz ([@jalaziz](https://github.com/jalaziz))
- Jentsch ([@Jentsch](https://github.com/Jentsch))
- joriscode ([@joriscode](https://github.com/joriscode))
- Kazuyoshi Kato ([@kzys](https://github.com/kzys))
- Lars Hupel ([@larsrh](https://github.com/larsrh))
- n4to4 ([@n4to4](https://github.com/n4to4))
- Ólafur Páll Geirsson ([@olafurpg](https://github.com/olafurpg))
- Rodrigo Fernandes ([@rtfpessoa](https://github.com/rtfpessoa))
- Roman Iakovlev ([@RomanIakovlev](https://github.com/RomanIakovlev))
- Simon Ochsenreither ([@soc](https://github.com/soc))

BIN
coursier

Binary file not shown.

View File

@ -73,7 +73,7 @@ Lastly, it can be used programmatically via its [API](#api) and has a Scala JS [
Enable the SBT plugin by adding
```scala
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-M15")
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-RC1")
```
to `~/.sbt/0.13/plugins/build.sbt` (enables it globally), or to the `project/plugins.sbt` file
of an SBT project. Tested with SBT 0.13.8 / 0.13.9 / 0.13.11 / 0.13.12 / 0.13.13.
@ -111,8 +111,8 @@ $ ./coursier fetch org.apache.spark:spark-sql_2.11:1.6.1 com.twitter:algebird-sp
Add to your `build.sbt`
```scala
libraryDependencies ++= Seq(
"io.get-coursier" %% "coursier" % "1.0.0-M15",
"io.get-coursier" %% "coursier-cache" % "1.0.0-M15"
"io.get-coursier" %% "coursier" % "1.0.0-RC1",
"io.get-coursier" %% "coursier-cache" % "1.0.0-RC1"
)
```
@ -242,7 +242,7 @@ of the cache used by a particular project, in case you have any doubt about what
Enable the SBT plugin globally by adding
```scala
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-M15")
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-RC1")
```
to `~/.sbt/0.13/plugins/build.sbt`
@ -397,7 +397,7 @@ The `bootstrap` generates tiny bootstrap launchers, able to pull their dependenc
repositories on first launch. For example, the launcher of coursier is [generated](https://github.com/coursier/coursier/blob/master/project/generate-launcher.sh) with a command like
```
$ ./coursier bootstrap \
io.get-coursier:coursier-cli_2.11:1.0.0-M15 \
io.get-coursier:coursier-cli_2.11:1.0.0-RC1 \
-b -f -o coursier \
-M coursier.cli.Coursier
```
@ -409,12 +409,12 @@ See `./coursier bootstrap --help` for a list of the available options.
Add to your `build.sbt`
```scala
libraryDependencies ++= Seq(
"io.get-coursier" %% "coursier" % "1.0.0-M15",
"io.get-coursier" %% "coursier-cache" % "1.0.0-M15"
"io.get-coursier" %% "coursier" % "1.0.0-RC1",
"io.get-coursier" %% "coursier-cache" % "1.0.0-RC1"
)
```
The first module, `"io.get-coursier" %% "coursier" % "1.0.0-M15"`, mainly depends on
The first module, `"io.get-coursier" %% "coursier" % "1.0.0-RC1"`, mainly depends on
`scalaz-core` (and only it, *not* `scalaz-concurrent` for example). It contains among others,
definitions,
mainly in [`Definitions.scala`](https://github.com/coursier/coursier/blob/master/core/shared/src/main/scala/coursier/core/Definitions.scala),
@ -424,7 +424,7 @@ that expects to be given metadata, wrapped in any `Monad`, then feeds these to `
you the final `Resolution`, wrapped in the same `Monad` it was given input. This final `Resolution` has all the dependencies,
including the transitive ones.
The second module, `"io.get-coursier" %% "coursier-cache" % "1.0.0-M15"`, is precisely in charge of fetching
The second module, `"io.get-coursier" %% "coursier-cache" % "1.0.0-RC1"`, is precisely in charge of fetching
these input metadata. It uses `scalaz.concurrent.Task` as a `Monad` to wrap them. It also fetches artifacts (JARs, etc.).
It caches all of these (metadata and artifacts) on disk, and validates checksums too.
@ -786,11 +786,15 @@ Once RCs will be considered stable enough, `1.0.0` should be released.
- Erem Boto ([@eboto](https://github.com/eboto))
- Erik LaBianca ([@easel](https://github.com/easel))
- Guillaume Massé ([@MasseGuillaume](https://github.com/MasseGuillaume))
- Han Ju ([@darkjh](https://github.com/darkjh))
- Jameel Al-Aziz ([@jalaziz](https://github.com/jalaziz))
- Jentsch ([@Jentsch](https://github.com/Jentsch))
- joriscode ([@joriscode](https://github.com/joriscode))
- Kazuyoshi Kato ([@kzys](https://github.com/kzys))
- Lars Hupel ([@larsrh](https://github.com/larsrh))
- n4to4 ([@n4to4](https://github.com/n4to4))
- Ólafur Páll Geirsson ([@olafurpg](https://github.com/olafurpg))
- Rodrigo Fernandes ([@rtfpessoa](https://github.com/rtfpessoa))
- Roman Iakovlev ([@RomanIakovlev](https://github.com/RomanIakovlev))
- Simon Ochsenreither ([@soc](https://github.com/soc))

102
notes/1.0.0-RC1.markdown Normal file
View File

@ -0,0 +1,102 @@
## Changes
### New features
* Allow to launch applications from their Scaladex name via the `coursier launch` command ([#385], thanks to [@MasseGuillaume] too)
Example
```
$ coursier launch lihaoyi/Ammonite
$ coursier launch scalameta/scalafmt
```
* Add sbt-shading plugin ([#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.
* Add experimental 100% coursier-based sbt launcher ([#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"
...
]
```
* 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])
[#385]: https://github.com/alexarchambault/coursier/pull/385
[#406]: https://github.com/alexarchambault/coursier/pull/406
[#413]: https://github.com/alexarchambault/coursier/pull/413
[#421]: https://github.com/alexarchambault/coursier/pull/421
[#426]: https://github.com/alexarchambault/coursier/pull/426
[#430]: https://github.com/alexarchambault/coursier/pull/430
[#437]: https://github.com/alexarchambault/coursier/pull/437
[#439]: https://github.com/alexarchambault/coursier/pull/439
[#443]: https://github.com/alexarchambault/coursier/pull/443
[#445]: https://github.com/alexarchambault/coursier/pull/445
[#467]: https://github.com/alexarchambault/coursier/pull/467
[#472]: https://github.com/alexarchambault/coursier/pull/472
[#474]: https://github.com/alexarchambault/coursier/pull/474
[#476]: https://github.com/alexarchambault/coursier/pull/476
[#477]: https://github.com/alexarchambault/coursier/pull/477
[#478]: https://github.com/alexarchambault/coursier/pull/478
[#481]: https://github.com/alexarchambault/coursier/pull/481
[#484]: https://github.com/alexarchambault/coursier/pull/484
[#486]: https://github.com/alexarchambault/coursier/pull/486
[@Jentsch]: https://github.com/Jentsch
[@kzys]: https://github.com/kzys
[@MasseGuillaume]: https://github.com/MasseGuillaume
[@n4to4]: https://github.com/n4to4
[@olafurpg]: https://github.com/olafurpg
### Non-backward compatible changes
* Some internal (but public) API changed, it is recommended to re-compile your code against `1.0.0-RC1`.

View File

@ -1,6 +1,6 @@
#!/bin/bash
VERSION=1.0.0-M15
VERSION=1.0.0-RC1
CACHE_VERSION=v1
SBTPACK_LAUNCHER="$(dirname "$0")/../cli/target/pack/bin/coursier"