Permalink
Browse files

Merge branch 'release/scala-ide-3.0.x' into platform/juno

  • Loading branch information...
2 parents f0758f3 + 4f3407b commit aa432096d6dff07c7039795a5fb503506b16197f @dragos dragos committed Feb 7, 2013
Showing with 1,578 additions and 535 deletions.
  1. +53 −45 README.md
  2. +1 −2 build-all.sh
  3. +2 −1 org.scala-ide.build-toolchain/pom.xml
  4. +17 −17 org.scala-ide.sbt.full.library/.classpath
  5. +1 −1 org.scala-ide.sbt.full.library/pom.xml
  6. +1 −1 org.scala-ide.scala.compiler/pom.xml
  7. +1 −1 org.scala-ide.scala.library/pom.xml
  8. +1 −1 org.scala-ide.sdt.aspects/META-INF/MANIFEST.MF
  9. +1 −1 org.scala-ide.sdt.aspects/pom.xml
  10. +2 −2 org.scala-ide.sdt.build/pom.xml
  11. +1 −1 org.scala-ide.sdt.core.tests/META-INF/MANIFEST.MF
  12. +1 −1 org.scala-ide.sdt.core.tests/pom.xml
  13. +136 −44 org.scala-ide.sdt.core.tests/src/scala/tools/eclipse/classpath/ClasspathTests.scala
  14. +2 −1 org.scala-ide.sdt.core.tests/src/scala/tools/eclipse/lexical/LexicalTestsSuite.scala
  15. +122 −0 org.scala-ide.sdt.core.tests/src/scala/tools/eclipse/lexical/ScalaCodeScannerTest.scala
  16. +18 −0 org.scala-ide.sdt.core.tests/src/scala/tools/eclipse/pc/PresentationCompilerTest.scala
  17. +14 −0 ...scala-ide.sdt.core.tests/src/scala/tools/eclipse/semantichighlighting/classifier/MethodTest.scala
  18. +34 −0 org.scala-ide.sdt.core.tests/src/scala/tools/eclipse/testsetup/SDTTestUtils.scala
  19. +5 −0 org.scala-ide.sdt.core.tests/test-workspace/pc/src/t1001094/FreshFile.scala
  20. +1 −1 org.scala-ide.sdt.core/.classpath
  21. +1 −1 org.scala-ide.sdt.core/META-INF/MANIFEST.MF
  22. +1 −1 org.scala-ide.sdt.core/pom.xml
  23. +60 −43 org.scala-ide.sdt.core/src/scala/tools/eclipse/ClasspathManagement.scala
  24. +8 −8 org.scala-ide.sdt.core/src/scala/tools/eclipse/ScalaPlugin.scala
  25. +18 −2 org.scala-ide.sdt.core/src/scala/tools/eclipse/ScalaProject.scala
  26. +6 −16 org.scala-ide.sdt.core/src/scala/tools/eclipse/ScalaSourceFileEditor.scala
  27. +24 −8 org.scala-ide.sdt.core/src/scala/tools/eclipse/javaelements/ScalaCompilationUnit.scala
  28. +91 −53 org.scala-ide.sdt.core/src/scala/tools/eclipse/lexical/ScalaCodeScanner.scala
  29. +8 −2 org.scala-ide.sdt.core/src/scala/tools/eclipse/properties/CompilerSettings.scala
  30. +1 −1 org.scala-ide.sdt.core/src/scala/tools/eclipse/properties/IDESettings.scala
  31. +2 −1 org.scala-ide.sdt.core/src/scala/tools/eclipse/properties/syntaxcolouring/ScalaSyntaxClasses.scala
  32. +5 −10 org.scala-ide.sdt.core/src/scala/tools/eclipse/resources/MarkerFactory.scala
  33. +3 −0 org.scala-ide.sdt.core/src/scala/tools/eclipse/semantichighlighting/classifier/SafeSymbol.scala
  34. +20 −0 org.scala-ide.sdt.core/src/scala/tools/eclipse/util/EclipseUtils.scala
  35. +1 −1 org.scala-ide.sdt.debug.tests/META-INF/MANIFEST.MF
  36. +1 −1 org.scala-ide.sdt.debug.tests/pom.xml
  37. +3 −1 org.scala-ide.sdt.debug.tests/src/scala/tools/eclipse/debug/ScalaDebugTestSuite.scala
  38. +4 −5 org.scala-ide.sdt.debug.tests/src/scala/tools/eclipse/debug/model/MethodClassifierUnitTest.scala
  39. +368 −0 org.scala-ide.sdt.debug.tests/src/scala/tools/eclipse/debug/model/ScalaDebuggerCacheTest.scala
  40. +3 −3 org.scala-ide.sdt.debug/META-INF/MANIFEST.MF
  41. +1 −1 org.scala-ide.sdt.debug/pom.xml
  42. +7 −0 org.scala-ide.sdt.debug/src/scala/tools/eclipse/debug/ScalaDebugger.scala
  43. +16 −34 org.scala-ide.sdt.debug/src/scala/tools/eclipse/debug/breakpoints/BreakpointSupport.scala
  44. +43 −26 org.scala-ide.sdt.debug/src/scala/tools/eclipse/debug/command/ScalaStepInto.scala
  45. +61 −36 org.scala-ide.sdt.debug/src/scala/tools/eclipse/debug/command/ScalaStepOver.scala
  46. +31 −18 org.scala-ide.sdt.debug/src/scala/tools/eclipse/debug/command/ScalaStepReturn.scala
  47. +4 −16 org.scala-ide.sdt.debug/src/scala/tools/eclipse/debug/model/MethodClassifier.scala
  48. +328 −0 org.scala-ide.sdt.debug/src/scala/tools/eclipse/debug/model/ScalaDebugCache.scala
  49. +3 −2 org.scala-ide.sdt.debug/src/scala/tools/eclipse/debug/model/ScalaDebugTarget.scala
  50. +6 −0 org.scala-ide.sdt.debug/src/scala/tools/eclipse/debug/model/ScalaStackFrame.scala
  51. +6 −1 org.scala-ide.sdt.debug/src/scala/tools/eclipse/debug/model/ScalaThread.scala
  52. +0 −103 org.scala-ide.sdt.debug/src/scala/tools/eclipse/debug/model/StepFilters.scala
  53. +1 −1 org.scala-ide.sdt.dev.feature/feature.xml
  54. +1 −1 org.scala-ide.sdt.dev.feature/pom.xml
  55. +1 −1 org.scala-ide.sdt.feature/feature.xml
  56. +1 −1 org.scala-ide.sdt.feature/pom.xml
  57. +1 −1 org.scala-ide.sdt.source.feature/feature.xml
  58. +1 −1 org.scala-ide.sdt.source.feature/pom.xml
  59. +2 −2 org.scala-ide.sdt.spy/META-INF/MANIFEST.MF
  60. +1 −1 org.scala-ide.sdt.spy/pom.xml
  61. +1 −1 org.scala-ide.sdt.update-site/pom.xml
  62. +1 −1 org.scala-ide.sdt.weaving.feature/feature.xml
  63. +1 −1 org.scala-ide.sdt.weaving.feature/pom.xml
  64. +1 −1 org.scala-ide.toolchain.update-site/org.scala-ide.scala.feature/feature.xml
  65. +1 −1 org.scala-ide.toolchain.update-site/org.scala-ide.scala.feature/pom.xml
  66. +1 −1 org.scala-ide.toolchain.update-site/org.scala-ide.scala.update-site/pom.xml
  67. +1 −1 org.scala-ide.toolchain.update-site/pom.xml
  68. +14 −5 pom.xml
