sbt, the interactive build tool
Go to file
Dale Wijnand 0b33c195ef
Upgrade the build to sbt 1.0.0-M5
Some plugins remain commented out, for now.

sbt-doge is no longer needed because a variant of it has been folded
into sbt 1.

For some reason scripted requires src/doc jars of sbt, so switch back to
using `publishAll` rather than `publishLocalBinAll`. :(

Also, the sys.prop change in scripted is to force log4j2 to not use a
thread context classloader, and avoid the following:

    ERROR StatusLogger Unable to create custom ContextSelector. Falling back to default.
     java.lang.ClassCastException: Cannot cast org.apache.logging.log4j.core.async.AsyncLoggerContextSelector to org.apache.logging.log4j.core.selector.ContextSelector
    	at java.lang.Class.cast(Class.java:3369)
    	at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOf(LoaderUtil.java:201)
    	at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOfProperty(LoaderUtil.java:226)
    	at org.apache.logging.log4j.core.impl.Log4jContextFactory.createContextSelector(Log4jContextFactory.java:97)
    	at org.apache.logging.log4j.core.impl.Log4jContextFactory.<init>(Log4jContextFactory.java:58)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    	at java.lang.Class.newInstance(Class.java:442)
    	at org.apache.logging.log4j.LogManager.<clinit>(LogManager.java:94)
    	at org.apache.logging.log4j.spi.ThreadContextMapFactory.createThreadContextMap(ThreadContextMapFactory.java:73)
    	at org.apache.logging.log4j.ThreadContext.init(ThreadContext.java:223)
    	at org.apache.logging.log4j.ThreadContext.<clinit>(ThreadContext.java:202)
    	at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createDefaultInjector(ContextDataInjectorFactory.java:83)
    	at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createInjector(ContextDataInjectorFactory.java:67)
    	at org.apache.logging.log4j.core.lookup.ContextMapLookup.<init>(ContextMapLookup.java:34)
    	at org.apache.logging.log4j.core.lookup.Interpolator.<init>(Interpolator.java:117)
    	at org.apache.logging.log4j.core.config.AbstractConfiguration.<init>(AbstractConfiguration.java:125)
    	at org.apache.logging.log4j.core.config.DefaultConfiguration.<init>(DefaultConfiguration.java:46)
    	at org.apache.logging.log4j.core.layout.PatternLayout$Builder.build(PatternLayout.java:650)
    	at org.apache.logging.log4j.core.layout.PatternLayout.createDefaultLayout(PatternLayout.java:487)
    	at sbt.internal.util.ConsoleAppender.<init>(ConsoleAppender.scala:245)
    	at sbt.internal.util.ConsoleAppender$.apply(ConsoleAppender.scala:196)
    	at sbt.internal.util.ConsoleLogger.<init>(ConsoleAppender.scala:42)
    	at sbt.internal.util.ConsoleLogger$.apply(ConsoleAppender.scala:34)
    	at sbt.test.ScriptedRunner.run(ScriptedTests.scala:221)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at Scripted$.doScripted(Scripted.scala:125)
    	at $0483e89d182e9d240274$.$anonfun$scriptedTask$5(build.sbt:301)
2017-05-11 09:44:42 +01:00
launch Add three slashes (u3) for file URI 2017-04-12 03:34:11 -04:00
licenses move remaining pieces of sbt subproject to sbt_pending and fix notices 2010-09-21 21:55:50 -04:00
main Merge pull request #3180 from eed3si9n/wip/zero2 2017-05-10 16:48:40 -04:00
main-actions/src Bump util to X11 and rename `SbtExclusionRule` 2017-05-03 12:42:16 +02:00
main-command/src/main Apply Scalafmt formatting 2017-04-21 04:48:31 -04:00
main-settings/src Rename Global as scope component to Zero 2017-05-08 11:41:48 -04:00
notes Add a few more migration notes to 1.0.0 notes 2017-05-08 15:18:36 +01:00
project Upgrade the build to sbt 1.0.0-M5 2017-05-11 09:44:42 +01:00
protocol/src/main Apply Scalafmt formatting 2017-04-21 04:48:31 -04:00
run Apply Scalafmt formatting 2017-04-21 04:48:31 -04:00
sbt/src Merge pull request #3180 from eed3si9n/wip/zero2 2017-05-10 16:48:40 -04:00
scripted Upgrade the build to sbt 1.0.0-M5 2017-05-11 09:44:42 +01:00
src/main/conscript sbt 1.0 nightly 2017-01-16 11:43:37 -05:00
tasks Apply Scalafmt formatting 2017-04-21 04:48:31 -04:00
tasks-standard Apply Scalafmt formatting 2017-04-21 04:48:31 -04:00
testing Apply Scalafmt formatting 2017-04-21 04:48:31 -04:00
.gitattributes Added .gitattributes file. 2013-04-25 00:06:51 +08:00
.gitignore support defining Projects in .sbt files 2012-12-09 20:40:41 -05:00
.java-version Configure JVM 1.8 in .java-version 2016-10-07 08:48:23 -05:00
.scalafmt.conf format: off / format: on 2017-04-21 03:11:48 -04:00
.travis.yml Upgrade the build to sbt 1.0.0-M5 2017-05-11 09:44:42 +01:00
CONTRIBUTING.md update "Testing sbt plugins" url 2017-03-21 16:49:36 +09:00
ISSUE_TEMPLATE.md Add "Clean history" to contributing with links 2016-02-19 13:21:11 +00:00
LICENSE Update CONTRIBUTING.md 2014-04-14 12:16:06 -04:00
NOTICE Update CONTRIBUTING.md 2014-04-14 12:16:06 -04:00
PULL_REQUEST_TEMPLATE.md Add "Clean history" to contributing with links 2016-02-19 13:21:11 +00:00
README.md readme 2016-05-08 14:49:43 -04:00
build.sbt Upgrade the build to sbt 1.0.0-M5 2017-05-11 09:44:42 +01:00
reset.sh Handle closed socket 2016-10-27 02:42:12 -04:00
sbt-allsources.sh Bump underlying modules to latest 2017-03-23 12:41:24 -04:00
server.md Update to Contraband 2017-01-06 11:27:06 -05:00

README.md

sbt

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

For general documentation, see http://www.scala-sbt.org/.

sbt 1.0.x

This is the 1.0.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 and sbt-dev.

license

See LICENSE.