From 98a5714fedf3b3803d16b63db471153dc14c8262 Mon Sep 17 00:00:00 2001 From: Iulian Dragos Date: Mon, 2 Jul 2012 12:17:20 +0200 Subject: The `reflect` project now depends on the `scala-library` project. Moved the reflect project before the default library in the `scala-compiler` project, so that hyperlinks are resolved against the project sources, instead of the default binary library. README is now in markdown format. --- src/eclipse/README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/eclipse/README.md (limited to 'src/eclipse/README.md') diff --git a/src/eclipse/README.md b/src/eclipse/README.md new file mode 100644 index 0000000000..58dbd83815 --- /dev/null +++ b/src/eclipse/README.md @@ -0,0 +1,23 @@ +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. + +IMPORTANT +========= + +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, +so nothing will work before you do so. + +DETAILS +======= + +The compiler project depends on the library, reflect, asm and fjbg 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 the generated once) \ No newline at end of file -- cgit v1.2.3 From 49169e2123d13132db7bfa1a16ccf20cad3d2124 Mon Sep 17 00:00:00 2001 From: Iulian Dragos Date: Mon, 2 Jul 2012 12:29:08 +0200 Subject: Update README for Eclipse project files. --- src/eclipse/README.md | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) (limited to 'src/eclipse/README.md') diff --git a/src/eclipse/README.md b/src/eclipse/README.md index 58dbd83815..7ef775218b 100644 --- a/src/eclipse/README.md +++ b/src/eclipse/README.md @@ -7,11 +7,40 @@ and navigate to src/eclipse. Check all projects and click ok. IMPORTANT ========= -You need to define a `path variable` inside Eclipse. Define SCALA_BASEDIR in +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, so nothing will work before you do so. +2. 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-2011, LAMP/EPFL + +4. 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: + + git update-index --no-assume-unchanged `find src/eclipse -iname .classpath -or -iname .project` + DETAILS ======= @@ -20,4 +49,4 @@ 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 the generated once) \ No newline at end of file +work as they are (run an ant build to have them generated once) \ No newline at end of file -- cgit v1.2.3