sbt/notes/0.13.10.markdown

7.4 KiB

Fixes with compatibility implications

  • sbt 0.13.10 adds a new setting useJCenter, which is set to false by default. When set to true, JCenter will be placed as the first external resolver to find library dependencies. #2217 by @eed3si9n
  • sbt will no longer pass -J<flag> options to the local Java compiler. #1968/#2272 by @Duhemm

Improvements

  • Scala version used by the build is updated to 2.10.6. [#2311][2311] by @eed3si9n
  • makePom warns when it sees intransitive dependencies, which do not translate to Maven. #2127 by @jsuereth
  • Adds Def.settings, which facilitates mixing settings with seq of settings. See below.
  • Adds configurable compiler bridge. See below.
  • sbt Serialization is updated to 0.1.2. [2117][#2117] by @dwijnand
  • Hides the stack trace on compilation error in build definition. #2071/#2091 by @Duhemm
  • Makes the dummy Logger.Null public. #2094 by @pdalpra
  • Uses diagnostic classes to get lines contents in local Java compiler. #2108/#2201 by @fkorotkov
  • Logs javaOptions used when forking. #2087/#2103 by @pdalpra
  • Warns when javaOptions are defined but fork is set to false. #2041/#2103 by @pdalpra
  • Adds an Append.Sequence instance for List to allow +=/++= on developers setting. #2107/#2114 by @pdalpra
  • Fixes warnings, and other clean ups. #2112/#2137/#2139/#2142 by @pdalpra
  • Adds localIfFile to MavenRepository, to force artifacts to be copied to the cache. #2172 by @dwijnand
  • Adds Resolver.bintrayIvyRepo(owner, repo). #2285 by @dwijnand

Bug fixes

  • Fixes the false positive of inconsistent duplicate warnings. #1933/#2258 by @Duhemm

  • Updated Ivy to merge IVY-1526 fix. sbt/ivy#14/#2118 by @jsuereth

  • Fixes updateClassifiers downloading updated snapshot sources and docs. #1750/sbt/ivy#17/#2163/sbt/ivy#18/#2186 by @dwijnand

  • Fixes updateClassifiers on Ivy modules without default configuration. #2264 by @eed3si9n/@Duhemm

  • Updated JLine to version 2.13. #1681/#2173

  • Changing the value of a constant (final-static-primitive) field will now correctly trigger incremental compilation for downstream classes. This is to account for the fact that Java compilers may inline constant fields in downstream classes. #1967/#2085 by @stuhood

  • Fixes classfile location detection. #2214 by @stuhood

  • Fixes a few typos in keys descriptions. #2092 by @pdalpra

  • Avoids the use of ListBuffer#readOnly. #2095 by @adriaanm

  • Expands transitive dependency exclusions when using sbt-maven-resolver-plugin #2109 by @jsuereth

  • Fixes incremental compilation of traits by including private members into the API hash. #2155/#2160

  • Fixes name hashing error messages. #2158 by @stuhood

  • Adds more robustness to tasks and settings command. #2192 by @DavidPerezIngeniero

  • Fixes Java compilation inconsistencies between sbt and javac by always failing if the local Java compiler reported errors. #2228/#2271 by @Duhemm

  • Fixes JavaErrorParser to parse non-compile-errors #2256/#2272 by @Duhemm

  • Fixes task scheduling performance on large builds by skipping checks in sbt.Execute. #2302/#2303 by @jrudolph

Def.settings

Using Def.settings it is now possible to nicely define settings as such:

val modelSettings = Def.settings(
  sharedSettings,
  libraryDependencies += foo
)

#2151 by @dwijnand

Configurable Scala compiler bridge

sbt 0.13.10 adds scalaCompilerBridgeSource setting to specify the compiler brigde source. This allows different implementation of the bridge for Scala versions, and also allows future versions of Scala compiler implementation to diverge. The source module will be retrieved using library management configured by bootIvyConfiguration task.

#2106/#2197/#2336 by @Duhemm