sbt is an open source build tool for Scala and Java projects, similar to Java's Maven or Ant.
- Fast and unintrusive to build simple projects.
- Supports multiple projects/modules, external projects and other advanced setups.
- Configuration, customization, and extension are done in Scala.
- Dependency management support: inline declarations, external Ivy or Maven configuration files, and manual library management.
- Supports mixed Scala/Java projects, packages jars, generates documentation with scaladoc.
- Plugin framework for customized integrations (i.e. web app servers, IDEs, ORMs).
- Supports testing with ScalaCheck, specs, and ScalaTest (JUnit is supported by a plugin).
- Continuous compilation and testing with triggered execution.
- Accurate recompilation is done using information extracted from the compiler.
- Starts the Scala REPL with project classes and dependencies on the classpath.
- Parallel task execution, including parallel test execution.
Stack Overflow sbt Tutorial
- General
- Why doesn't sbt create project files?
- How to check sbt version?
- What's the difference between project/build.sbt and project/BuildApp.scala?
- Run a task when any file in given directory is changed in SBT?
- Why “set” can't assign value to custom SettingKey I can “show” in sbt shell?
- Deprecation and feature warnings for SBT project definition files
- Dependency management
- How to find out which dependency caused a particular library to be downloaded?
- Why doesn't SBT download my own libraryDependencies?
- SBT Resolvers work in build.sbt, not working in Build.scala
- How to define maven test-jar dependency in sbt
- How to set dependency as runtime in SBT (to mimic runtime scope in Maven)?
- How to add scalax.io as dependency in SBT?
- How can revisionId in libraryDependencies be the latest available version in SBT 0.13+?
- Can multi-projects from GIT be used as SBT dependencies?
- Can SBT refresh git uri dependency (always or on demand)?
- How can sbt pull dependency artifacts from git?
- SBT dependsOn RootProject: doesn't compile the dependency
- Set up sbt to fetch dependency for another version of Scala than the project's?
- Using hibernate-entitymanager 4.3.0.Final in Play 2.2.1 project?
- What does “str” % “str” mean in SBT?
- How to resolve a non-jar (dll/jnilib) library dependencies in sbt?
- How to set default dependencies for all subprojects in SBT?
- What does extend for a configuration do?
- Multiproject builds with
.sbt
files - Publishing
- Cross-building
- Logging
- Using plugins
- Not specifying version in addSbtPlugin possible?
- How to install plugins in sbt 0.11.2?
- How to use sbt-scalabuff plugin with sbt 0.13?
- How to use plugin in sbt project when only the plugin's sources available?
- Why does SBT resolve plugins with Scala X.Y.Z and ignore scalaVersion in build.sbt?
- error: eof expected?! How to use idea and eclipse plugins together in sbt?
- sbt-idea 1.2.0 unresolved for SBT 0.12.0 and Scala 2.10.0?
- sbteclipse 1.4.0 unresolved for SBT 0.12.0 and Scala 2.9.2?
- sbt-assembly
- Developing tasks
- SBT before/after hooks for a task
- Run custom task automatically before/after standard task <-- possible duplicate of the above question
- No implicit for Append.Value[…] found with Def.task to generate files in SBT 0.13?
- How to attach custom task to execute before the test task in sbt?
- How to use a third-party library in a taskKey?
- Developing plugins
- Developing commands
Outside
sbt