sbt, the interactive build tool
Go to file
Josh Suereth b226f6511a Fix Maven configuration mappings in Ivy.
It turns out there was a very subtle, and evil, issue sitting the Ivy/maven configuration, and it
related to dependency mapping.    A mapping of `foo->bar(*)` means that the local configuration
`foo` depends on the remote configuration `bar`, if it exists, or *ALL CONFIGURATIONS* if `bar`
does not exist.   Since the default Ivy configuration mapping was using the random `master`
configuration, which AFAICT is NEVER specified, just an assumed default, this would cause leaks
between maven + ivy projects.

i.e. if  a maven POM depends on a module denoted by an ivy.xml file, then you'd wind up accidentally
bleeding ALL the ivy module's configurations into the maven module's configurations.

This fix works around the issue, by assuming that if there is no `master` configuration, than the
maven default of `compile` is intended.   As sbt forces generated `ivy.xml` files to abide by
maven conventions, this works in all of our test cases.   The only scenario where it wouldn't work
is those who have custom ivy.xml files *and* have pom.xml files which rely on those custom ivy.xml files,
a very unlikely situation where the workaround is:  "define a master configuration".

Includes a test demonstrating the issue.
2014-09-09 17:45:02 -04: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 Fix Maven configuration mappings in Ivy. 2014-09-09 17:45:02 -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 #1579 from copumpkin/0.13 2014-09-08 13:24:25 -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 Fix Maven configuration mappings in Ivy. 2014-09-09 17:45:02 -04: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 scalariform changes 2014-08-15 01:52:31 -04:00
util Allow the "-bin" Scala version suffix to specify a bincompat version 2014-09-04 01:15:58 +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.