sbt, the interactive build tool
Go to file
Antonio Cunei 9aa0985f4b This commit reverts part of 322f6de655
The implementation of Relation should in theory make no difference
whether an element is unmapped, or whether it is mapped to an empty
set. One of the changes in 322f6de655
introduced an optimization to the '+' operation on Relations that,
in theory, should have made no difference to the semantic.

The result of that optimization is that some mappings of the form
"elem -> Set()" are no longer inserted in the forwardMap of the
Relation.

Unfortunately, the change resulted in the breakage of #1430,
causing "set every" to behave incorrectly. There must be, somewhere
in the code, a test on the presence of a key rather than an access
via <relation>.get(), or some other access that bypasses the
supposed semantic equivalence described above. I spent several
hours trying to track down exactly the offending test, without
success.

By undoing the relevant change in 322f6de655, "set every"
works again. That however offers no guarantee that everything else
will keep working correctly; the underlying quirk in the code that
depends on this supposedly inessential detail is also still
lurking in the code, which is less than ideal.
2014-09-11 02:04:17 +02:00
cache Scalariforming test code 2014-05-07 11:52:23 -04:00
compile Run AnalysisTest without name hashing 2014-08-23 02:58:44 -04:00
interface Add hashing of public names defined in a source file. 2013-12-04 01:34:18 +01:00
ivy Split out inter-project resolver into its own Chain. 2014-09-05 10:40:49 -04:00
launch #1541. Launcher uses HTTPS Maven Central by default 2014-08-23 17:47:47 -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 #1584 from sbt/wip/fix-test-classloader-issues 2014-09-10 12:26:15 -04:00
notes Merge branch '0.13' into 0.13.6 2014-08-24 18:24:37 -04:00
project Fetch tyesafe artifacts using https. See http://blog.ontoillogical.com/blog/2014/07/28/how-to-take-over-any-java-developer/ 2014-08-16 16:17:07 -07:00
run Scalariforming test code 2014-05-07 11:52:23 -04:00
sbt Adding test for broken "set every", see #1430 2014-09-11 02:03:38 +02:00
scripted Fixed scripted newer command 2014-06-23 15:12:34 +10:00
src/main/conscript Fetch tyesafe artifacts using https. See http://blog.ontoillogical.com/blog/2014/07/28/how-to-take-over-any-java-developer/ 2014-08-16 16:17:07 -07:00
tasks Disable flaky test, as it's timeout based. 2014-08-08 14:28:33 -04:00
testing Fix issue where ScalaInstance broke the thread-context-classloader for all scala classes. 2014-09-09 08:56:51 -04:00
util This commit reverts part of 322f6de655 2014-09-11 02:04:17 +02: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
.travis.yml Fix issue where generated config-classes was not propogated. 2014-09-07 12:01:50 -04:00
CONTRIBUTING.md Fix contributing.md 2014-07-31 04:37:45 -04: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
README.md Fix url to sbt-dev group 2014-08-31 09:51:58 -06:00
api.specification Macro def aware recompilation. 2012-03-04 17:35:51 +01:00
scripted.specification New scripted test framework 2009-11-09 09:34:52 -05:00

README.md

sbt

sbt is a build tool for Scala, Java, and more. For general documentation, see http://www.scala-sbt.org/.

Issues and Pull Requests

Please read CONTRIBUTING carefully before opening a GitHub Issue. The short version: try StackOverflow and sbt-dev. Don't open an Issue.

sbt 0.13

This is the 0.13.x series of sbt.

  • Setup: Describes getting started with the latest binary release.
  • FAQ: Explains how to get help and more.
  • Google Code: hosts sbt 0.7.7 and earlier versions

license

See LICENSE.