After adding scala-reflect and scala-compiler as OSGi bundles to the IDE and starting it up, I got the following error message:
sbt.InvalidScalaInstance: Scala instance doesn't exist or is invalid:
version 2.11.2.-20140706-234733-75ac225015, library jar: /home/antoras/Software/scala-eclipse/plugins/org.scala-lang.scala-library_2.11.2.v20140706-234733-75ac225015.jar, compiler jar: /home/antoras/dev/scala/scala/src/eclipse/scala-compiler
at sbt.ScalaInstance$.slowActualVersion(ScalaInstance.scala:122)
However, the expected library exists on the shown path. I got the OSGi bundles by doing:
cp ~/Software/scala-eclipse/plugins/org.scala-lang.scala-reflect_2.11.2.v20140706-234733-75ac225015.jar .
jar xf org.scala-lang.scala-reflect_2.11.2.v20140706-234733-75ac225015.jar
cp -r META-INF ~/dev/scala/scala/src/eclipse/reflect/.
And similar for scala-compiler. I also had to add some dependencies that are somewhere in scala/build. Doing the same for scala-library leads to the error message (this time it is already a build path error, I don't need to startup the IDE to get it):
scala.reflect.internal.Types$TypeError: bad symbolic reference to scala.concurrent.forkjoin encountered in class file 'DrainableForkJoinPool.class'.
Cannot access term forkjoin in package scala.concurrent. The current classpath may be
missing a definition for scala.concurrent.forkjoin, or DrainableForkJoinPool.class may have been compiled against a version that's
incompatible with the one found on the current classpath.
But adding scala/build/libs/forkjoin.jar didn't help. Any ideas what is the problem?
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53BE7311.7070202%40antoras.de.
For more options, visit https://groups.google.com/d/optout.
On Thu, Jul 10, 2014 at 1:03 PM, Simon Schäfer <ma...@antoras.de> wrote:After adding scala-reflect and scala-compiler as OSGi bundles to the IDE and starting it up, I got the following error message: sbt.InvalidScalaInstance: Scala instance doesn't exist or is invalid: version 2.11.2.-20140706-234733-75ac225015, library jar: /home/antoras/Software/scala-eclipse/plugins/org.scala-lang.scala-library_2.11.2.v20140706-234733-75ac225015.jar, compiler jar: /home/antoras/dev/scala/scala/src/eclipse/scala-compiler at sbt.ScalaInstance$.slowActualVersion(ScalaInstance.scala:122)Is this error message truncated ? If not, why is a message supposed to display a path to a jar displaying a path to a directory ?
However, the expected library exists on the shown path. I got the OSGi bundles by doing: cp ~/Software/scala-eclipse/plugins/org.scala-lang.scala-reflect_2.11.2.v20140706-234733-75ac225015.jarWhat's the second argument to cp ?
jar xf org.scala-lang.scala-reflect_2.11.2.v20140706-234733-75ac225015.jar cp -r META-INF ~/dev/scala/scala/src/eclipse/reflect/.Because the '-r' argument is superfluous (since the copy source is a file), it's unclear whether the command above reflects what you meant to show.
And similar for scala-compiler. I also had to add some dependencies that are somewhere in scala/build. Doing the same for scala-library leads to the error message (this time it is already a build path error, I don't need to startup the IDE to get it):By 'build path error', you mean that the Host eclipse you are running interprets this as an error over the test IDE's eclipse project configuration ?
FYI If you just want to run a custom version of Scala in your test IDE (though not necessarily build on it), PR #731 lets you do that easily, with a GUI and all the niceties.
On Thu, Jul 10, 2014 at 1:03 PM, Simon Schäfer <ma...@antoras.de> wrote:
After adding scala-reflect and scala-compiler as OSGi bundles to the IDE and starting it up, I got the following error message:
sbt.InvalidScalaInstance: Scala instance doesn't exist or is invalid:
version 2.11.2.-20140706-234733-75ac225015, library jar: /home/antoras/Software/scala-eclipse/plugins/org.scala-lang.scala-library_2.11.2.v20140706-234733-75ac225015.jar, compiler jar: /home/antoras/dev/scala/scala/src/eclipse/scala-compiler
at sbt.ScalaInstance$.slowActualVersion(ScalaInstance.scala:122)
Looking at the Sbt source code (where the exception originates), gives:
private def slowActualVersion(scalaLoader: ClassLoader)(label: String) ={val v = try { Class.forName("scala.tools.nsc.Properties", true, scalaLoader).getMethod("versionString").invoke(null).toString }catch { case cause: Exception => throw new InvalidScalaInstance("Scala instance doesn't exist or is invalid: " + label, cause) }if(v.startsWith(VersionPrefix)) v.substring(VersionPrefix.length) else v}
I'm surprised there's no stack trace after the error message ("cause"). It might be that Sbt needs a jar file in order to build, and you're using a local build of Scala (which is a directory). Or, maybe, `scala.tools.nsc.Properties` doesn't exist?
--
--
However, the expected library exists on the shown path. I got the OSGi bundles by doing:
cp ~/Software/scala-eclipse/plugins/org.scala-lang.scala-reflect_2.11.2.v20140706-234733-75ac225015.jar .
jar xf org.scala-lang.scala-reflect_2.11.2.v20140706-234733-75ac225015.jar
cp -r META-INF ~/dev/scala/scala/src/eclipse/reflect/.
And similar for scala-compiler. I also had to add some dependencies that are somewhere in scala/build. Doing the same for scala-library leads to the error message (this time it is already a build path error, I don't need to startup the IDE to get it):
scala.reflect.internal.Types$TypeError: bad symbolic reference to scala.concurrent.forkjoin encountered in class file 'DrainableForkJoinPool.class'.
Cannot access term forkjoin in package scala.concurrent. The current classpath may be
missing a definition for scala.concurrent.forkjoin, or DrainableForkJoinPool.class may have been compiled against a version that's
incompatible with the one found on the current classpath.
But adding scala/build/libs/forkjoin.jar didn't help. Any ideas what is the problem?
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53BE7311.7070202%40antoras.de.
For more options, visit https://groups.google.com/d/optout.
--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/CAOwe9fa%2B4HzhXjruNaPu7H6%2B61nrAMvJVJf9JpcJh7DGwSz2jA%40mail.gmail.com.
My mistake, there is a longer stacktrace, see the other mail.
On 07/10/2014 02:38 PM, iulian dragos wrote:
On Thu, Jul 10, 2014 at 1:03 PM, Simon Schäfer <ma...@antoras.de> wrote:
After adding scala-reflect and scala-compiler as OSGi bundles to the IDE and starting it up, I got the following error message:
sbt.InvalidScalaInstance: Scala instance doesn't exist or is invalid:
version 2.11.2.-20140706-234733-75ac225015, library jar: /home/antoras/Software/scala-eclipse/plugins/org.scala-lang.scala-library_2.11.2.v20140706-234733-75ac225015.jar, compiler jar: /home/antoras/dev/scala/scala/src/eclipse/scala-compiler
at sbt.ScalaInstance$.slowActualVersion(ScalaInstance.scala:122)
Looking at the Sbt source code (where the exception originates), gives:
private def slowActualVersion(scalaLoader: ClassLoader)(label: String) ={val v = try { Class.forName("scala.tools.nsc.Properties", true, scalaLoader).getMethod("versionString").invoke(null).toString }catch { case cause: Exception => throw new InvalidScalaInstance("Scala instance doesn't exist or is invalid: " + label, cause) }if(v.startsWith(VersionPrefix)) v.substring(VersionPrefix.length) else v}
I'm surprised there's no stack trace after the error message ("cause"). It might be that Sbt needs a jar file in order to build, and you're using a local build of Scala (which is a directory). Or, maybe, `scala.tools.nsc.Properties` doesn't exist?
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53BE8F5A.9010905%40antoras.de.
On Thu, Jul 10, 2014 at 3:04 PM, Simon Schäfer <ma...@antoras.de> wrote:
My mistake, there is a longer stacktrace, see the other mail.
On 07/10/2014 02:38 PM, iulian dragos wrote:
On Thu, Jul 10, 2014 at 1:03 PM, Simon Schäfer <ma...@antoras.de> wrote:
After adding scala-reflect and scala-compiler as OSGi bundles to the IDE and starting it up, I got the following error message:
sbt.InvalidScalaInstance: Scala instance doesn't exist or is invalid:
version 2.11.2.-20140706-234733-75ac225015, library jar: /home/antoras/Software/scala-eclipse/plugins/org.scala-lang.scala-library_2.11.2.v20140706-234733-75ac225015.jar, compiler jar: /home/antoras/dev/scala/scala/src/eclipse/scala-compiler
at sbt.ScalaInstance$.slowActualVersion(ScalaInstance.scala:122)
Looking at the Sbt source code (where the exception originates), gives:
private def slowActualVersion(scalaLoader: ClassLoader)(label: String) ={val v = try { Class.forName("scala.tools.nsc.Properties", true, scalaLoader).getMethod("versionString").invoke(null).toString }catch { case cause: Exception => throw new InvalidScalaInstance("Scala instance doesn't exist or is invalid: " + label, cause) }if(v.startsWith(VersionPrefix)) v.substring(VersionPrefix.length) else v}
I'm surprised there's no stack trace after the error message ("cause"). It might be that Sbt needs a jar file in order to build, and you're using a local build of Scala (which is a directory). Or, maybe, `scala.tools.nsc.Properties` doesn't exist?
So, why is there no `scala.tools.nsc.Properties`? I definitely have that file under src/compiler.
Hi Simon,
This codepath has been removed by the Scala Installations support, and is not in the latest nightly. Have you tried it ?
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53C5A47C.3010602%40antoras.de.
Hi Simon,
This codepath has been removed by the Scala Installations support, and is not in the latest nightly. Have you tried it ?
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53C5A47C.3010602%40antoras.de.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/CAEg_ZokH9806rQ-kYnKzgDqag8RZ_YGpBmk-H6AMN%3Djdf2rWCQ%40mail.gmail.com.
Indeed, that seemed to be the prbolem. After updating everything and killing my test workspace, the compiler+reflect could be loaded correctly. 0f8b07a8d7 is the Scala version of the host platform, therefore I'm using this one now also for the OSGi bundles of the compiler+reflect. But now I get the following error message in a Scala project:
On 07/16/2014 02:54 PM, François Garillot wrote:
Hi Simon,
This codepath has been removed by the Scala Installations support, and is not in the latest nightly. Have you tried it ?
version 2.11.2.-20140715-230701-0f8b07a8d7, library jar: /home/antoras/Software/scala-eclipse/plugins/org.scala-lang.scala-library_2.11.2.v20140715-230701-0f8b07a8d7.jar, compiler jar: /home/antoras/dev/scala/scala/src/eclipse/scala-compiler
sbt.InvalidScalaInstance: Scala instance doesn't exist or is invalid:
(see full stacktrace below). The problem seems to be that the compiler jar can't be found (because the compiler sources are in scala/src/compiler and not in scala/src/eclipse/scala-compiler. The latter one is the location of the eclipse project).
WDYT, is this a problem due to the latest changes of Scala installations, or may I be able to configure the correct compiler path?
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53C68E6D.3030306%40antoras.de.
On Wed, Jul 16, 2014 at 4:38 PM, Simon Schäfer <ma...@antoras.de> wrote:
Indeed, that seemed to be the prbolem. After updating everything and killing my test workspace, the compiler+reflect could be loaded correctly. 0f8b07a8d7 is the Scala version of the host platform, therefore I'm using this one now also for the OSGi bundles of the compiler+reflect. But now I get the following error message in a Scala project:
On 07/16/2014 02:54 PM, François Garillot wrote:
Hi Simon,
This codepath has been removed by the Scala Installations support, and is not in the latest nightly. Have you tried it ?
version 2.11.2.-20140715-230701-0f8b07a8d7, library jar: /home/antoras/Software/scala-eclipse/plugins/org.scala-lang.scala-library_2.11.2.v20140715-230701-0f8b07a8d7.jar, compiler jar: /home/antoras/dev/scala/scala/src/eclipse/scala-compiler
sbt.InvalidScalaInstance: Scala instance doesn't exist or is invalid:
(see full stacktrace below). The problem seems to be that the compiler jar can't be found (because the compiler sources are in scala/src/compiler and not in scala/src/eclipse/scala-compiler. The latter one is the location of the eclipse project).
WDYT, is this a problem due to the latest changes of Scala installations, or may I be able to configure the correct compiler path?
I think yes. Here's roughly what happens:
- you have scala-compiler checked out, and built. The newly launched eclipse uses that directory instead of the compiler bundle- the newly launched eclipse will detect that the Scala Installation used by your test project is based on the `scala-compiler` project. From now on, I refer to the second instance of eclipse (your test environment)- when you want to build the test project, the builder realizes it needs to compile a compiler-interface against the Scala version that you're using. This is exactly what Sbt does on the command line, and the Eclipse builder delegates to the Sbt compiler for that- the sbt incremental compiler uses the concept of a `ScalaInstance`, which holds a classloader containing the classes needed to run the Scala compiler (since now we can support several versions of the compiler, we need classloader separation). If you look at our ScalaInstallations, you'll see that we create a ScalaInstance (and an associated class loader).- it looks like the classloader we create is not working for directories. Here's the code:
override def scalaInstance: ScalaInstance = {val store = ScalaPlugin.plugin.classLoaderStoreval scalaLoader = store.getOrUpdate(this)(new URLClassLoader(allJars.map(_.classJar.toFile.toURI.toURL).toArray, ClassLoader.getSystemClassLoader))
new sbt.ScalaInstance(version.unparse, scalaLoader, library.classJar.toFile, compiler.classJar.toFile, extraJars.map(_.classJar.toFile).toList, None)}
The `URLClassLoader` docs say that it works for directories, but they need a trailing `/` (otherwise it assumes it's a jar file).
All strings in this snippet are converted to URL or File objects - they should handle directories correctly. I think the problem is that the location of the project is added to the classpath, but what should be added are its source folders.
On 07/16/2014 04:59 PM, iulian dragos wrote:
On Wed, Jul 16, 2014 at 4:38 PM, Simon Schäfer <ma...@antoras.de> wrote:
Indeed, that seemed to be the prbolem. After updating everything and killing my test workspace, the compiler+reflect could be loaded correctly. 0f8b07a8d7 is the Scala version of the host platform, therefore I'm using this one now also for the OSGi bundles of the compiler+reflect. But now I get the following error message in a Scala project:
On 07/16/2014 02:54 PM, François Garillot wrote:
Hi Simon,
This codepath has been removed by the Scala Installations support, and is not in the latest nightly. Have you tried it ?
version 2.11.2.-20140715-230701-0f8b07a8d7, library jar: /home/antoras/Software/scala-eclipse/plugins/org.scala-lang.scala-library_2.11.2.v20140715-230701-0f8b07a8d7.jar, compiler jar: /home/antoras/dev/scala/scala/src/eclipse/scala-compiler
sbt.InvalidScalaInstance: Scala instance doesn't exist or is invalid:
(see full stacktrace below). The problem seems to be that the compiler jar can't be found (because the compiler sources are in scala/src/compiler and not in scala/src/eclipse/scala-compiler. The latter one is the location of the eclipse project).
WDYT, is this a problem due to the latest changes of Scala installations, or may I be able to configure the correct compiler path?
I think yes. Here's roughly what happens:
- you have scala-compiler checked out, and built. The newly launched eclipse uses that directory instead of the compiler bundle- the newly launched eclipse will detect that the Scala Installation used by your test project is based on the `scala-compiler` project. From now on, I refer to the second instance of eclipse (your test environment)- when you want to build the test project, the builder realizes it needs to compile a compiler-interface against the Scala version that you're using. This is exactly what Sbt does on the command line, and the Eclipse builder delegates to the Sbt compiler for that- the sbt incremental compiler uses the concept of a `ScalaInstance`, which holds a classloader containing the classes needed to run the Scala compiler (since now we can support several versions of the compiler, we need classloader separation). If you look at our ScalaInstallations, you'll see that we create a ScalaInstance (and an associated class loader).- it looks like the classloader we create is not working for directories. Here's the code:
override def scalaInstance: ScalaInstance = {val store = ScalaPlugin.plugin.classLoaderStoreval scalaLoader = store.getOrUpdate(this)(new URLClassLoader(allJars.map(_.classJar.toFile.toURI.toURL).toArray, ClassLoader.getSystemClassLoader))
new sbt.ScalaInstance(version.unparse, scalaLoader, library.classJar.toFile, compiler.classJar.toFile, extraJars.map(_.classJar.toFile).toList, None)}
The `URLClassLoader` docs say that it works for directories, but they need a trailing `/` (otherwise it assumes it's a jar file).
I think you could fix it by making sure we add a trailing slash for directories:
/*** This class loader is used to load classes and resources from a search* path of URLs referring to both JAR files and directories. Any URL that* ends with a '/' is assumed to refer to a directory. Otherwise, the URL* is assumed to refer to a JAR file which will be opened as needed.
This should be relatively easy to test/fix. Let me know if you managed to get it to work again!
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53C6BAEC.9010407%40antoras.de.
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-dev+unsubscribe@googlegroups.com.To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53C7A0BB.9070909%40antoras.de.
On Thu, Jul 17, 2014 at 12:08 PM, Simon Schäfer <ma...@antoras.de> wrote:
Oh, yes, that is what I meant, the corresponding class folders of source folders.
On 07/17/2014 11:15 AM, iulian dragos wrote:
I don't understand why *sources* play a role in this. It looks like a classfile is needed...
That's true.. so our bundle detection should "know" better when it's a jar vs. a project, and act accordingly for building the class loader... Do you want to have a go at this?
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53C7A0BB.9070909%40antoras.de.
--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/CAOwe9fYE1HME-g5M_%2BO29hucw3B1oDdzOy9Zi8SC7%2BN3rrC%3Dzw%40mail.gmail.com.
On Thu, Jul 17, 2014 at 12:08 PM, Simon Schäfer <ma...@antoras.de> wrote:
Oh, yes, that is what I meant, the corresponding class folders of source folders.
On 07/17/2014 11:15 AM, iulian dragos wrote:
I don't understand why *sources* play a role in this. It looks like a classfile is needed...
That's true.. so our bundle detection should "know" better when it's a jar vs. a project, and act accordingly for building the class loader... Do you want to have a go at this?
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53C7A0BB.9070909%40antoras.de.
--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/CAOwe9fYE1HME-g5M_%2BO29hucw3B1oDdzOy9Zi8SC7%2BN3rrC%3Dzw%40mail.gmail.com.
On 07/17/2014 06:37 PM, iulian dragos wrote:
It turned out that this is more difficult than I thought. While it is relatively easy to check if a given folder contains a project (it needs to contain the file `.project`), I couldn't find an API that allows me to easily access the configuration (the .project and .classpath files) of that project, which contains the information where the source folder are.
On Thu, Jul 17, 2014 at 12:08 PM, Simon Schäfer <ma...@antoras.de> wrote:
Oh, yes, that is what I meant, the corresponding class folders of source folders.
On 07/17/2014 11:15 AM, iulian dragos wrote:
I don't understand why *sources* play a role in this. It looks like a classfile is needed...
That's true.. so our bundle detection should "know" better when it's a jar vs. a project, and act accordingly for building the class loader... Do you want to have a go at this?
Do you remember how it was done before the multi Scala version feature was introduced? Because I'm not very interested in reading these XML files manually...
--To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53C7A0BB.9070909%40antoras.de.
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/CAOwe9fYE1HME-g5M_%2BO29hucw3B1oDdzOy9Zi8SC7%2BN3rrC%3Dzw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53CC34D4.6010303%40antoras.de.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53CC34D4.6010303%40antoras.de.
On 07/17/2014 06:37 PM, iulian dragos wrote:
It turned out that this is more difficult than I thought. While it is relatively easy to check if a given folder contains a project (it needs to contain the file `.project`), I couldn't find an API that allows me to easily access the configuration (the .project and .classpath files) of that project, which contains the information where the source folder are.
On Thu, Jul 17, 2014 at 12:08 PM, Simon Schäfer <ma...@antoras.de> wrote:
Oh, yes, that is what I meant, the corresponding class folders of source folders.
On 07/17/2014 11:15 AM, iulian dragos wrote:
I don't understand why *sources* play a role in this. It looks like a classfile is needed...
That's true.. so our bundle detection should "know" better when it's a jar vs. a project, and act accordingly for building the class loader... Do you want to have a go at this?
Do you remember how it was done before the multi Scala version feature was introduced? Because I'm not very interested in reading these XML files manually...
--To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/CAOwe9fYE1HME-g5M_%2BO29hucw3B1oDdzOy9Zi8SC7%2BN3rrC%3Dzw%40mail.gmail.com.--To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53C7A0BB.9070909%40antoras.de.
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53CC34D4.6010303%40antoras.de.
Hi Simon,
This codepath has been removed by the Scala Installations support, and is not in the latest nightly. Have you tried it ?
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53C5A47C.3010602%40antoras.de.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/CAEg_ZokH9806rQ-kYnKzgDqag8RZ_YGpBmk-H6AMN%3Djdf2rWCQ%40mail.gmail.com.
On 07/16/2014 02:54 PM, François Garillot wrote:
This is getting ridiculous. After updating the host to the newest nightly I get:Hi Simon,
This codepath has been removed by the Scala Installations support, and is not in the latest nightly. Have you tried it ?
java.lang.NoSuchMethodError: scala.tools.nsc.Settings.lint()Lscala/tools/nsc/settings/MutableSettings$BooleanSetting;
...
I run the test workspace with the compiler of the host, which is:
Scala IDE version:
4.0.0.local-2_11-201407211424-5699935
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53CD308A.2000805%40antoras.de.
On Mon, Jul 21, 2014 at 5:23 PM, Simon Schäfer <ma...@antoras.de> wrote:
On 07/16/2014 02:54 PM, François Garillot wrote:
This is getting ridiculous. After updating the host to the newest nightly I get:Hi Simon,
This codepath has been removed by the Scala Installations support, and is not in the latest nightly. Have you tried it ?
But you didn't update your IDE build, right?
java.lang.NoSuchMethodError: scala.tools.nsc.Settings.lint()Lscala/tools/nsc/settings/MutableSettings$BooleanSetting;
...
I run the test workspace with the compiler of the host, which is:
Scala IDE version:
4.0.0.local-2_11-201407211424-5699935
This is a local build of the IDE, which might be compiled against a slightly older compiler?
We didn't create a new classloader, instead we re-used the Eclipse one. However, due to some changes in the Scala compiler, that stopped working (as you reported). OSGi prevented some classes from being visible in the intricate code paths between the compiler, the IDE and the compiler interface. The "solution" was to create a plain class loader (without any OSGi magic), but now the problem is that we only support jars bundles, not project-based bundles.
IMO the best solution would be to go back to reusing the Eclipse classloader (this has non-negligeable performance and memory benefits). It was done in PR 3820, and I think the problem is that an interface is defined in scala-reflect and implemented in scala-compiler. I would try to add a default implementation on the method that wasn't seen
scala.reflect.internal.Reporter.warning(Reporting.scala:81)
(see my email from July 8).
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53CD36AC.8040200%40antoras.de.
So is this error thrown by your "base" IDE (i.e. nothing is usable), or while running the second ("test") IDE instance? I just installed the latest nightly and everything works fine for me.
----To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53CD36AC.8040200%40antoras.de.
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/CAOwe9fYA%3DPR5JqJy3m95MN3wnyH-629LpfRr%3DUEn5_a62V2MFQ%40mail.gmail.com.
It is thrown by the test instance, the base IDE works fine.
On 07/21/2014 06:41 PM, iulian dragos wrote:
So is this error thrown by your "base" IDE (i.e. nothing is usable), or while running the second ("test") IDE instance? I just installed the latest nightly and everything works fine for me.
--
For now I did a downgrade to a previous version, which doesn't have the problem.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/CAOwe9fYA%3DPR5JqJy3m95MN3wnyH-629LpfRr%3DUEn5_a62V2MFQ%40mail.gmail.com.----To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53CD36AC.8040200%40antoras.de.
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53CD4CF4.5010605%40antoras.de.
On Mon, Jul 21, 2014 at 7:25 PM, Simon Schäfer <ma...@antoras.de> wrote:
It is thrown by the test instance, the base IDE works fine.
On 07/21/2014 06:41 PM, iulian dragos wrote:
So is this error thrown by your "base" IDE (i.e. nothing is usable), or while running the second ("test") IDE instance? I just installed the latest nightly and everything works fine for me.
Ok, so it's possible that your test instance wasn't compiled against the right version of the Scala compiler? You'd have the scala-compiler project on the classpath of `sdt.core` (which branch/checkout?) to compile with, and also to run-with? Or you'd run with the "installed" org.scala-lang.scala-compiler bundle (jar)?
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/CAOwe9fauZBAyEE1oJRjRUr1TgP0s7C_t50QfXSogOorPVbYcGA%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-dev+unsubscribe@googlegroups.com.To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53D42F88.3050201%40antoras.de.
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53D61F1A.7050806%40antoras.de.
On Mon, Jul 28, 2014 at 11:59 AM, Simon Schäfer <ma...@antoras.de> wrote:
Yeah, that is what I now do temporarily. I just like the possibility of being able to change scalac when I have to debug it (custom println etc.), which happens from time to time.
On 07/28/2014 11:38 AM, iulian dragos wrote:
Thanks for the detailed explanation, I see how things went wrong. I'm looking now at your setup, trying to make OSGi work with a compiler checkout. However, until that works, I don't see why would you like to continue building aginst the checked-out sources for the compiler. Can't you make the IDE project pick up the installed jars for compilation *and* runtime? You could close the compiler project, for instance.. :-)
Yes, that's a life-saver.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53D61F1A.7050806%40antoras.de.
--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-dev+unsubscribe@googlegroups.com.--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais