Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Jun 18, 2012
  1. @dragos

    Merge pull request #117 from dragos/issue/separate-runtime-compiletim…

    dragos authored
    Correct handling of source Scala libraries on the class path.
Commits on Jun 14, 2012
  1. @skyluc

    Clean file handle on refreshing changed files

    skyluc authored
    The custom code I wrote to read an IFile was not releasing the file
    handle correctly.
    It was eventually closed when the object was GCed.
    Replaced the code with some internal jdt util method.
    Removed the incorrect method
    Fix #1000909
Commits on Jun 12, 2012
  1. @dragos

    Correct handling of source Scala libraries on the class path.

    dragos authored
    If a dependent project provides a Scala library as source, use the output directory
    as the bootclasspath for the current project.
    Don't filter out the Scala library from the class path. This allows compiling the Scala library itself.
Commits on May 24, 2012
  1. @dragos

    Extracted classpath management into its own trait.

    dragos authored
    Extended the logic for finding the Scala library in source folders, and not to rely on the 
    JDT (and implicitly the presentation compiler being present).
Commits on May 17, 2012
  1. @dotta

    Merge pull request #108 from JamesEarlDouglas/master

    dotta authored
    Fix typo: "paramters"
Commits on May 16, 2012
  1. @dragos

    Fixed deprecation warnings for things that are deprecated since 2.9.0…

    dragos authored
    … and may be removed in 2.10.
Commits on May 11, 2012
  1. @earldouglas
Commits on May 10, 2012
  1. @dragos

    Use the configured JDK when instantiating the presentation compiler.

    dragos authored
    The Scala compiler adds the currently running JDK to the class path, taking precedence over the JDK 
    configured in the build path. This commit fixed #1000820, and generalizes the scheme used by the Sbt
Commits on Apr 26, 2012
  1. @dragos
Commits on Mar 13, 2012
  1. @mdr @dotta

    Add initial support for semantic highlighting

    mdr authored dotta committed
Commits on Feb 29, 2012
  1. @dragos
  2. @dragos
