sbt, the interactive build tool
Go to file
Ethan Atkins 6c50a85f93 Use a macro to create StringTypeTag instances
Using the scala reflect library always introduces significant
classloading overhead. We can eliminate the classloading overhead by
generating StringTypeTags at compile time instead.

This sped up average project loading time by a few hundred milliseconds
on my computer. The ManagedLoggedReporter in zinc is still using the
type tag based apis but after the next sbt release, we can upgrade the
zinc apis. We also could consider breaking binary compatibility.
2020-08-08 09:02:38 -07:00
.github/ISSUE_TEMPLATE Update issue template 2020-02-03 14:28:20 -05:00
client Upgrade LineReader to JLine3 2020-07-10 13:37:53 -07:00
core-macros/src/main/scala/sbt/internal/util/appmacro Use a macro to create StringTypeTag instances 2020-08-08 09:02:38 -07:00
internal Use a macro to create StringTypeTag instances 2020-08-08 09:02:38 -07:00
launch Adds sbt.boot.lock sysprop to opt-out 2018-02-08 13:02:39 +00:00
licenses move remaining pieces of sbt subproject to sbt_pending and fix notices 2010-09-21 21:55:50 -04:00
main Use a macro to create StringTypeTag instances 2020-08-08 09:02:38 -07:00
main-actions/src Build pipelining 2020-08-06 02:31:01 -04:00
main-command/src Merge pull request #5677 from adpi2/fix/exit-bsp-client 2020-07-27 12:55:31 -04:00
main-settings/src Build pipelining 2020-08-06 02:31:01 -04:00
notes Merge pull request #5041 from jsoref/https 2020-06-14 17:34:58 -04:00
project Use java caffeine library rather than scalacache 2020-08-07 17:18:09 -07:00
protocol/src/main Support System.err in thin client 2020-07-21 13:27:32 -07:00
run Add loop to SelectMainClass 2020-07-10 13:37:54 -07:00
sbt/src Merge branch 'develop' into wip/versionscheme 2020-08-06 21:04:21 -04:00
scripted-plugin/src/main/scala/sbt -Xfatal-warnings in most subprojects 2018-09-18 11:47:55 -04:00
scripted-sbt-old/src/main/scala/sbt/test Update header 2018-09-14 04:53:36 -04:00
scripted-sbt-redux Stop instrumenting scripted 2020-07-31 18:56:04 -07:00
server-test/src Build pipelining 2020-08-06 02:31:01 -04:00
src/main/conscript sbt 1.3.0 2019-09-04 01:24:08 -04:00
tasks Name threads in completion service 2020-06-22 13:14:55 -07:00
tasks-standard Selective functor 2020-05-17 23:36:04 -04:00
testing Contraband 0.4.6 2020-04-24 17:44:15 -04:00
util-cache Don't use last modified time of directories in doc 2020-01-13 13:11:09 -08:00
util-tracking update scaladoc to reflect argument type of the overload 2020-04-24 16:54:48 +02:00
vscode-sbt-scala https://www.apple.com 2019-09-05 14:11:07 -04:00
zinc-lm-integration/src integrate with VirtualFile changes 2020-04-24 17:44:14 -04:00
.appveyor.yml Add installNativeThinClient task 2020-08-06 07:58:53 -07:00
.gitattributes Contraband 0.4.6 2020-04-24 17:44:15 -04:00
.gitignore Update .gitignore for metals support 2020-05-16 09:52:20 +02:00
.java-version Configure JVM 1.8 in .java-version 2016-10-07 08:48:23 -05:00
.mailmap Add mailmap 2019-06-11 09:30:14 +02:00
.scalafmt.conf Set `lineEndings = preserve` in .scalafmt.conf 2020-06-29 08:15:24 -07:00
.travis.yml Check server test project scalafmt on travis 2020-08-05 18:14:11 -07:00
CONTRIBUTING.md https://www.scala-sbt.org 2019-09-05 14:11:13 -04:00
DEVELOPING.md Merge pull request #5041 from jsoref/https 2020-06-14 17:34:58 -04:00
LICENSE Apache License 2.0 2018-09-14 03:38:58 -04:00
NOTICE Apache License 2.0 2018-09-14 03:38:58 -04:00
PROFILING.md fix typo 2018-07-08 22:18:57 +09:00
README.md Merge pull request #5041 from jsoref/https 2020-06-14 17:34:58 -04:00
SUPPORT.md Split support into SUPPORT.md 2018-04-25 14:55:09 +01:00
build.sbt Use a macro to create StringTypeTag instances 2020-08-08 09:02:38 -07:00
reset.sh 1.0.3-SNAPSHOT 2017-09-16 15:52:58 -04:00
sbt-allsources.sh Bump underlying modules to latest 2017-03-23 12:41:24 -04:00
server.md setting query is "sbt/setting" 2017-10-03 01:45:06 -04:00

README.md

Build Status Latest version Gitter Chat

sbt

sbt is a build tool for Scala, Java, and more.

For general documentation, see https://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.io module.
  • sbt/librarymanagement hosts sbt.librarymanagement module that wraps Ivy.
  • sbt/zinc hosts Zinc, an incremental compiler for Scala.
  • sbt/sbt, this repository hosts modules that implements the build tool.
  • 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.