Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Mar 11, 2015
  1. @sschaef

    Move expression evaluator to its own module

    sschaef authored
    - There is a common problem when definitions should be shared that are
      defined in plugin fragments. It turned out that this is necessary for
      the test fragments. They define some reusable test classes which
      should be accessed in other test fragments. Because these test classes
      are only defined in fragments but not in their corresponding plugins,
      it is not directly possible to access them. However, by defining the
        Eclipse-ExtensibleAPI: true
      in the `MANIFEST.MF` of a plugin, the Eclipse builder allows to access
      fragment definitions at compile time. More information about this
      property can be found at
      Other solutions and a more in depth explanation to the class sharing
      problem can be found at
    - The above solution of adding the `Eclipse-ExtensibleAPI` does only
      work for the Eclipse builder but not for our build tool maven. In
      order to allow maven to access the classes of fragments one has to put
      the property
        jars.extra.classpath = platform:/fragment/<id>
      to the `` of the fragment that needs to access another
      fragments' definitions. `<id>` has to be replaced with the plugin id
      of the fragment, whose definitions should be accessed.
    - The `` of a plugin should include the current
      directory (represented as .) in the `bin.includes` property. If it is
      not included there, no classes are put into the output directory. In
      Eclipse itself, one does not get a warning about that, but the maven
      build fails because it can't find the classes.
Commits on Dec 3, 2014
  1. @dragos
Commits on Jul 15, 2014
  1. @sschaef @skyluc

    Add combo box that can show images

    sschaef authored skyluc committed
    This introduces a dependency to the Eclipse Nebula project because a
    combo box that can show images is not part of SWT or JFace.
Commits on May 16, 2014
  1. @skyluc

    Create features for each Scala versions

    skyluc authored
    This will allow to install multiple versions of Scala on
    the same Eclipse installation.
    The main sdt build phase now only depends on p2 repos, external or local
    created in the previous phases.
