From d0c8698aa62e821163f3029e0f5cd8bd3d89d793 Mon Sep 17 00:00:00 2001 From: Simon Schaefer Date: Sat, 21 Sep 2013 22:38:18 +0200 Subject: Update of Eclipse project files - Update of project dependencies - Deletion of scala-xml project - Deletion of scala-parser-combinators project - Update of .gitignore to match nested .cache files --- src/eclipse/README.md | 71 +++++++++++++++---------- src/eclipse/partest/.classpath | 6 +-- src/eclipse/partest/.project | 10 ++-- src/eclipse/repl/.classpath | 1 + src/eclipse/scala-parser-combinators/.classpath | 7 --- src/eclipse/scala-parser-combinators/.project | 30 ----------- src/eclipse/scala-xml/.classpath | 7 --- src/eclipse/scala-xml/.project | 30 ----------- src/eclipse/scaladoc/.classpath | 7 +-- 9 files changed, 57 insertions(+), 112 deletions(-) delete mode 100644 src/eclipse/scala-parser-combinators/.classpath delete mode 100644 src/eclipse/scala-parser-combinators/.project delete mode 100644 src/eclipse/scala-xml/.classpath delete mode 100644 src/eclipse/scala-xml/.project (limited to 'src/eclipse') diff --git a/src/eclipse/README.md b/src/eclipse/README.md index 2bb1a4da8f..d3644aad1c 100644 --- a/src/eclipse/README.md +++ b/src/eclipse/README.md @@ -1,46 +1,63 @@ Eclipse project files ===================== -Import all projects inside Eclipse by choosing File/Import Existing Projects -and navigate to src/eclipse. Check all projects and click ok. +The following points describe how to get Scala to run in Eclipse: -IMPORTANT -========= +0. To get Scala to work inside of Eclipse Kepler it is necessary to build the Scala IDE by your own +because for the moment there is no update site provided for the newest development version +of Scala. To do so enter the following commands one after the other: -1. You need to define a `path variable` inside Eclipse. Define SCALA_BASEDIR in -Preferences/General/Workspace/Linked Resources. The value should be the absolute -path to your scala checkout. All paths in project files are relative to this one, + git clone https://github.com/scala-ide/scala-ide.git + cd scala-ide + ./build-all.sh clean install -Pscala-2.11.x -Psbt-new -Peclipse-kepler -DskipTests + + After that you have an update site in `scala-ide/org.scala-ide.sdt.update-site/target/site`, which needs to be +installed in Eclipse. + +0. The second thing that needs to be done is building Scala in order to get all necessary +dependencies. To do that simply enter + + ant + + and wait until it is completed. To verify that everything has been built successfully, execute the REPL that can be found +at `scala/build/pack/bin/scala`. + +0. Import all projects inside of Eclipse by choosing `File/Import Existing Projects` +and navigate to `scala/src/eclipse`. Check all projects and click ok. + +0. You need to define a `path variable` inside Eclipse. Define `SCALA_BASEDIR` in +`Preferences/General/Workspace/Linked Resources`. The value should be the absolute +path to your Scala checkout. All paths in the project files are relative to this one, so nothing will work before you do so. -Additionally, we start using Maven dependencies (e.g. junit) so you need to define -`classpath variable` inside Eclipse. Define `M2_REPO` in Java/Build Path/Classpath Variables -to point to your local Maven repository (e.g. $HOME/.m2/repository). -2. The Eclipse Java compiler does not allow certain calls to restricted APIs in the + The same `SCALA_BASEDIR` variable needs to be defined as a `classpath variable` in +`Java/Build Path/Classpath Variables`. + + Additionally, we start using Maven dependencies (e.g. `JUnit`) so you need to define another +`classpath variable` inside Eclipse. Define `M2_REPO` in `Java/Build Path/Classpath Variables` +to point to your local Maven repository (e.g. `$HOME/.m2/repository`). + + Lastly, the JRE used by Eclipse needs to know the path to the `JLine` library, which is used by the REPL. +To set the JAR file, navigate to `Java/Installed JREs`, select the default JRE, press `Edit/Add External JARs...` +and enter the path to JLine whose location is `SCALA_BASEDIR/build/deps/repl/jline-2.11.jar` (`SCALA_BASEDIR` cannot be entered, +it needs to be replaced with its absolute path). + +0. The Eclipse Java compiler does not allow certain calls to restricted APIs in the JDK. The Scala library uses such APIs, so you'd see this error: Access restriction: The method compareAndSwapObject(Object, long, Object, Object) from the type Unsafe is not accessible due to restriction on required library. -You can *fix* it by allowing calls to restricted APIs in `Java=>Compiler=>Errors/Warnings=>Deprecated and Restricted API` -settings. - -3. The IDE guesses the Scala library version by looking for `library.properties` inside -the library jar. The `scala-library` project does not have such a file, so you will see -an error about incompatible libraries. You can work around it by adding a `library.properties` -inside `src/library` with the following contents: - #Mon, 04 Jun 2012 02:08:56 +0200 - version.number=2.10.0-20120603-141530-b34313db72 - maven.version.number=2.10.0-SNAPSHOT - osgi.version.number=2.10.0.v20120603-141530-b34313db72 - copyright.string=Copyright 2002-2013 LAMP/EPFL + You can *fix* it by allowing calls to restricted APIs in `Java/Compiler/Errors/Warnings/Deprecated and Restricted API` +settings. -4. Project files are tracked by Git, so adding them to `.gitignore` won't prevent them +0. Project files are tracked by Git, so adding them to `.gitignore` won't prevent them from being shown as dirty in `git status`. You can still ignore them by telling Git to consider them unchanged: git update-index --assume-unchanged `find src/eclipse -iname .classpath -or -iname .project` -If you want to go back to normal (for instance, to commit your changes to project files), run: + If you want to go back to normal (for instance, to commit your changes to project files), run: git update-index --no-assume-unchanged `find src/eclipse -iname .classpath -or -iname .project` @@ -51,5 +68,5 @@ The compiler project depends on the library, reflect, and asm projects. The builder will take care of the correct ordering, and changes in one project will be picked up by the dependent projects. -The output directory is set to be build/quick, so the runner scripts in quick -work as they are (run an ant build to have them generated once) \ No newline at end of file +The output directory is set to be `build/quick`, so the runner scripts in quick +work as they are (they are generated after an ant build). diff --git a/src/eclipse/partest/.classpath b/src/eclipse/partest/.classpath index 5a4448e01a..2214517d92 100644 --- a/src/eclipse/partest/.classpath +++ b/src/eclipse/partest/.classpath @@ -1,14 +1,14 @@ - + - + - + diff --git a/src/eclipse/partest/.project b/src/eclipse/partest/.project index 5f52d4bf8f..5c0c851b80 100644 --- a/src/eclipse/partest/.project +++ b/src/eclipse/partest/.project @@ -1,6 +1,6 @@ - partest-extras + partest-extras @@ -17,9 +17,9 @@ - build-quick-partest-extras + build-quick-partest-extras 2 - SCALA_BASEDIR/build/quick/classes/partest-extras + SCALA_BASEDIR/build/quick/classes/partest-extras lib @@ -27,9 +27,9 @@ SCALA_BASEDIR/lib - partest-extras + partest-extras 2 - SCALA_BASEDIR/src/partest-extras + SCALA_BASEDIR/src/partest-extras diff --git a/src/eclipse/repl/.classpath b/src/eclipse/repl/.classpath index 748fa6c9c8..601a231aeb 100644 --- a/src/eclipse/repl/.classpath +++ b/src/eclipse/repl/.classpath @@ -6,5 +6,6 @@ + diff --git a/src/eclipse/scala-parser-combinators/.classpath b/src/eclipse/scala-parser-combinators/.classpath deleted file mode 100644 index 7eab7094eb..0000000000 --- a/src/eclipse/scala-parser-combinators/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/eclipse/scala-parser-combinators/.project b/src/eclipse/scala-parser-combinators/.project deleted file mode 100644 index d94523f56d..0000000000 --- a/src/eclipse/scala-parser-combinators/.project +++ /dev/null @@ -1,30 +0,0 @@ - - - scala-parser-combinators - - - - - - org.scala-ide.sdt.core.scalabuilder - - - - - - org.scala-ide.sdt.core.scalanature - org.eclipse.jdt.core.javanature - - - - build-quick-parser-combinators - 2 - SCALA_BASEDIR/build/quick/classes/parser-combinators - - - src-parser-combinators - 2 - SCALA_BASEDIR/src/parser-combinators - - - diff --git a/src/eclipse/scala-xml/.classpath b/src/eclipse/scala-xml/.classpath deleted file mode 100644 index b90d951640..0000000000 --- a/src/eclipse/scala-xml/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/eclipse/scala-xml/.project b/src/eclipse/scala-xml/.project deleted file mode 100644 index 8b0f7f6864..0000000000 --- a/src/eclipse/scala-xml/.project +++ /dev/null @@ -1,30 +0,0 @@ - - - scala-xml - - - - - - org.scala-ide.sdt.core.scalabuilder - - - - - - org.scala-ide.sdt.core.scalanature - org.eclipse.jdt.core.javanature - - - - build-quick-xml - 2 - SCALA_BASEDIR/build/quick/classes/xml - - - src-xml - 2 - SCALA_BASEDIR/src/xml - - - diff --git a/src/eclipse/scaladoc/.classpath b/src/eclipse/scaladoc/.classpath index 4b9327796b..1135a5c311 100644 --- a/src/eclipse/scaladoc/.classpath +++ b/src/eclipse/scaladoc/.classpath @@ -1,12 +1,13 @@ - - - + + + + -- cgit v1.2.3