View
@@ -1,67 +1,75 @@
-Scala IDE for Eclipse
-==============
+# Report A Bug
-This is the new home of the Scala IDE for Eclipse. Previously, source code was hosted on Assembla.
+File a ticket in our [issue tracker](http://scala-ide-portfolio.assembla.com/spaces/scala-ide/support/tickets), or drop a message in the [scala-ide-user mailing list](https://groups.google.com/group/scala-ide-user) if you have any doubt.
-Tickets are still hosted on Assembla, the documentation is available from the website:
+# How To Build
-* https://www.assembla.com/spaces/scala-ide/tickets
-* http://www.scala-ide.org/docs/
+Read [Building the Scala IDE](http://scala-ide.org/docs/dev/building/building.html).
+# Contributing to Scala IDE
-Build
--------
+## General Workflow
-The Scala IDE for Eclipse can be built on the command line using Maven, as is done, for example, during the Jenkins-driven [nightly builds](http://jenkins.scala-ide.org) on jenkins.scala-ide.org. Using a Unix-like OS, the process is as follows ...
+This is the process for committing code into master. There are of course exceptions to these rules, for example minor changes to comments and documentation, fixing a broken build etc.
-* Requirements,
- * The Git command line tools (this will be available as a standard package for Linux distributions)
- * A recent JDK (the [current Oracle JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html) is recommended)
- * [Maven 3](http://maven.apache.org/download.html)
+1. Make sure you have signed the [Typesafe CLA](http://www.typesafe.com/contribute/cla), if not, sign it online.
+2. Before starting to work on a feature or a fix, you have to make sure that there is a ticket for your work in the project's issue tracker. If not, create it first.
+3. You should always perform your work in a Git branch. The branch should be given a descriptive name that explains its intent and the ticket number should be suffixed, e.g., scala-java-interop-1000508.
+4. When the feature or fix is completed you should open a [Pull Request](https://help.github.com/articles/using-pull-requests) on GitHub.
+5. The Pull Request should be reviewed by other maintainers (as many as feasible/practical). Note that the maintainers can consist of outside contributors, both within and outside the [Scala IDE Team](http://scala-ide.org/team). Outside contributors are encouraged to participate in the review process, it is not a closed process.
+6. After the review you should fix the issues as needed, **pushing the changes as additional commits**, iterating until the reviewers give their thumbs up.
+7. Once the code has passed review, it’s ok to amend commits as it makes sense (see the ‘Creating Commits And Writing Commit Messages’ section below).
+8. The Pull Request can be merged into the master branch.
+9. If the code change needs to be applied to other branches as well, create pull requests against those branches which contain the change after rebasing it onto the respective branch and await successful verification by the continuous integration infrastructure; then merge those pull requests.
+10. Once everything is said and done, associate the ticket with the “earliest” release branch (i.e. if back-ported so that it will be in release x.y.z, find the relevant milestone for that release) and close it.
-* (Inital setup) Retrieve the source from its git repository, and make sure to checkout the `master` branch
+## Pull Request Requirements
- ```bash
- # Clone and checkout master branch
- $ git clone git://github.com/scala-ide/scala-ide.git
- $ cd scala-ide
- ```
+For a Pull Request to be considered at all it has to meet these requirements:
-* (Subsequent updates) Update the source from the repository,
+1. Live up to the current code standard:
+ - Not violate [DRY](http://programmer.97things.oreilly.com/wiki/index.php/Don%27t_Repeat_Yourself).
+ - [Boy Scout Rule](http://programmer.97things.oreilly.com/wiki/index.php/The_Boy_Scout_Rule) needs to have been applied.
+2. Regardless if the code introduces new features or fixes bugs or regressions, it must have comprehensive tests. The only exception is UI code, because our infrastructure allows to run test only in a headless environment.
+3. The code must be well documented.
+4. User documentation should be provided for all new features. This can be done by opening a Pull Request in our [Documentation](https://github.com/scala-ide/docs) repository.
+5. Rebase you branch on the latest master if it can’t be cleanly merged.
+6. The Pull Request validator successfully builds. What the pull request validator does is making sure that the current master branch would still compile fine after the currently in-review Pull Request is merged.
+ - The Pull Request validator will start within 1 hour from the moment you opened the Pull Request.
+ - If you want to force the Pull Request validator to run again, you can do so by adding a new comment in the Pull Request with the following text: ``PLS REBUILD ALL``. Again, the Pull Request validator will kick-in within 1 hour.
- ```bash
- $ cd scala-ide
- $ git pull
- ```
-* Build
+If these requirements are not met then the code should **not** be merged into master, or even reviewed - regardless of how good or important it is. No exceptions. For any question, please drop us a message in the [scala-ide-dev](http://groups.google.com/group/scala-ide-dev) mailing list
-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.
+## Creating Commits And Writing Commit Messages
-Assuming your build is successful you should find an Eclipse update site has been built in `org.scala-ide.sdt.update-site/target/site` and a zipped version of the same at `org.scala-ide.sdt.update-site/target/site_assembly.zip`. You can install directly into Eclipse from this update site by adding it as a local update site via the Eclipse "Install New Software ..." action. Alternatively, if you make the unpacked site available via a web server, then the http URL of its root directory is acceptable as an ordinary Eclipse update site URL.
+Follow these guidelines when creating public commits and writing commit messages.
-After that, normal maven calls can be used from any part of the project. Use the scala-2.10.x profile (``-P scala-2.10.x``) to compile the 2.10 version.
+1. If your work spans multiple local commits (for example; if you do safe point commits while working in a feature branch or work in a branch for long time doing merges/rebases etc.) then please do not commit it all but rewrite the history by squashing the commits into as few as it makes sense.Every commit should be able to be used in isolation, cherry picked etc.
+2. First line should be a descriptive sentence what the commit is doing. It should be possible to fully understand what the commit does by just reading this single line. It is **not ok** to only list the ticket number, type "minor fix" or similar. If the commit is a small fix, then go to 4. Otherwise, keep reading.
+3. Following the single line description should be a blank line followed by a detailed description of the problem the commit solves and justify your solution . For more info, read this article: [Writing good commit messages](https://github.com/erlang/otp/wiki/Writing-good-commit-messages).
+4. Add keywords for your commit (depending on the degree of automation we reach, the list may change over time):
+ * ``Review by @gituser`` - if you want to notify someone on the team. The others can, and are encouraged to participate.
+ * ``backport to _branch name_`` - if the fix needs to be cherry-picked to another branch (like /release/scala-ide-2.0.x, etc)
+ * ``Fix #ticket`` - if the commit fixes a ticket (or``Fix #ticket1``, ..., ``Fix #ticketN``, if it fixes several tickets).
+ * ``Re #ticket`` - if a commit is related to a ticket, without fixing it.
+Example:
-Working with local version of the Scala Presentation Compiler
-==========================
+ Corrected semantic highlighting for methods
- * Make your local changes in the scala compiler
- * Build the scala compiler, package into maven format and deploy locally,
+ Details 1
- ```bash
- # You are in the main scala directory
- $ ant distpack-opt
- $ (cd dists/maven/latest; ant -Dlocal.snapshot.repository=${LOCAL_REPO} -Dlocal.release.repository=${LOCAL_REPO} deploy.snapshot.local)
- # If you use the standard .m2 location for maven, then the last command reduces to
- $ (cd dists/maven/latest; ant deploy.snapshot.local)
- ```
+ Details 2
- * Go to directory where you cloned your scala-ide and run the necessary scripts that use your local trunk version
+ Details 3
- ```bash
- $ (cd org.scala-ide.build-toolchain; ./build-toolchain-local-trunk.sh)
- $ (cd org.scala-ide.build; ./build-ide-local-trunk.sh)
- ```
+ Fix #2731, Fix #2732, Re #2733
-If the build was successful you will end up with a right update-site - it contains the local changes you made in the scala compiler. It is possible to start the Eclipse instance with that plugin within your original workspace. You just have to have the following projects open `org.scala-ide.{sdt.core, scala.compiler, scala.library}`. Build `sdt.core` project within Eclipse and run the configuration using the weaving launcher.
+## Resources
+
+* [Website](http://scala-ide.org/)
+* [Contributor License Agreement](http://www.typesafe.com/contribute/cla)
+* [Issue Tracker](http://scala-ide-portfolio.assembla.com/spaces/scala-ide/support/tickets)
+* [Developer Documentation](http://scala-ide.org/docs/dev/index.html)
+* [scala-ide-dev mailing list](https://groups.google.com/group/scala-ide-dev)
View
@@ -10,7 +10,7 @@ ROOT_DIR=${PWD}
if [ -z "$*" ]
then
- ARGS="-P scala-2.9.x clean install"
+ ARGS="-P scala-2.10.x clean install"
else
ARGS="$*"
fi
@@ -60,4 +60,3 @@ if [ ${RES} != 0 ]
then
exit ${RES}
fi
-
@@ -5,12 +5,13 @@
<parent>
<groupId>org.scala-ide</groupId>
<artifactId>org.scala-ide.build</artifactId>
- <version>2.1.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.scala-ide.build-toolchain</artifactId>
<description>The Scala Toolchain for Scala Eclipse plugins</description>
<packaging>pom</packaging>
+ <version>3.0.0-SNAPSHOT</version>
<modules>
<module>../org.scala-ide.scala.library</module>
@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry exported="true" kind="lib" path="lib/api_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/classfile_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/classpath_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/compile_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/compiler-integration_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/compiler-interface_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/control_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/incremental-compiler_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/interface_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/io_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jline.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/logging_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/persist_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/process_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/relation_2.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/sbinary_2.9.2.jar"/>
- <classpathentry kind="output" path="classes"/>
+ <classpathentry exported="true" kind="lib" path="lib/jline.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/api_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/classfile_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/classpath_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/compile_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/compiler-integration_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/compiler-interface_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/control_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/incremental-compiler_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/interface_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/io_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/logging_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/persist_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/process_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/relation_2.10.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/sbinary_2.10.0.jar"/>
+ <classpathentry kind="output" path="classes"/>
</classpath>
@@ -5,7 +5,7 @@
<parent>
<groupId>org.scala-ide</groupId>
<artifactId>org.scala-ide.build-toolchain</artifactId>
- <version>2.1.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
<relativePath>../org.scala-ide.build-toolchain/pom.xml</relativePath>
</parent>
<artifactId>org.scala-ide.sbt.full.library</artifactId>
@@ -5,7 +5,7 @@
<parent>
<groupId>org.scala-ide</groupId>
<artifactId>org.scala-ide.build-toolchain</artifactId>
- <version>2.1.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
<relativePath>../org.scala-ide.build-toolchain/pom.xml</relativePath>
</parent>
<artifactId>org.scala-ide.scala.compiler</artifactId>
@@ -5,7 +5,7 @@
<parent>
<groupId>org.scala-ide</groupId>
<artifactId>org.scala-ide.build-toolchain</artifactId>
- <version>2.1.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
<relativePath>../org.scala-ide.build-toolchain/pom.xml</relativePath>
</parent>
<artifactId>org.scala-ide.scala.library</artifactId>
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Scala JDT Weaving
Bundle-SymbolicName: org.scala-ide.sdt.aspects;singleton:=true
-Bundle-Version: 2.1.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Vendor: scala-ide.org
Bundle-Activator: scala.tools.eclipse.contribution.weaving.jdt.ScalaJDTWeavingPlugin
Require-Bundle:
@@ -5,7 +5,7 @@
<parent>
<groupId>org.scala-ide</groupId>
<artifactId>org.scala-ide.sdt.build</artifactId>
- <version>2.1.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
<relativePath>../org.scala-ide.sdt.build/pom.xml</relativePath>
</parent>
<artifactId>org.scala-ide.sdt.aspects</artifactId>
@@ -5,10 +5,11 @@
<parent>
<groupId>org.scala-ide</groupId>
<artifactId>org.scala-ide.build</artifactId>
- <version>2.1.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.scala-ide.sdt.build</artifactId>
<packaging>pom</packaging>
+ <version>3.0.0-SNAPSHOT</version>
<!-- scm configuration is require to extract the github hash-->
<scm>
@@ -227,5 +228,4 @@
</plugins>
</pluginManagement>
</build>
-
</project>
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Scala Plugin (Test)
Bundle-SymbolicName: org.scala-ide.sdt.core.tests
-Bundle-Version: 2.1.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Vendor: scala-ide.org
Fragment-Host: org.scala-ide.sdt.core
Bundle-RequiredExecutionEnvironment: J2SE-1.5
@@ -3,7 +3,7 @@
<parent>
<groupId>org.scala-ide</groupId>
<artifactId>org.scala-ide.sdt.build</artifactId>
- <version>2.1.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
<relativePath>../org.scala-ide.sdt.build/pom.xml</relativePath>
</parent>
<artifactId>org.scala-ide.sdt.core.tests</artifactId>
Oops, something went wrong.

0 comments on commit aa43209

Please sign in to comment.