From 263cf7194e7b373b21028aad9bf31d3ef04d0b32 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 12 Dec 2014 12:10:26 -0500 Subject: [PATCH 1/2] Notes --- notes/0.13.8.markdown | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/notes/0.13.8.markdown b/notes/0.13.8.markdown index aae8be9cc..13580163c 100644 --- a/notes/0.13.8.markdown +++ b/notes/0.13.8.markdown @@ -2,28 +2,36 @@ [@eed3si9n]: https://github.com/eed3si9n [@gkossakowski]: https://github.com/gkossakowski [@jsuereth]: https://github.com/jsuereth + + [@ajozwik]: https://github.com/ajozwik + [@dwickern]: https://github.com/dwickern [@kretes]: https://github.com/kretes [@j-keck]: https://github.com/j-keck + [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 + [1741]: https://github.com/sbt/sbt/pull/1741 [1746]: https://github.com/sbt/sbt/pull/1746 [1748]: https://github.com/sbt/sbt/issues/1748 + [1771]: https://github.com/sbt/sbt/pull/1771 ### Improvements -- Discovered main classes are now 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] +- 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. -## Fixes +### Fixes -- Javac warnings now always treated as warnings. [#1702][1702]/[#875][875] by [@jsuereth][jsuereth] -- compilerReporter now fed to javac during incremental compilation. [#1542][1542] by [@jsuereth][jsuereth] -- ignore hidden build files from the build. [#1746][1746] by [@j-keck][@j-keck] +- 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] -## Project-level dependency exclusions +### Project-level dependency exclusions sbt 0.13.8 adds project-level dependency exclusions: @@ -31,4 +39,4 @@ sbt 0.13.8 adds project-level dependency exclusions: excludeDependencies += "com.example" %% "foo" In the first example, all artifacts from the organization `"org.apache.logging.log4j"` are excluded from the managed dependency. -In the second example, artifacts with the organization `"com.example"` and the name `"foo"` cross versioned to the current `scalaVersion` are excluded. +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] From 79170a4df387456312fa739be4e37867614db2d5 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 12 Dec 2014 12:45:14 -0500 Subject: [PATCH 2/2] Document the XML situation --- notes/0.13.8.markdown | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/notes/0.13.8.markdown b/notes/0.13.8.markdown index 13580163c..550194bbf 100644 --- a/notes/0.13.8.markdown +++ b/notes/0.13.8.markdown @@ -12,10 +12,16 @@ [1180]: https://github.com/sbt/sbt/issues/1180 [1542]: https://github.com/sbt/sbt/issues/1542 [1702]: https://github.com/sbt/sbt/pull/1702 + [1738]: https://github.com/sbt/sbt/issues/1738 [1741]: https://github.com/sbt/sbt/pull/1741 [1746]: https://github.com/sbt/sbt/pull/1746 [1748]: https://github.com/sbt/sbt/issues/1748 [1771]: https://github.com/sbt/sbt/pull/1771 + [SI-9027]: https://issues.scala-lang.org/browse/SI-9027 + +### Fixes with compatibility implications + +- Rolls back XML parsing workaround. See below. ### Improvements @@ -31,6 +37,20 @@ - 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] +### 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 = + val b = 0 + +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, encose them in `` tag, or parentheses. + + val a = + val b = 0 + +[#1765][1765] by [@ajozwik][@ajozwik] + ### Project-level dependency exclusions sbt 0.13.8 adds project-level dependency exclusions: