This checks to see if the new `crossVersionedValue` is actually implemented
by an AppID and delegates to the deprecated `crossVersioned` method if
there are any issues. This preserves the binary compatibility from
folks using Launcher interface pre-0.13 and post-0.13.
* Drop dependOn, dependsOn. These are rarely the right method to call.
* Drop references to ~= in favor of just :=.
* Drop a .scala example where a .sbt example suffices.
* No longer override the Scala version to force it to be scalaVersion. Custom configurations might use an independent version.
* Only substitute the jars from scalaHome when the major.minor versions line up for the substituted artifact
* Allow the Scala version to use for dependency resolution to be specified when using ++ to change Scala home: ++ version=/path/to/scala/home
Clarify what `source-dependencies/import` really tests by renaming
it to `source-dependencies/import-package` which better describes
the scope of that test.
Also, introduce analogous `source-dependencies/import-class` test which
tests dependency tracking on imported classes.
The reason why we should distinguish between imported packages and classes
is that incremental compiler doesn't track packages as products of source
files as it does for classes. Therefore, problem with imported classes
is much more tractable than with imported packages.
Added a test-case for an edge case where an introduction of private member
(var in this case) should trigger recompilation of all classes that
inherit from a trait where the member is declared.
The reason is that current encoding of traits make it impossible for them
to declare fields directly so fields are being introduced in classes
inheriting from those traits. Check the test case for details.
This is a pending test case for sbt/sbt#686 which tests if dependencies
are track properly when it comes to implicit scope.
This test is marked as pending because sbt does not track
dependencies correctly in this case.
The `final` modifier is not essential in `source-dependencies/export-jars`
and removing it eliminates the danger of running into Scala's bug SI-7173
where typer inlines constants and does not record any information about
dependency. In case we want to switch to dependency tracking based on
trees we would run into this problem in this test-case.
Testing for that scenario has been moved to separate test case
`source-dependencies/constants`.
Git blaming reveals the intent of sleeping after file modification
that was described in 02f666ec0e commit.
Let's put it straight into source code.
Also, added a new lines before each sleep command to better signal
the pause.
Switched to current version of Scala that sbt itself uses in
`source-dependencies/macro` test. Since sbt is on Scala 2.10 now
we can do that.
Adjusted test-case to current API for macros.