Permalink
Commits on Dec 12, 2011
  1. Added 'org.eclipse.jdt.groovy.core' in Eclipse-SupplementBundle secti…

    dotta committed Dec 12, 2011
    …on of
    
    MANIFEST. Fix #1000798
    
    To correct #3135 we removed the AJDT dependency from the Scala IDE. An
    undesired side-effect of this change was that the Scala IDE was no longer
    usable if the Groovy IDE was also installed.
    The problem was that our (aspect) class responsible of intercepting the call to
    create a ScalaSourceFile was no longer used, that because our class was
    targeting the 'org.eclipse.jdt.core' bundle, which is not loaded when the
    Groovy IDE is installed.
    The fix was to edit the MANIFEST's Eclipse-SupplementBundle section of our
    'org.scala-ide.sdt.aspects' project, and make sure that our aspect class is
    called also when the call is performed from the 'org.eclipse.jdt.groovy.core'
    bundle (which is the Groovy IDE core bundle). The AJDT plugin does exactly
    that, and that is why this problem was a side-effect of removing the AJDT
    dependency from the Scala IDE.
    
    (no review)
Commits on Dec 9, 2011
  1. Changed the Scala library/compiler version check

    skyluc committed Dec 9, 2011
    It know checks at the major/minor level, not lower. And logs an error if
    it cannot find a match.
    
    Fix #1000793
    (cherry picked from commit 8112072)
Commits on Dec 8, 2011
  1. Forces the creation of the src folder in git

    skyluc committed Dec 8, 2011
    (cherry picked from commit f7b3a10)
  2. Added more comments, cleaned up ScalaJavaDepTest

    skyluc committed Dec 6, 2011
    Removed unnecessary logging
    (cherry picked from commit 2dfffd3)
  3. Added test for NPE happening with nested projects.

    skyluc committed Dec 6, 2011
    (cherry picked from commit 09cfc59)
  4. Added test for Re #1000607

    skyluc committed Dec 5, 2011
    (cherry picked from commit 9b8ed82)
  5. Added check for nested projects.

    skyluc committed Dec 1, 2011
    Projects, like the one imported from multi-modules maven project
    can be nested. It this case a file can be represented by multiple
    resources. Select only the one for the current project.
    (cherry picked from commit ee80588)
  6. Improved support for dependent projects.

    skyluc committed Nov 30, 2011
    Made sure that the java files flagged to be compiled by sbt are actually
    compiled, even if they are part of dependent project without change.
    (cherry picked from commit 9dcc742)
  7. Renamed custom source delta and added doc.

    Luc Bourlier committed with skyluc Nov 24, 2011
    (cherry picked from commit a7a076a)
  8. Re #1000388. @Override rules are not the same in Java 1.5 and 1.6. Fi…

    Luc Bourlier committed with skyluc Nov 16, 2011
    …xing it so it compiles fine in the command line.
    
    (cherry picked from commit 3d6f7d2)
  9. One step closer. Eclipse compiler to follow sbt requests.

    skyluc committed Nov 11, 2011
    Added code to update on the fly the delta used by the Eclipse Java compiler, so it compiles
    the file requested by sbt.
    
    It works fine for RE #1000607 on my system.
    For RE #1000388, it is only part of the solution. It mostly works but sometimes sbt doesn't request the recompilation of the
    dependent Java class.
    (cherry picked from commit fbfffa2)
  10. Made the Scala interpreter view more visible.

    skyluc committed Dec 8, 2011
    added to the scala perspective list of views.
    created a 'Scala' view group.
    Fix #1000791
    (cherry picked from commit e866172)
Commits on Dec 7, 2011
Commits on Dec 6, 2011
  1. Removed the AJDT weaving dependency so that we are more

    dragos committed Dec 2, 2011
    compatible with Spring IDE and AJDT.
    
    Copied the corresponding code from the AJDT plugin
    to our aspects code. Kept the same two extension points.
    
    Changed the update site to show only the Scala IDE
    feature (binary and source). The weaving feature is
    a nested feature in the SDT feature, because it needs its
    own license.
    
    Added LICENSE files. The Scala license for the project,
    and the EPL for the org.scala-ide.sdt.aspects bundle.
    
    Fixed #1000780.
    (cherry picked from commit 6883910)
  2. Fixed completion problem for overloaded method.

    skyluc committed Dec 4, 2011
    When trying to removed duplicate types, the code was also removing
    overloaded method. Modified the check so it is more precise.
    Added regression test.
    Fix #1000654
    (cherry picked from commit 7517a03)
