sbt/notes/0.13.8.markdown

63 lines
3.0 KiB
Markdown
Raw Normal View History

[@cunei]: https://github.com/cunei
[@eed3si9n]: https://github.com/eed3si9n
[@gkossakowski]: https://github.com/gkossakowski
[@jsuereth]: https://github.com/jsuereth
2014-12-12 18:10:26 +01:00
[@ajozwik]: https://github.com/ajozwik
[@dwickern]: https://github.com/dwickern
[@kretes]: https://github.com/kretes
[@j-keck]: https://github.com/j-keck
2014-12-12 18:10:26 +01:00
[875]: https://github.com/sbt/sbt/issues/875
[1180]: https://github.com/sbt/sbt/issues/1180
[1542]: https://github.com/sbt/sbt/issues/1542
[1702]: https://github.com/sbt/sbt/pull/1702
2014-12-12 18:45:14 +01:00
[1738]: https://github.com/sbt/sbt/issues/1738
2014-12-12 18:10:26 +01:00
[1741]: https://github.com/sbt/sbt/pull/1741
[1746]: https://github.com/sbt/sbt/pull/1746
[1748]: https://github.com/sbt/sbt/issues/1748
2014-12-12 18:10:26 +01:00
[1771]: https://github.com/sbt/sbt/pull/1771
2014-12-12 18:45:14 +01:00
[SI-9027]: https://issues.scala-lang.org/browse/SI-9027
### Fixes with compatibility implications
- Rolls back XML parsing workaround. See below.
### Improvements
2014-12-12 18:10:26 +01:00
- Discovered main classes will be sorted. [#1180][1180] by [@kretes][@kretes]
- Implemented a new mechanism of forking javac, whereby errors are captured. Also more likely to run in-process. [#1702][1702] by [@jsuereth][@jsuereth]
- Adds project-level dependency exclusions. See below.
2014-10-31 21:04:43 +01:00
2014-12-12 18:10:26 +01:00
### Fixes
2014-10-31 21:04:43 +01:00
2014-12-12 18:10:26 +01:00
- Javac warnings are treated as warnings. [#1702][1702]/[#875][875] by [@jsuereth][@jsuereth]
- `compilerReporter` is fed to javac during incremental compilation. [#1542][1542] by [@jsuereth][@jsuereth]
- Ignores hidden build files from the build. [#1746][1746] by [@j-keck][@j-keck]
- Fixes build.sbt parsing of multiple import. [#1741][1741] by [@ajozwik][@ajozwik]
- Fixes ANSI escape code for overwriting lines on Windows. [#1771][1771] by [@dwickern][@dwickern]
2014-12-12 18:45:14 +01:00
### Rolling back XML parsing workaround
sbt 0.13.7 implemented natural whitespace handling by switching `build.sbt` parsing to use Scala compiler, instead of blank line delimiting. We realized that some build definitions no longer parsed due to the difference in XML handling.
val a = <x/><y/>
val b = 0
2015-01-24 19:45:15 +01:00
At the time, we thought adding parentheses around XML nodes could work around this behavior. However, the workaround has caused [more issues][1738], and since then we have realized that this is a compiler issue [SI-9027][SI-9027], so we have decided to roll back our workaround. In the meantime, if you have consecutive XML elements in your build.sbt, enclose them in `<xml:group>` tag, or parentheses.
2014-12-12 18:45:14 +01:00
val a = <xml:group><x/><y/></xml:group>
val b = 0
[#1765][1765] by [@ajozwik][@ajozwik]
2014-12-12 18:10:26 +01:00
### Project-level dependency exclusions
sbt 0.13.8 adds project-level dependency exclusions:
excludeDependencies += "org.apache.logging.log4j"
excludeDependencies += "com.example" %% "foo"
In the first example, all artifacts from the organization `"org.apache.logging.log4j"` are excluded from the managed dependency.
2014-12-12 18:10:26 +01:00
In the second example, artifacts with the organization `"com.example"` and the name `"foo"` cross versioned to the current `scalaVersion` are excluded. [#1748][1748] by [@eed3si9n][@eed3si9n]