Ethan Atkins 8674e18981 Add the ability to resurrect closed classloaders
There have been a number of complaints about the new classloader closing
behavior. It is too aggressive about closing classloaders after test and
run. This commit softens the behavior by allowing a classloader to be
resurrected after close by creating a new zombie classloader that has
the same urls as the original classloader. After this commit, we always
close the classloaders when we are done, but they can still leak
file descriptors if a zombie is created.

To configure the behavior, I add the allowZombieClassLoaders key. If it
is false (which is default), we will warn but still allow them. If it
is true, then we silence the warning. In a later version of sbt, we can
change the semantics to be strict.

I verified after this change that I could add a shutdown hook in `run`
and it would be evaluated so long as I set `bgCopyClasspath := false`.
Otherwise the needed jars were deleted before the hooks could run.

Bonus: delete unused ResourceLoaderImpl class
2019-09-19 08:38:50 -07:00
2019-09-12 20:53:41 -04:00
2019-09-12 19:00:37 -04:00
2019-04-20 03:23:54 -04:00
2019-09-17 09:38:58 -07:00
2019-09-04 01:24:08 -04:00
2019-09-12 20:53:41 -04:00
2019-09-12 20:53:41 -04:00
2019-09-12 20:53:41 -04:00
2019-06-06 08:05:16 +03:00
2019-08-01 11:57:29 -07:00
2019-08-16 00:57:05 +03:00
2019-06-11 09:30:14 +02:00
2018-06-25 19:40:15 -04:00
2019-07-18 12:40:21 -07:00
2019-08-01 11:57:29 -07:00
2018-09-14 03:38:58 -04:00
2018-09-14 03:38:58 -04:00
2018-07-08 22:18:57 +09:00
2019-06-06 08:05:16 +03:00
2017-09-16 15:52:58 -04:00
2017-10-03 01:45:06 -04:00
2018-04-25 14:55:09 +01:00

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.

S
Description
sbt, the interactive build tool
Readme
97 MiB
Languages
Scala 94.5%
Java 3.1%
Shell 1.1%
Batchfile 0.9%
Roff 0.2%
Other 0.1%