Commits on Nov 25, 2011
  1. Added Eric Molitor in the contributors section of the Scala IDE (in t…

    dotta committed Nov 25, 2011
    …he plugin's About menu). Thanks a lot Eric for all your good work!
Commits on Nov 23, 2011
  1. Re #1000764. Refreshing presentation compiler data

    skyluc committed Nov 23, 2011
    Play 2.0 works fine in Scala IDE, except for the fact that information in the presentation compiler
    about file changed in the filesystem is not correctly updated.
    This change detect those changes, and trigger the presentation compiler.
    (cherry picked from commit 795e18f)
Commits on Nov 22, 2011
Commits on Nov 21, 2011
  1. Don't let the user finish the new name refactoring wizard with the or…

    misto committed Nov 21, 2011
    …iginal name.
    
    (cherry picked from commit 89396ef)
  2. Tweaks for Re #1000757

    skyluc committed Nov 21, 2011
    - configured the new marker ids as extensions, so they are visible in the UI.
    - recursively removed all marker in the projects with invalid classpath, and fixed the test.
    (cherry-picked commit 7ab0683)
  3. Better build error management, and cleaned up interactions between bu…

    dragos committed Nov 15, 2011
    …ild, compiler settings,
    
    and class path validation errors.
    
    1. The class path validator deletes all Java and Scala error markers *only* when there is an
       class path error.
    2. Build errors, settings errors and class path errors have different marker IDs.
    3. Invalid setting errors are now reported. Until now they went unreported.
    4. Fixed #1000757.(cherry picked from commit 55ae84c)
    (cherry picked from commit e28c174)
  4. One more try at reducing the amount of output logged by the classfile…

    dragos committed Nov 17, 2011
    … provider.
    
    (cherry picked from commit 6f96b20)
    (cherry picked from commit d838fd1)
  5. Shorter log messages from the ClassFileProvider.(cherry picked from c…

    dragos committed Nov 16, 2011
    …ommit bce94f8)
    
    (cherry picked from commit 02a62dd)
  6. A shot in the dark, since I cannot reproduce this error. However, it …

    dragos committed Nov 10, 2011
    …looks reasonable to not crash if the class path is incomplete. This guards against a known SBT bug:
    
    
    harrah/xsbt#117
    
    I also removed some tabs.
    
    Test #1000741.(cherry picked from commit 395bfb0)
    (cherry picked from commit 9fe0846)
  7. Integrated review comments.

    dragos committed Nov 10, 2011
    (cherry picked from commit 76d1db1)
    (cherry picked from commit 7d856bf)
  8. Don't read classfile bytes if the classfile is not part of a Scala pr…

    dragos committed Nov 10, 2011
    …oject. This may cause large delays when the class files are on a network mounted file system.
    
    Fixed #1000742, Fixed #1000233, Fixed #1000643.
    (cherry picked from commit e35df9d)
    (cherry picked from commit 726dd67)
Commits on Nov 17, 2011
  1. Disabled test because it is making fail the build for 2.8 compiler.

    dotta committed Nov 17, 2011
    As a matter of fact, it is really only by chance that with 2.9 the test is passing, and
    a bigger issue is lying behind this test. Look at ticket Re #1000761. The problem is that
    we are not correctly exposing to JDT private values defined in a trait , i.e., the exposed
    getter does not match the name of the method in the binary, which is clearly an issue (for
    instance, I'm pretty convinced that the spurious error _The hierarchy of the type XXX is
    inconsistent_ that can sometimes be shown in the Java editor, is likely to be linked to the
    very same problem).
    
    Since we plan a major re-work of the structure builder for 2.1 I believe it is better to tackle
    this at that point. no review.
Commits on Nov 16, 2011
  1. Entities nested in a Type Member definition are *not* traversed, beca…

    dotta committed Nov 14, 2011
    …use the Eclipse Java Outline that we currently
    
    use does not handle members defined in a {{{ org.eclipse.jdt.internal.core.SourceField }}} (which is the data structure
    we use to expose type members definition to JDT).
    
    For instance, the following is not correctly handled by the Outline when you click on the nested member `a`:
    
        {{{type AkkaConfig = a.type forSome { val a: AnyRef }.
    
    Hence, for safety, currently it is better to skip all children altogether. Fix #1000748.
  2. Ticket Re #1000741 raised the question of whether we needed an open e…

    dotta committed Nov 16, 2011
    …ditor to check if the MethodBinding passed to
    
    the ScalaMethodVerifierProvider is indeed abstract (the reported NPE exception was not generating any issue, it was
    simply creating lot of noise in the Eclipse Error Log view).
    
    The answer is no, and I updated the code accordingly. Now, we check if the MethodBinding belongs to a trait only
    if the MethodBinding is declared in a Scala file (we look at the file's extension to infer this). That makes much
    more sense and allowed to re-enable all tests in jcompiler package.
    
    Any exception occuring in this code is still being logger in the Error Log view, that because I believe that now
    the code should work as expected (and if it doesn't, I'd prefer not to be silent so that the issue is reported and
    we can look into it).
    
    Added also one test to check that the case of a trait providing the implementation of a method declared in a Java
    interface is correctly handled.
    
    Scala entitites with a {{{ protected }}} access modifier are now exposed to JDT as {{{ public }}}. This emulates
    the Scala compiler behavior. Fix #1000751.
    
    Some Scala types (e.g., AnyRef, Any, Array, ...) with no generic signature were not correctly converted in the
    ScalaMethodVerifierProvider. Fix #1000752.
    
    Integrated Iulian's feedback (pull request #42).
    
    Resolved Conflicts:
    
    	org.scala-ide.sdt.core/src/scala/tools/eclipse/jcompiler/ScalaMethodVerifierProvider.scala
  3. Replaced all calls to ScalaPlugin.check and ScalaPlugin.checkOrElse w…

    dotta committed Nov 16, 2011
    …ith Utils.tryExecute.
    
    I believe the latter better describes the method's intention.
    
    (cherry picked from commit 4a1c311)
Commits on Nov 9, 2011
  1. Cherrypicked fix for #1000406.

    hubertp committed Oct 31, 2011
    Reverting the revert (that's sounds weird btw): "Revert "Fixes #1000406. Also don't add compiler to the classpath automatically"" and fixed the underlying problem. Also added a bunch of tests for sbt builder for other bugs. Not sure how to force jdk change easily for this bug, so I am leaving the test case open
    
    Cherry-picked from d98125e without ImplicitsHighlighting test.
    
    Added files necessary to initialize workspace for the tests
    (cherry picked from commit a9a3f72)
    
    Finally fixed tests, which revealed problem with the build manager in testSimpleJavaDep test in ScalaJavaDepTest. We seem to still remove java classes and sbt assumes that they are still there.
    (cherry picked from commit 31bb845)
    
    Ignore failing test for now (it is not related to this ticket anyway, but to builder in general. Made smaller jar for compiler testing
    (cherry picked from commit 0c9bb34)
    
    Typo
    (cherry picked from commit 0e60fea)
    
    I was overzealous with my changes. Incorported fix pointed out in the review
    (cherry picked from commit 77472e6)
Commits on Nov 8, 2011
  1. The ScalaMethodVerifierProvider needs to access the active project to…

    dotta committed Nov 8, 2011
    … query the presentation compiler and retrieve the
    
    symbol associated to a MethodBinding.
    
    To retrieve the active project we need to use the Eclipse Workbench, which is a UI component. Consequently, I had to
    ignore all tests related to the ScalaMethodVerifierProvider, as they would fail in headless mode.
    
    The strategy we used in the past to retrieve the project was simply broken. In fact, it was crashing when the MethodBinding
    was coming from a binary classfile (check Re #1000660 for a practical example).
    
    I'll work on re-enabling them but I'd like to push this forward as it Fixes #1000660, #1000715.
    
    Iulian is right, if the MethodBinding is coming from a binary file, then we don't need to run it through the
    ScalaMethodVerifierProvider, because all the mixed-in methods have been added (therefore Java compilers sees
    the correct types).
  2. Updated About.

    dotta committed Nov 8, 2011