sbtApiVersion and scalaApiVersion each calculates the API
version of release builds as well as milestones and RCs.
scalaBinaryVersion and sbtBinaryVersion are now aware of
scalaApiVersion and sbtApiVersion respectively.
For example, sbtBinaryVersion for "0.13.0-SNAPSHOT" now evaluates to
"0.13.0-SNAPSHOT" instead of "0.13".
Set autoAPIMappings := true to enable.
Then, set apiURL to the base URL of the API documentation for a project.
This will get stored in an extra attribute in the ivy.xml or as a property
a pom.xml.
When using managed dependencies that have set their apiURL, the -doc-external-doc
setting for scaladoc will be automatically configured. Note that this option
will only be available in Scala 2.10.1 and so enabling autoAPIMappings for
earlier versions will result in an error from scaladoc.
For unmanaged dependencies or dependencies without an automatic apiURL, add the
(File,URL) mapping to apiMappings. The File is the classpath entry and the URL
is the location of the API documentation.
The verbose-level logging is what usually contains relevant information for the user.
Persisting the debug logging slows down update noticeably and clutters the more useful
debug logging output from verbose.
1. Scala jars won't be copied to the boot directory, except for those needed to run sbt.
2. Scala SNAPSHOTs behave like normal SNAPSHOTs. In particular, running `update` will properly re-resolve the dynamic revision.
3. Scala jars are resolved using the same repositories and configuration as other dependencies.
4. Classloaders (currently, Scala classloaders) are cached by the timestamps of entries instead of Scala class loaders being cached by version.
TODO: Support external dependency configuration
Replaces the standard Ivy resolution cache:
1. Separate the cached resolved Ivy files from resolution reports,
making resolution reports easier to find (target/resolution-cache/reports/)
2. Cache location includes extra attributes so that cross builds of a plugin
do not overwrite each other.
- deprecate scala-tools resolvers
- rename `typesafeResolver` to `typesafeReleases` for consistency
- add reference for other wel known resolvers, viz., oss.sonatype.org and scalasbt.artifactoryonline.com
- rearrange locations for helper methods
Sonatype OSS repo (where many libraries are expected to migrate) requires
populating SCM info in additional to what is already provisioned for
populating in SBT.
We now support populating the basic SCM info as thus:
```
// Usual <scm><url/><connection/></scm>
scmInfo := Some(ScmInfo(url("https://github.com/foo/project"), "scmhttps://github.com/foo/project.git"))
// Also add <developerConnection/>
scmInfo := Some(ScmInfo(url("https://github.com/foo/project"), "scmhttps://github.com/foo/project.git", Some("dev_connection")))
```
For anything more esoteric than the basic info, there is always `pomPostProcess` :)