sbt, the interactive build tool
Go to file
Guillaume Martres cae569b313 Include used types in the set of used names
This is a backport of https://github.com/sbt/zinc/pull/87

When `B2.scala` replaces `B.scala` in the new test
`types-in-used-names-a`, the name hash of `listb` does not change because
the signature of `C.listb` is still `List[B]`, however users of
`C.listb` have to be recompiled since the subtyping relationships of its
type have changed.

This commit does this by extending the definition of "used names" to
also include the names of the types of trees, even if these types
do not appear in the source like `List[B]` in `D.scala` (since `B` has
been invalidated, this will force the recompilation of `D.scala`).

This commit does not fix every issue with used types as illustrated by
the pending test `types-in-used-names-b`, `B.scala` is not recompiled
because it uses the type `T` whose hash has not changed, but `T` is
bounded by `S` and `S` has changed, so it should be recompiled.
This should be fixable by including the type bounds underlying a
`TypeRef` in `symbolsInType`.

The test `as-seen-from-a` that did not work before shows that we may not
have to worry about tracking prefixes in `ExtractAPI` anymore, see the
discussion in sbt/zinc#87 for more information.
2016-04-20 18:27:21 +02:00
cache scalariform changed this. 2016-04-05 22:52:05 -04:00
compile Include used types in the set of used names 2016-04-20 18:27:21 +02:00
interface Fixes test 2016-04-06 11:26:17 -04:00
ivy Add toString to IvyPaths for debugging purpose 2016-04-06 12:29:37 -04:00
launch Include sbt-ivy-snapshots to launchconfig 2015-12-29 19:48:57 -05:00
licenses move remaining pieces of sbt subproject to sbt_pending and fix notices 2010-09-21 21:55:50 -04:00
main Deprecate the Build trait 2016-03-31 16:47:12 +01:00
notes Adds withIncludeSynthToNameHashing. Ref #2537 2016-04-05 22:57:59 -04:00
project Update sbt.version to 0.13.11 2016-02-22 21:21:26 +00:00
run Fix additional warnings 2015-08-07 00:23:14 +02:00
sbt Include used types in the set of used names 2016-04-20 18:27:21 +02:00
sbt-maven-resolver/src Add handling for transitive exclude rules in pom.xml files. 2015-07-23 15:32:27 -04:00
scripted Continue to run tests after passing pending test 2015-08-19 08:26:21 +02:00
src/main/conscript bump launchconfig 2016-02-21 21:28:59 -05:00
tasks Fixes #2302. Don't check pre and post conditions in sbt.Execute by default. 2015-12-07 22:14:55 +01:00
testing Replace procedure syntax by explicit Unit annotation 2015-08-04 10:07:38 +02:00
util Address problems reported by Codacy 2016-02-23 15:19:04 +01: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 Run unit tests from compileInterface on Travis CI. 2016-01-08 21:53:53 +01:00
CONTRIBUTING.md CONTRIBUTING.md: Fix error in scripted test command 2016-01-23 17:39:17 +01: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 intended formatting in README. 2015-05-27 07:33:26 +01:00
api.specification Macro def aware recompilation. 2012-03-04 17:35:51 +01:00
build.sbt Add alternative resolver to scripted test using a plugin 2016-04-05 17:33:51 +02: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.