sbt, the interactive build tool
Go to file
Ethan Atkins be489e05ca Clear expired loaders
Sometimes turbo mode didn't work correctly for projects where resources
were modified. This was because it was possible for the resource
classloader to inadvertently evict the dependency classloader from the
classloader cache because they had the same file stamps. There were two
fixes:
1) remove expired entries from the cache based on the
    (Parent, Classpath) pair rather than just classpath
2) do not close the classloaders during cache eviction. They may still
   be in use when we evict them so we need to wait until they are
   explicitly closed elsewhere or until the go out of scope and are
   collected by the CleanupThread

I tested this change with a spark project in which I kept modifying the
resources. Prior to this change, I could get into a state where if I
modified the resources, the dependency layer would get evicted every
time so the benefits of turbo mode were not realized.
2019-07-29 12:30:42 -07:00
.github/ISSUE_TEMPLATE Auto-label bug reports & delete old issue template 2019-06-04 08:01:18 +01:00
core-macros/src/main/scala/sbt/internal/util/appmacro Add support for managed task inputs 2019-05-02 14:33:29 -07:00
internal Bump scalafmt 2019-07-18 12:40:21 -07:00
launch Adds sbt.boot.lock sysprop to opt-out 2018-02-08 13:02:39 +00:00
licenses
main Use '_' instead of '$' in path names 2019-07-25 14:07:44 -07:00
main-actions/src Fix java.util.zip.ZipException: duplicate entry 2019-07-23 01:28:32 -04:00
main-command/src Clear expired loaders 2019-07-29 12:30:42 -07:00
main-settings/src Bump scalafmt 2019-07-18 12:40:21 -07:00
notes Implement sequential[B](tasks: Seq[Initialize[Task[B]]]) and remove useless comment outs 2018-09-19 20:54:18 -04:00
project use sbt 1.3.0-RC3 2019-07-17 14:53:39 -04:00
protocol/src/main apply formatting 2019-04-20 03:23:54 -04:00
run quote run argument if it contains a whitespace 2019-06-24 19:32:55 -04:00
sbt/src Use '_' instead of '$' in path names 2019-07-25 14:07:44 -07: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 Relax strict commands 2019-07-16 15:17:21 -07:00
src/main/conscript 1.2.0 2018-07-30 00:56:36 -04:00
tasks Don't automatically die on OOM: metaspace 2019-05-28 09:53:36 -07:00
tasks-standard Add support for in memory cache store 2019-07-11 17:45:16 -07:00
testing Bump scalafmt 2019-07-18 12:40:21 -07:00
vscode-sbt-scala fix typo 2019-06-06 08:05:16 +03:00
zinc-lm-integration/src Add new ClassLoaderCache implementation 2019-05-28 09:53:35 -07:00
.appveyor.yml Run more scripted tests on windows 2019-05-11 22:01:49 -07:00
.gitattributes remove gittatributes, assume core.autocrlf=false 2018-06-26 17:38:05 +03:00
.gitignore adding a fatjar release (aka sbt-big) to the build 2018-11-07 08:37:49 +00:00
.java-version
.mailmap Add mailmap 2019-06-11 09:30:14 +02:00
.sbtopts Use .sbtopts to increase the RAM 2018-06-25 19:40:15 -04:00
.scalafmt.conf Bump scalafmt 2019-07-18 12:40:21 -07:00
.travis.yml Add nio tests to .travis.yml 2019-07-16 20:48:07 -07:00
CONTRIBUTING.md Split some of the developing related docs to DEVELOPING.md 2019-07-15 12:39:41 -04:00
DEVELOPING.md Minor clarification of logging message 2019-07-19 06:01:15 -05: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 fix typo 2019-06-06 08:05:16 +03:00
SUPPORT.md Split support into SUPPORT.md 2018-04-25 14:55:09 +01:00
build.sbt Rename typesafe release resolver in sbt build 2019-07-09 14:29:44 -07:00
reset.sh
sbt-allsources.sh
server.md

README.md

Build Status Latest version Gitter Chat

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.io module.
  • sbt/util hosts a collection of internally used modules.
  • 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.