This allows using a project reference that points to a readonly
directory.
The use case for this is having sbt plugin projects on a network
share (readonly) that you can just point to. The plugin projects
get copied and built automatically, just like a git project
reference gets cloned and built.
This will ease plugin imcompatibilies between minor sbt versions,
avoiding to have to cross build plugins against all compatible sbt
versions.
When gitRetrieve(.) fails (e.g. because no git is installed) an
exception is thrown but the created directory isn't removed. This commit
removes the directory when an exception occurs, so that the user can
retry.
set retrieve := true to have dependencies retrieved to the build
the location is by default shared by all projects in a build
(<built-root>/lib_managed/), but can be per-project
update-classifiers and update-sbt-classifiers retrieves artifacts with classifiers
for project dependencies and for sbt, respectively
The default setting is classifiers := Seq("javadoc", "sources")
- rename resolvers to fullResolvers, baseResolvers to resolvers
- if set, use javaHome for compilation as well as running
- add scalaHome configuration for easily configuring scalaInstance
for a local Scala installation
- no longer require source roots for Java sources. Instead, resolve
ambiguities by package name and then distance to root. Common
package suffixes in different directories within the same project
are a potential problem.
- drop fillThis: handle in injectStreams instead
- simplify InputParser construction (at the expense of implementation simplicity)
- split out ScopeKey/initialization parts of Setting with separate Initialize trait
+ makes Apply obsolete
+ makes the Initialize trait properly composable
+ this allowed splitting the InputParser definition into
an Initialize for parsing and one for the action
- implement test-only
- inject resolved scope