Commits on Jan 8, 2014
  1. @dotta

    Removed special support for Scala continuations

    dotta authored
    The Scala IDE used to package the continuations plug-in to match the Scala
    distribution.  While this conveniency was appreciated by the few using
    continuations in their projects, it imposed a technical debt on the Scala IDE
    codebase (have a look at how the compiler `Settings` used to be instantiated).
    Recently, the continuations plug-in has been refactored and splitted into two
    separate JARs (a compiler plug-in, and a library). After this modularization,
    the Scala IDE codebase could no longer be compiled inside Eclipse because the
    continuations library isn't included in the project's classpath. Of course, we
    could implement a workaround to restore the functionality, but it just doesn't
    seem worth the time, considering the Scala Team has deprecated the
    continuations plug-in and will effectively drop supporting it the moment 2.12
    is released.  Hence, the decision of dropping the out-of-the-box support in the
    Scala IDE.
    From now on, if you want to use continutions in a project, you will have to
    provide the location of the continuations JAR via the -Xplugins setting.
    Finally, a couple of tests exercicing the behavior of both the presentation
    compiler and the build compiler when compiling a sourcefile that requires the
    continuations plug-in are now executed only for Scala 2.11 or later. This is
    needed because the continuations.jar is no longer loaded when starting the
    compiler inside Eclipse, and that turns out to affect semantic of programs
    using continuations in Scala 2.10, because the compiler does no longer report
    an error if a source file (requiring continuations) is compiled without passing
    the flag to enable the plugin. Why? Because up until Scala 2.10 the compilation
    error is reported by the continuations.jar (!!). Of course, that error cannot
    be reported if the continuations.jar isn't available anymore (which is the
    whole point of this commit).  The behavior with Scala 2.11 is different because
    the continuations library has been moved out of the scala library (see
    and hence a compilation error is reported whenever a source is compiled without
    the continuations library in the classpath. That explains why the tests are now
    only executed on 2.11+.
    This commit undos all changes related to supporting continuations made by
    @adriaanm in #604
    Fix #1002012
    Fix #1002011
Commits on Dec 11, 2013
  1. @adriaanm

    Catch up with Scala Library Modularization.

    adriaanm authored
    Split the dependencies along the scala-2.10.x and scala-2.11.x profiles.
    The goal is to evolve the 2.11 module structure to get a leaner set of
    dependencies on Scala Core, with a separate Scala Modules container.
    Support the 2.11 swing/continuations modules:
    Rename `continuations.jar` to `scala-continuations-plugin.jar`.
    In 2.10 this was called `continuations.jar`,
    in 2.11 it's `scala-continuations-plugin_2.11.jar`, and the library part
    is distributed separately, so add that to the Scala container.
    TODO: add scala-xml and scala-parser-combinators to the scala container and to the repl classpath
    (These dependencies should move to the Scala Modules container eventually.)
    Fix the outputDirectory-es of scala-(refactoring|swing)
    Plugin goes to lib/. Long live XML copy-paste reuse.
Commits on Oct 18, 2013
  1. @dragos

    Reviewer comments:

    dragos authored
    - added Scala compiler sources
    - added xml and combinator versions only in the 2.11 profile
    - removed useless dependency on HasLogger
    - removed exported dependencies from sdt.core project files
    - removed superfluous version numbers in dependencies
    - fixed runtime library for build-tools to always be 2.10
  2. @dragos

    Use plain Scala OSGi bundles to build the IDE.

    dragos authored
    * toolchain is used only to build sbt
    * all Scala-related dependencies are resolved through Maven
    * bundles not needed for execution (scala-swing, continuations, various source attachments) are added to sdt.core
    * features need an extra step, because in 2.11 we need to ship two extra bundles (xml and parser combinators). This is done through the new -Pset-features profile in
    As a bonus, all Scala bundles have correct source attachments now, so plugin
    development should be much easier.
    Fixed #1001889.
Commits on Sep 10, 2013
  1. @dotta

    Added a source bundle for the sbt library.

    dotta authored
    This commit allows debugging, hyperlinking, etc. towards
    sbt sources. Useful when working on the Sbt builder.
    * create a source bundle for the sbt library. I needed to
      inline the contents of sbt jars in order to get Eclipse
      to correctly associate sources with classfiles
    * created a new compiler.interface bundle, only for the
      compiler interface, together with the matching
      `compiler.interface.sources` bundle. Sbt requires this to
      be a separate jar and there was no way to build a single sbt
      bundle with only some of the dependencies inlined.
    A similar approach could be used for the Scala library/compiler
    bundles, but we should investigate the possibility of having the
    Scala team publish source bundles too (Re #1001889).
    (this was originally a commit from @dragos, which I have adapted
    based on the comments in #482)
    Fixes #1001888
Commits on Feb 8, 2013
  1. @dragos

    Bumped version to 4.0.0.

    dragos authored
Commits on Feb 4, 2013
  1. @dragos

    Bump version number to 3.0.0-SNAPSHOT.

    dragos authored
    Once we bump the version, I can branch for release/3.0.x.
    I removed some versioned dependencies between our own core plugins (sdt.debug
    to sdt.core, sdt.spy to sdt.core), as I think they are not needed and are just
    a pain to maintain.
Commits on Oct 4, 2012
  1. @dragos

    Added Scala Plugin Spy.

    dragos authored
    This adds a view that can show the cursor offset in the current document,
    and additional Scala compiler information:
    * tree.pos (range positions)
    * tree.tpe
    * tree.symbol
    * tree.tpe
Commits on Aug 5, 2012
  1. @emolitor
Commits on Jul 29, 2012
  1. @dotta

    Removed the script

    dotta authored
    After the major rewrite of our maven build
    (SHA-bfc88fd04d80d68760e43dbe60b638c314280f0d), the ``
    is henceforth useless (and worse, it's not even working anymore because the
    `release-ide-29` maven profile does no longer exist in the POMs).
    Now, to build the IDE (for instance, for Scala 2.10.0-M6), the following plain
    maven  command is enough:
    > ./ -Dscala.version=2.10.0-M6 -Drepo.scala-refactoring= -Drepo.scalariform= -Dversion.tag=m2 -Pscala-2.10.x clean install
    Note that the above command assumes that you have produced the p2 repository
    for both our dependencies (scalariform and scala-refactoring).
Commits on Jul 26, 2012
  1. @skyluc

    Added alternative launch delegates for Scala Eclipse applications

    skyluc authored
    The new launch delegates are added to the Equinox weaving launch
    configurations, if available in the Eclipse setup.
    Fix #1001158
Commits on Jun 7, 2012
  1. @skyluc

    Clean up and simplification of the poms

    skyluc authored
    Made the dependencies of library, compiler and sbt optional, so they don't have to be excluded later.
    Moved the 'allowConflictingDependencies' option to the projects which require it (feature and site).
    It is needed because of the mix of versions for the elements coming from the m2 repo.
    Removed the dependency to aspectjrt (not needed)
    Cleaned-up an invalid property definition in sbt.full.library.
    Created properties for all plugin version numbers
    Fixed typo
    Fixed git location
    Added parameter to the p2 repositories ids
Commits on Jun 5, 2012
  1. @skyluc

    Major refactoring of the maven build.

    skyluc authored
    No bash script needed anymore. Everything is managed through maven.
    The new pom at in root folder contains version information and general configuration. is the root of the toolchain part is the root of the sdt part
    The version numbers of some plugins has been upgraded
    The downloaded libs have been moved to the target/lib folders, to simplify the clean up process.
    The first time, run './ (or './ install -P scala-2.10.x' for 2.10) from the root to generate an initial build and install the top pom locally. Then use maven from any project or subproject.
    Use the scala-2.10.x profile ('-P scala-2.10.x') to compile the 2.10 version.
    Re #1001056
Something went wrong with that request. Please try again.