sbt Reference Manual
Getting Started with sbt
Installing sbt
Installing sbt on macOS
Installing sbt on Windows
Installing sbt on Linux
sbt by example
Directory structure
Running
IDE Integration
Build definition
Multi-project builds
Task graph
Scopes
Appending values
Scope delegation (.value lookup)
Library dependencies
Using plugins
Custom settings and tasks
Organizing the build
Getting Started summary
Frequently Asked Questions
General Information
Credits
Community Plugins
Community Repository Policy
Bintray For Plugins
Using Sonatype
Contributing to sbt
Changes
Migrating from sbt 0.13.x
sbt 1.4.x releases
sbt 1.3.x releases
sbt 1.2.x releases
sbt 1.1.x releases
sbt 1.0.x releases
Detailed Topics
Using sbt
Command Line Reference
Console Project
Cross-building
Interacting with the Configuration System
Triggered Execution
Script mode
sbt Server
Understanding Incremental Recompilation
Configuration
Classpaths, sources, and resources
Compiler Plugin Support
Configuring Scala
Forking
Global Settings
Java Sources
Mapping Files
Local Scala
Macro Projects
Paths
Parallel Execution
External Processes
Running Project Code
Testing
In process class loading
Globs
Remote Caching
Dependency Management
Artifacts
Dependency Management Flow
Library Management
Proxy Repositories
Publishing
Resolvers
Update Report
Cached Resolution
Tasks and Commands
Tasks
Caching
Input Tasks
Commands
Parsing and tab completion
State and actions
Tasks/Settings: Motivation
Plugins and Best Practices
General Best Practices
Plugins
Plugins Best Practices
Setting up GitHub Actions with sbt
Setting up Travis CI with sbt
Testing sbt plugins
sbt new and Templates
Cross building plugins
How to…
Classpaths
Customizing paths
Generating files
Inspect the build
Interactive mode
Configure and use logging
Project metadata
Configure packaging
Running commands
Configure and use Scala
Generate API documentation
Define Custom Tasks
How to take an action on startup
Track file inputs and outputs
Troubleshoot memory issues
Sequencing
Defining a sequential task with Def.sequential
Defining a dynamic task with Def.taskDyn
Doing something after an input task
Defining a dynamic input task with Def.inputTaskDyn
How to sequence using commands
How to define a custom dependency configuration
Examples
.sbt build examples
.sbt build with .scala files example
Advanced configurations example
Advanced command example
Index
Developer’s Guide (Work in progress)
Modularization
Module summary
sbt Coding Guideline
sbt-datatype
Compiler Interface
Fetching the most specific sources
sbt Launcher
Getting Started with the sbt launcher
Sbt Launcher Architecture
sbt Launcher Configuration
Notes
Core Principles
Settings Core
Setting Initialization
Creating Command Line Applications Using sbt
Archived pages
Hello, World
Contents in Depth
Combined Pages
How to…
See
Detailed Table of Contents
for the list of all the how-tos.
>
Next page
Classpaths
English
日本語
中文 (简体)
Español
Learn
Download
Get Involved