mirror of https://github.com/sbt/sbt.git
Previously, the ClassLoaderLayeringStrategy was set globally. This didn't really make sense because the Runtime and Test configs had different strategies available (Test being a superset of Runtime). Instead, we now set the layering strategy in the Runtime and Test configurations directly. In doing this, we can eliminate the Default ClassLoaderLayeringStrategy. Previously this had existed so that we could set the layering strategy globally and have it do the right thing in both test and runtime. To implement this, I factored out the logic for generating the layered classloader in the test task and shared it with the runtime task. I did this because I realized that Test / run is a thing. Previously I had been operating under the assumption that the runner would never include the test dependencies. Once I realized this, it made sense to combine the logic in both tasks. As a bonus, I only allow the layering strategies that explicitly make sense to be set in each configuration. If the user sets an invalid strategy, an error will be thrown that specifies the valid strategies for the task. I also added ScalaInstance as an option for the runtime layer. It was an oversight that this was left out. |
||
|---|---|---|
| .github | ||
| core-macros/src/main/scala/sbt/internal/util/appmacro | ||
| internal | ||
| launch | ||
| licenses | ||
| main | ||
| main-actions/src | ||
| main-command/src | ||
| main-settings/src | ||
| notes | ||
| project | ||
| protocol/src/main | ||
| run | ||
| sbt/src | ||
| scripted-plugin/src/main/scala/sbt | ||
| scripted-sbt-old/src/main/scala/sbt/test | ||
| scripted-sbt-redux | ||
| src/main/conscript | ||
| tasks | ||
| tasks-standard | ||
| testing | ||
| vscode-sbt-scala | ||
| .appveyor.yml | ||
| .gitattributes | ||
| .gitignore | ||
| .java-version | ||
| .sbtopts | ||
| .scalafmt.conf | ||
| .travis.yml | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| NOTICE | ||
| PROFILING.md | ||
| README.md | ||
| SUPPORT.md | ||
| build.sbt | ||
| reset.sh | ||
| sbt-allsources.sh | ||
| server.md | ||
README.md
sbt
sbt is a build tool for Scala, Java, and more.
For general documentation, see http://www.scala-sbt.org/.
sbt 1.x
This is the 1.x series of sbt. The source code of sbt is split across several Github repositories, including this one.
- sbt/io hosts
sbt.iomodule. - sbt/util hosts a collection of internally used modules.
- sbt/librarymanagement hosts
sbt.librarymanagementmodule that wraps Ivy. - sbt/zinc hosts Zinc, an incremental compiler for Scala.
- sbt/sbt, this repository hosts modules that implements the build tool.
Other links
- Setup: Describes getting started with the latest binary release.
- FAQ: Explains how to get help and more.
- sbt/sbt-zero-seven: hosts sbt 0.7.7 and earlier versions
Issues and Pull Requests
Please read CONTRIBUTING carefully before opening a GitHub Issue.
The short version: try searching or asking on StackOverflow.
license
See LICENSE.