sbt/notes/0.13.6.md

134 lines
7.9 KiB
Markdown
Raw Normal View History

[413]: https://github.com/sbt/sbt/issues/413
2014-07-30 00:35:48 +02:00
[1036]: https://github.com/sbt/sbt/pull/1036
[1059]: https://github.com/sbt/sbt/issues/1059
[1194]: https://github.com/sbt/sbt/issues/1194
2014-07-27 18:53:49 +02:00
[1200]: https://github.com/sbt/sbt/issues/1200
2014-07-30 00:35:48 +02:00
[1213]: https://github.com/sbt/sbt/issues/1213
[1312]: https://github.com/sbt/sbt/pull/1312
[1313]: https://github.com/sbt/sbt/pull/1313
[1315]: https://github.com/sbt/sbt/issues/1315
[1330]: https://github.com/sbt/sbt/pull/1330
[1346]: https://github.com/sbt/sbt/pull/1346
[1347]: https://github.com/sbt/sbt/issues/1347
[1352]: https://github.com/sbt/sbt/pull/1352
[1358]: https://github.com/sbt/sbt/pull/1358
[1366]: https://github.com/sbt/sbt/issues/1366
[1367]: https://github.com/sbt/sbt/pull/1367
[1378]: https://github.com/sbt/sbt/pull/1378
[1383]: https://github.com/sbt/sbt/pull/1383
[1400]: https://github.com/sbt/sbt/pull/1400
[1401]: https://github.com/sbt/sbt/pull/1401
[1409]: https://github.com/sbt/sbt/pull/1409
[1416]: https://github.com/sbt/sbt/issues/1416
[1419]: https://github.com/sbt/sbt/pull/1419
[1422]: https://github.com/sbt/sbt/issues/1422
[1423]: https://github.com/sbt/sbt/pull/1423
[1426]: https://github.com/sbt/sbt/pull/1426
[1433]: https://github.com/sbt/sbt/pull/1433
[1447]: https://github.com/sbt/sbt/pull/1447
[1450]: https://github.com/sbt/sbt/pull/1450
[1451]: https://github.com/sbt/sbt/pull/1451
[1454]: https://github.com/sbt/sbt/pull/1454
2014-07-30 00:35:48 +02:00
[1456]: https://github.com/sbt/sbt/pull/1456
[1467]: https://github.com/sbt/sbt/pull/1467
2014-08-01 00:24:43 +02:00
[1476]: https://github.com/sbt/sbt/pull/1476
[1477]: https://github.com/sbt/sbt/pull/1477
2014-08-01 21:14:51 +02:00
[1486]: https://github.com/sbt/sbt/pull/1486
2014-08-01 23:18:37 +02:00
[1487]: https://github.com/sbt/sbt/pull/1487
[1488]: https://github.com/sbt/sbt/pull/1488
2014-07-30 00:35:48 +02:00
[@dansanduleac]: https://github.com/dansanduleac
[@2m]: https://github.com/2m
[@pvlugter]: https://github.com/pvlugter
[@eed3si9n]: https://github.com/eed3si9n
[@jsuereth]: https://github.com/jsuereth
[@benjyw]: https://github.com/benjyw
[@xuwei-k]: https://github.com/xuwei-k
[@jroper]: https://github.com/jroper
[@lpiepiora]: https://github.com/lpiepiora
[@vn971]: https://github.com/vn971
[@dpratt]: https://github.com/dpratt
[@henrikengstrom]: https://github.com/henrikengstrom
2014-08-01 00:24:43 +02:00
[@puffnfresh]: https://github.com/puffnfresh
2014-07-30 00:35:48 +02:00
### Fixes with compatibility implications
- `ThisProject` used to resolve to the root project in a build even when it's place in `subproj/build.sbt`. sbt 0.13.6 fixes it to resolve to the sub project. [#1194][1194]/[#1358][1358] by [@dansanduleac][@dansanduleac]
- Global plugins classpath used to be injected into every build. This will no longer be the case. [#1347][1347]/[#1352][1352] by [@dansanduleac][@dansanduleac]
- Fixes `newer` command in scripted. [#1419][1419] by [@jroper][@jroper]
### Improvements
- Derived settings can replace previously-defined but non-default settings. [#1036][1036] by [@dansanduleac][@dansanduleac]
- Sorts setting key names in the inspect tree view. [#1313][1313] by [@2m][@2m]
- Uses separate update caches when cross compiling scala. [#1330][1330] by [@pvlugter][@pvlugter]
- Ensures sequences in analysis files are read in order. [#1346][1346] by [@benjyw][@benjyw]
- Enables tab completion for scripted task. [#1383][1383] by [@xuwei-k][@xuwei-k]
- Allows project reference to to a branch of a local git repository. [#1409][1409] by [@vn971][@vn971]
- Triggered Execution is now aware of rename or move of files. [#1401][1401] by [@xuwei-k][@xuwei-k]
- No longer updates classifiers of `projectDependencies`. [#1366][1366]/[#1367][1367] by [@dansanduleac][@dansanduleac]
- Selects the first test fingerprint for a test name for forked tests. [#1450][1450] by [@pvlugter][@pvlugter]
- Allows default auto plugins to be disabled. [#1451][1451] by [@jsuereth][@jsuereth]
- Allows keys defined inside `build.sbt` to be used from sbt shell. [#1059][1059]/[#1456][1456]
2014-08-01 00:24:43 +02:00
- Updates internal Ivy instance to cache the results of dependency exclusion rules. [#1476][1476] by [@eed3si9n][@eed3si9n]
2014-07-30 00:35:48 +02:00
### Bug fixes
2014-07-30 03:06:33 +02:00
- Allows auto-generated projects to have overridden organization. [#1315][1315]/[#1378][1378] by [@jsuereth][@jsuereth]
2014-07-30 00:35:48 +02:00
- Fixes auto plugins declared without package object. [#1423][1423] by [@lpiepiora][@lpiepiora]
- Fixes `plugin` command. [#1416][1416]/[#1426][1426] by [@lpiepiora][@lpiepiora]
- Adds `scala-jar` to the list of jar artifacts recognized by CustomPomParser. [#1400][1400] by [@dpratt][@dpratt]
- Fixes cross versioning to recognize version number with mutiple -tags. [#1433][1433] by [@henrikengstrom][@henrikengstrom]
2014-08-01 00:24:43 +02:00
- Works around "Not a simple type" breaking `-Xfatal-warnings`. [#1477][1477] by [@puffnfresh][@puffnfresh]
2014-08-01 21:14:51 +02:00
- Fixes sLog usage in tandem with the `set` comamnd [#1486][1486] [@jsuereth][@jsuereth]
2014-08-01 23:18:37 +02:00
- Test suites with whitespace will have prettier filenames [#1487][1487] [@jsuereth][@jsuereth]
- sbt no longer crashes when run in root directory [#1488][1488] by [@jsuereth][@jsuereth]
2014-07-30 00:35:48 +02:00
### enablePlugins/disablePlugins
sbt 0.13.6 now allows `enablePlugins` and `disablePlugins` to be written directly in `build.sbt`. [#1213][1213]/[#1312][1312] by [@jsuereth][@jsuereth]
### Unresolved dependencies error
sbt 0.13.6 will try to reconstruct dependencies tree when it fails to resolve a managed dependency.
This is an approximation, but it should help you figure out where the problematic dependency is coming from:
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: foundrylogic.vpp#vpp;2.2.1: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] Note: Unresolved dependencies path:
[warn] foundrylogic.vpp:vpp:2.2.1
[warn] +- org.apache.cayenne:cayenne-tools:3.0.2
[warn] +- org.apache.cayenne.plugins:maven-cayenne-plugin:3.0.2
[warn] +- d:d_2.10:0.1-SNAPSHOT
[#1422][1422]/[#1447][1447] by [@eed3si9n][@eed3si9n]
2014-07-27 18:53:49 +02:00
### Eviction warnings
sbt 0.13.6 displays eviction warnings when it resolves your project's managed dependencies via `update` task.
Currently the eviction warnings are categorized into three layers: `scalaVersion` eviction, direct evictions, and transitive evictions.
By default eviction warning on `update` task will display only `scalaVersion` evictin and direct evictions.
`scalaVersion` eviction warns you when `scalaVersion` is no longer effecitive. This happens when one of your dependency depends on a newer release of scala-library than your `scalaVersion`.
Direct evctions are evictions related to your direct dependencies. Warnings are displayed only when API incompatibility is suspected. For Java libraries, Semantic Versioning is used for guessing, and for Scala libraries Second Segment versioning (second segment bump makes API incompatible) is used.
To display all eviction warnings with caller information, run `evicted` task.
[warn] There may be incompatibilities among your library dependencies.
[warn] Here are some of the libraries that were evicted:
[warn] * com.typesafe.akka:akka-actor_2.10:2.1.4 -> 2.3.4 (caller: com.typesafe.akka:akka-remote_2.10:2.3.4,
org.w3:banana-sesame_2.10:0.4, org.w3:banana-rdf_2.10:0.4)
2014-07-30 00:35:48 +02:00
[#1200][1200]/[#1467][1467] by [@eed3si9n][@eed3si9n]
2014-07-27 18:53:49 +02:00
### Consolidated resolution
sbt 0.13.6 adds a new setting key called `updateOptions`, which can be used to enable consolidated resolution for `update` task.
updateOptions := updateOptions.value.withConsolidatedResolution(true)
2014-07-30 00:35:48 +02:00
This feature is specifically targeted to address [Ivy resolution is beging slow for multi-module projects #413][413]. Consolidated resolution aims to fix this issue by artificially constructing an Ivy dependency graph for the unique managed dependencies. If two subprojects introduce identical external dependencies, both subprojects should consolidate to the same graph, and therefore resolve immediately for the second `update`. [#1454][1454] by [@eed3si9n][@eed3si9n]