sbt, the interactive build tool
Go to file
Ethan Atkins 7dbf7978e9 Disable multiple main class warning w/ qualified key
If the user runs foo/runMain in a project with multiple main classes,
sbt will still warn the user about their being multiple main classes
even though this is a pointless warning since the user either is running
runMain which requires a main class. The run task is also excluded since
by default it prompts the user with a main class selector. The previous
logic for doing this filtering was bad because it only looked at the
first command in a sequence and couldn't handle the foo/runMain case
since it was looking for an exact match with `run` or `runMain`. This
commit relaxes those restrictions to look at all of the strings in the
command as well as splitting the string to check if the last part of the
key ends in run or runMain. This logic could theoretically be incorrect
if the user wrote an input task that was expecting run or runMain as
user input but even in that case the only consequence would be that they
wouldn't see the multiple main class warning which generally isn't all
the helpful unless you are packaging a jar that expects there to be only
one main class. It seems unlikely that that the user would be running a
custom input task that is both packaging a jar and expecting run or
runMain as input strings.
2021-05-30 14:48:05 -07:00
.github Scala 2.12.14 / 2.13.6 2021-05-28 18:13:28 +02:00
client Change remaining sbtc to sbtn 2020-08-15 09:35:59 -07:00
core-macros/src/main/scala/sbt/internal/util/appmacro Use fully qualified name in the macro 2021-03-09 11:55:29 -05:00
dependency-tree/src/main/scala/sbt/plugins Split to MiniDependencyTreePlugin 2020-09-22 21:21:01 -04:00
internal Fix size of server running message 2021-02-24 17:31:28 +01:00
launch Adds sbt.boot.lock sysprop to opt-out 2018-02-08 13:02:39 +00:00
launcher-package Scala 2.12.14 / 2.13.6 2021-05-28 18:13:28 +02:00
licenses move remaining pieces of sbt subproject to sbt_pending and fix notices 2010-09-21 21:55:50 -04:00
main Disable multiple main class warning w/ qualified key 2021-05-30 14:48:05 -07:00
main-actions/src Instantiate only test runners needed by current TestDefinitions 2021-03-28 20:58:18 +01:00
main-command/src make -client the same as --client 2021-05-07 16:07:42 +01:00
main-settings/src Migrate most of the internal usage of in 2021-02-22 00:09:36 -05:00
notes Allow JUnitXmlTestsListener output directory to be configured 2021-04-12 12:17:50 +01:00
project Update kind-projector 2021-05-28 18:13:28 +02:00
protocol/src/main Merge pull request #6397 from arixmkii/bsp-env-var 2021-03-19 11:45:01 -04:00
run regen contraband 2020-12-21 17:21:54 +00:00
sbt-app/src Upgrade semanticdb to newest version which supports Scala 2.12.14 2021-05-28 21:44:10 +02: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 Move scripted-sbt-old ScriptedTests file 2020-11-03 09:02:18 -08:00
scripted-sbt-redux Use nowarn annotation 2021-02-06 22:31:47 -05:00
server-test/src Scala 2.12.14 / 2.13.6 2021-05-28 18:13:28 +02:00
src/main/conscript move to launcher-package/ 2021-04-19 10:45:29 -04:00
tasks Scala 2.12.13 2021-01-31 12:59:31 -05:00
tasks-standard Cross build to Scala 2.13 2021-01-10 20:24:05 -05:00
testing Allow JUnitXmlTestsListener output directory to be configured 2021-04-12 12:17:50 +01:00
util-cache introduce a new new Input/Output: FileInput/FileOutput 2020-11-25 14:04:56 +00: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 Use scala-doc-tool config for scala3doc 2021-01-04 10:01:34 +01:00
.appveyor.yml Update Jave version to 1.8.0-275 on AppVeyoer 2021-02-15 22:46:06 -05:00
.gitattributes move to launcher-package/ 2021-04-19 10:45:29 -04:00
.gitignore Drop sbt-launch.jar from Linux distro 2021-04-24 17:31:02 -04: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
.sbtopts Restore .sbtopts file 2020-11-19 12:42:26 -08:00
.scalafmt.conf Set `lineEndings = preserve` in .scalafmt.conf 2020-06-29 08:15:24 -07:00
CONTRIBUTING.md move to launcher-package/ 2021-04-19 10:45:29 -04:00
DEVELOPING.md add additional instructions for new contributors 2021-04-26 08:48:29 +01:00
LICENSE move to launcher-package/ 2021-04-19 10:45:29 -04:00
NOTICE move to launcher-package/ 2021-04-19 10:45:29 -04:00
PROFILING.md fix typo 2018-07-08 22:18:57 +09:00
README.md move to launcher-package/ 2021-04-19 10:45:29 -04:00
SUPPORT.md Split support into SUPPORT.md 2018-04-25 14:55:09 +01:00
build.sbt Upgrade semanticdb to newest version which supports Scala 2.12.14 2021-05-28 21:44:10 +02:00
reset.sh 1.0.3-SNAPSHOT 2017-09-16 15:52:58 -04:00
sbt Implement sbtn downloading 2021-05-17 16:50:54 -04:00
sbt-allsources.sh Build from fresh modules 2020-11-14 14:23:48 -05:00
sbt.sh Implement sbt-launch.jar download 2021-04-19 23:43:15 -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.