This is mostly for IntelliJ IDEA.
Currently IntelliJ IDEA's Scala (and SBT) plugin defines:
* the project name (as seen in the window title and in the "open recent
project" list) from `name`
* the root module (as seen in the project view and in project structure)
from `id`
* doesn't use `moduleName` at all
After this change the sbt project is no longer identified as "root".
I was undecided between `sbtRoot` and `sbtRootProj`, and went with the
shorter option. I'm happy to revise this decision.
* Remove launch/* code/tests, as these are in the sbt/launcher project.
* Create a new project which will resolve launcher module from sonatype-snapshots,
and repackage it for the currently building version of sbt.
* Remove ComponentManagerTest which was relying DIRECTLY on launcher classes.
We'll need to reconfigure this shortly to enable the tests again.
Remaining TODOs -
* Update resolvers so people can find the launcher.
* Add ComponentManagerTest back.
* Re-publish the sbt-launch.jar in the location it used to be published.
- Scala 2.8.x or 2.9.x are no longer used that often.
- Precompiled is a cross build liability as sbt (2.10.4) depends on 2.8.x/2.9.x code.
- Scripted test was modified to check 2.8 and 2.9 compilation
* Here we wire Aether into the Ivy dependency chain
* Add hooks into Aether to use Ivy's http library (so credentials are configured the same)
* Create the actual Resolver which extracts metadata information from Aether
* Deprecate old Ivy-Maven integrations
* Create hooks in existing Resolver facilities to expose a flag to enable the new behavior.
* Create notes documenting the feature.
* Create a new resolver type `MavenCache` which denotes how to read/write local maven cache metadata
correctly. We use this type for publishM2 and mavenLocal.
* Update failing -SNAPSHOT related tests to use new Aether resolver
* Create specification for expected behavior from the new resolvers.
Known to fix#1322, #321, #647, #1616