Commits on Feb 17, 2012
  1. @dotta

    Override default when an explicit value is provided for `-XpluginsDir`.

    dotta authored
    In the IDE, for convenience we use to se the value of `-XpluginDir` to the
    default location in the distribution that contains the continuations.jar
    plugin.  This is convenient because users need only to pass
    `-P:continuations:enable` to use the continuations plugin.
    If in the IDE an explicit value is provided for `-XpluginsDir`, then we simply
    concatenate the user's provided plugins' directory to the default one.  This
    generally works fine and allows users to keep using the continuations plugin
    without having to copy the continuations.jar in the provided user's plugin
    However, by passing the additional parameter -Xplugin
    ${path-to-continuations-plugin}, the compiler is unable to load the
    continuations.jar. The reason is that there is ambiguity. `-XpluginsDir`
    instructs the compiler to load all plugins available in the passed
    directory(ies) and, as we said in the first paragraph, that means that the
    continuations' plugin gets always loaded. Now, when also `-Xplugin
    ${path-to-continuations-plugin}` the Scala compiler seems to get lost because
    it sees the continuations.jar twice, and it looks like it decided to simply not
    load it. Hence, the compiler will complain that the continuations plugin isn't
    enabled. That looks like a bug, and a ticket in the Scala compiler JIRA has
    been created for this:
    But in consideration of what has been said, I believe that we should not try to
    always set `-XpluginsDir` to point to the default location in the distribution.
    If the user decides that it should point to some other place, then provided
    location should be used. That actually matches the Scala compiler's behavior.
    Fix #1000908.
Commits on Feb 16, 2012
  1. @dotta
Commits on Feb 9, 2012
  1. @dragos

    Use File.pathSeparator when building the pluginsDir setting, to be pl…

    dragos authored
    …atform independent. Fixes #1000901.
Commits on Feb 7, 2012
  1. @misto

    Merge pull request #65 from scala-ide/issue/move-class-refactoring-10…

    misto authored
    Issue/move class refactoring 1000422
Commits on Feb 6, 2012
  1. @misto

    Initial commit of the Move Class refactoring.

    misto authored
    You can either move a single class from a file with multiple definitions to its
    own file, or move the complete file. The package declaration will be updated,
    and the imports/references to the moved class are adjusted in the project. The
    refactoring is also involved when a source file is moved from the package
    Of course Move Class also works on Traits and Objects.
    Some restrictions: it works only on Scala sources, and not across multiple
    projects. Also, visibility issues that might arise are completely ignored.
    I also implemented Iulian's suggestion to filter the files in the project and to
    only create an index for those that contain the name of the class we move or
    rename. This speeds up renaming and moving considerably.
    Apart from the refactoring changes, I also had to change how existing
    compilation units are reconciled: When moving a compilation unit, the
    presentation compiler is reset and reconciles all the managed units. At this
    point, the moved compilation unit doesn't exist anymore, resulting in an
    Exception later on because the resource can't be found anymore. So now we only
    reconcile units that exist.
    Fixes #1000422, #1000836, #1000842
Commits on Feb 3, 2012
  1. @dotta

    Improved logging infrastructure and plugged Log4J in the…

    dotta authored
    We used to have too many alternatives to create log items (Eclipse Log
    framework, our ad-hoc naive internal Logger and println statements originating
    from scalac). In short, we did not have an ideal logging infrastructure.
    Now, I plugged Log4J as the backend logger (I'll refer to it as the "default
    logger" in the rest of this commit message), which replaces our naive ad-hoc
    Logger. Further, all log events occurring in the Eclipse Log Framework are now
    *forwarded* to the default logger. Also, the Standard Output and Standard Error
    are *redirected* to the default logger.  The  goal is to have a single place
    to consult the log, and that is now the *scala-ide.log* file that is produced
    by the default logger, located in
    It's easy to consult the log from within Eclipse, just open the Eclipse
    Preferences, then Scala > Logging, and there is a link to open the
    *scala-ide.log* file in the editor (though, mind that it is not automatically
    refreshed while it's open).
    From the same preference's page, you can also control the amount of produced
    log, i.e., you can set the log level that better suits you (the default level
    is WARNING).  If needed, you can also enable a console appender to print all
    produced log items in the console (this is quite handy when doing development
    on the Scala IDE sources).
    To get a handle on the loggers you simply need to mix-in the HasLogger trait,
    which contains a reference to both the default logger and the Eclipse Log. You
    may wonder why we have two loggers. The reason is simple, if you want to
    communicate a message to the user, you should use the Eclipse Log. This becayse
    messages sent to the Eclipse Log are shown in the Eclipse Log View (remember
    that all messages sent to the Eclipse Log are also forwarded to the default
    logger, so you don't need to log the same message twice). In all other cases,
    you should use th default logger.
    Finally, I removed the "plugininfo" option, which it was used to enable debug
    information in the ScalaIndexBuilder. As a matter of fact, the amount of logged
    information can now be easily controlled through Log Levels.
    One element I'm not happy with is that I plugged Log4J within the
    scala-ide.sdt.core project and not as an external plug-in. I've tried to do so
    but failed due to my lack of understanding of OSGi.  This is something that I
    believe we should do at some point (maybe someone can help with this?!).
    Fixes #1000880.
Commits on Nov 23, 2011
  1. @skyluc

    Re #1000764. Refreshing presentation compiler data

    skyluc authored
    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 795e18f
Commits on Nov 21, 2011
  1. @skyluc

    Tweaks for Re #1000757

    skyluc authored
    - 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.
  2. @dragos

    Better build error management, and cleaned up interactions between bu…

    dragos authored
    …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.
Commits on Nov 13, 2011
  1. @dotta

    Replaced all calls to ScalaPlugin.check and ScalaPlugin.checkOrElse w…

    dotta authored
    …ith Utils.tryExecute.
    I believe the latter better describes the method's intention.
Commits on Nov 7, 2011
  1. @skyluc
  2. @skyluc

    Fixed #1000728. Modified classpath validator to accept multiple scala…

    skyluc authored
    … library jars of compatible version.
    Extended tests for the new cases.
  3. @dragos

    Copy resources to the output directory. This runs the JDT Java builde…

    dragos authored
    …r for this purpose, even when there are no modified Java files.
    Fixed #1000636.
Commits on Nov 4, 2011
  1. @dragos

    Integrated reviews.

    dragos authored Iulian Dragos committed
  2. @dragos

    Reworked the way the presentation compiler is restarted when projects…

    dragos authored Iulian Dragos committed
    … change.
    - A project resets the presentation compiler of all projects that depend on it after a successful build.
    - A project resets its own presentation compiler when one of the projects it depends on has changes (such as a class path change)
    - A class path change, or an added source file, restarts the PC
    Fixed #1000699. Test #1000645.
Commits on Nov 1, 2011
  1. @skyluc

    Fixed #1000631. It is somehow link to inter-project dependency.

    skyluc authored
    Added check so markers are modified in the project is closed.
  2. @dragos
Commits on Oct 28, 2011
  1. @skyluc

    Re #1000631. Modified so the compilers are not reset when the classpa…

    skyluc authored
    …th is invalid.
    The reset in this case is useless, generates log and was making the tests fail on trully
    headless systems.
  2. @dragos

    Make 'resetPresentationCompiler' do nothing on reset, if the presenta…

    dragos authored
    …tion compiler
    was not yet initialized. This avoids waking up the compiler just to tell it to shutdown,
    and also eliminates a source of deadlocks or recursive initializations (for instance, if
    reset is called while initializing the presentation compiler). Fixed #1000704.
Commits on Oct 24, 2011
  1. @skyluc

    Re #1000631. Improvements from the review comments.

    skyluc authored
    - Added a asScalaProject() method to ScalaPlugin, to return only 'valid' scala projects
    - Fix case when more than one project classpath is changed at once (+ test)
  2. @skyluc

    Re #1000631. Changed from thread to job for the error marker creations

    skyluc authored
    A Job is more Eclipse-like, avoids creation of a new
    thread and manages lock on resources.
    Added comment as recommanded
  3. @skyluc
  4. @skyluc

    re #1000631. Adding a classpath validator. Initial commit. Breaks Sbt…

    skyluc authored
    Added validator methods to ScalaProject.
    Added link for Java Model listener to validator when classpath is modified in ScalaPlugin.
    Added check if project classpath is valid in ScalaBuilder.
    Added set of tests for different configuration of the classpath.
Something went wrong with that request. Please try again.