(cherry picked from commit 24a421a)
It is really important that when we build the IDE, the sbt artifacts are compiled against the exact same Scala compiler that is shipped in the IDE. To this end, I've updated the value of ``sbt.precompiled.version`` to always match the ``scala.version`` one. This is needed because while the Scala library is ensured to be forward binary compatible across minor releases, no such guarantee is provided for the Scala compiler (and the Sbt compiler-interface, which we use in the IDE, does need to be linked against the Scala compiler). As part of this commit, I've also made another small change to the property ``scala.major.minor.version`` and renamed it ``scala.era.major.version``, as this what this property actually contains.
Added an environment option to suppress timeouts when running tests. This will make tests more repeatable. The option is passed by default in the maven build for tests, but if you want to run the IDE in that mode (for instance, in the debugger), make sure to add -Dsdtcore.notimeouts to your command line options.
Note that the p2 repo's name of both scalariform and scala-refactoring contain now the Scala major version they have been compiled with. Doing so will make our life easier in the future ("trunk" is a moving target, we need a stable identifier). Also, since minor Scala releases are binary compatible, it should be ok to use scalariform and scala-refactoring compiled against Scala 2.10.0 also for building the IDE for Scala 2.10.1. The changes in org.scala-ide.scala.compiler/pom.xml needed to support Scala 2.11.x are exact duplicates of what we do for Scala 2.10.x. Unfortunately, it doesn't seem to be possible to avoid the duplication because of Maven limitations (e.g., http://jira.codehaus.org/browse/MNG-3328). Furthermore, consider that once we drop support for Scala 2.9.x, then we will no longer need to have the above mentioned duplication. Re #1001256
The new launch delegates are added to the Equinox weaving launch configurations, if available in the Eclipse setup. Fix #1001158
Made the dependencies of library, compiler and sbt optional, so they don't have to be excluded later. Moved the 'allowConflictingDependencies' option to the projects which require it (feature and site). It is needed because of the mix of versions for the elements coming from the m2 repo. Removed the dependency to aspectjrt (not needed) Cleaned-up an invalid property definition in sbt.full.library. Created properties for all plugin version numbers Fixed typo Fixed git location Added parameter to the p2 repositories ids
No bash script needed anymore. Everything is managed through maven. The new pom at in root folder contains version information and general configuration. org.scala-ide.build-toolchain is the root of the toolchain part org.scala-ide.sbt.build is the root of the sdt part The version numbers of some plugins has been upgraded The downloaded libs have been moved to the target/lib folders, to simplify the clean up process. The first time, run './build-all.sh (or './build-all.sh install -P scala-2.10.x' for 2.10) from the root to generate an initial build and install the top pom locally. Then use maven from any project or subproject. Use the scala-2.10.x profile ('-P scala-2.10.x') to compile the 2.10 version. Re #1001056