Scala 2.12

502 views
Skip to first unread message

Rich Oliver

unread,
Nov 8, 2016, 4:36:30 PM11/8/16
to Scala IDE User
Is it possible to use Scala 2.12 with the current version of Scala IDE or do we need to wait for a new version?

Simon Schäfer

unread,
Nov 8, 2016, 4:47:03 PM11/8/16
to scala-ide-user

---- On Tue, 08 Nov 2016 22:36:30 +0100Rich Oliver <rzi...@gmail.com> wrote ----

Is it possible to use Scala 2.12 with the current version of Scala IDE or do we need to wait for a new version?

You can download 2.12 manually and add it as a Scala installation to the IDE. This way you can build projects with 2.12 but the presentation compiler is still bound to 2.11. For a PC upgrade you need to wait for a new IDE release, which is in the making.

Daniel Davis

unread,
Nov 19, 2016, 3:52:58 PM11/19/16
to Scala IDE User

Simon Schäfer

unread,
Nov 20, 2016, 5:53:54 AM11/20/16
to scala-ide-user



---- On Sat, 19 Nov 2016 21:10:48 +0100Daniel Davis <nimeto...@gmail.com> wrote ----

yes. We plan to do a new release in the next week.

Rich Oliver

unread,
Dec 7, 2016, 6:58:01 AM12/7/16
to Scala IDE User
So any more news on 2.12?
It doesn't seem to be included in 4.5RC2

Simon Schäfer

unread,
Dec 7, 2016, 8:04:31 AM12/7/16
to scala-i...@googlegroups.com
4.5 won't include 2.12. 4.5.1 will.


---- On Wed, 07 Dec 2016 12:58:01 +0100 rzi...@gmail.com wrote ----

--
You received this message because you are subscribed to the Google Groups "Scala IDE User" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-user/fbde2d5c-ada3-4bb4-a7e2-8d321bb895d0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Martin Marciniszyn

unread,
Jan 2, 2017, 5:39:44 AM1/2/17
to Scala IDE User
Hi Simon,

Do you have time estimate on the 4.5.1 release?

Thanks,

Martin

wpopie...@virtuslab.com

unread,
Jan 2, 2017, 5:54:35 AM1/2/17
to Scala IDE User
On behave of Simon who is on holidays till Epiphany...
4.5.1 is blocked right now by Zinc which needs to be compiled on 2.12. If Zinc guys won't compile it this week we are going to tinker a little bit in Zinc project to speed this process up. Then I think some 1-2 weeks later we will be able to launch 4.5.1.
Regards
W.

Francois

unread,
Jan 31, 2017, 12:38:52 PM1/31/17
to scala-i...@googlegroups.com
Hello,

Is there any new regarding that subject ?


Thanks,

For more options, visit https://groups.google.com/d/optout.

Simon Schäfer

unread,
Jan 31, 2017, 12:42:40 PM1/31/17
to scala-ide-user



---- On Tue, 31 Jan 2017 18:38:48 +0100 Francois <fan...@gmail.com> wrote ----

Hello,

Is there any new regarding that subject ?

We are nearly there. Shouldn't take too long from now on.
--
You received this message because you are subscribed to the Google Groups "Scala IDE User" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-use...@googlegroups.com.

Harshad RJ

unread,
Feb 15, 2017, 12:21:52 AM2/15/17
to Scala IDE User


On Tuesday, 31 January 2017 23:12:40 UTC+5:30, Simon Schäfer wrote:
We are nearly there. Shouldn't take too long from now on.


Just another friendly ping... to ask for status and show my interest!

cheers,
HRJ

Arnaud

unread,
Feb 15, 2017, 6:07:04 AM2/15/17
to Scala IDE User
I'm very interested too ;)

Simon Schäfer

unread,
Feb 15, 2017, 7:12:49 AM2/15/17
to scala-ide-user



---- On Wed, 15 Feb 2017 12:07:04 +0100 Arnaud <ama...@gmail.com> wrote ----

I'm very interested too ;)

It is not finished yet and I can't tell you how much longer it will take. We will inform you once it is available.

Rafał Krzewski

unread,
Feb 15, 2017, 8:44:36 AM2/15/17
to Scala IDE User
It turns out that code generator / optimizer work done in Scala 2.12 changed the compiler API in incompatible way.
Scala IDE is using presentation compiler extensively and needs to be adjusted to use the new API.

learner....@gmail.com

unread,
Feb 17, 2017, 11:16:02 AM2/17/17
to Scala IDE User
Just to add more voices here. This is very important. Scala 2.12 itself arrived late and is required for full Java 1.8 interoperability we (and, I guess, may others) need.

Related not re configuring which Scala to use with Scala IDE - the way that this configuration is done cannot be configured automatically by Eclipse workspace setup processes and/or mechanisms available in Eclipse Neon. This makes a number of things related to multiple projects and workspaces hard. Otherwise, I do believe that having Scala IDE work with the external Scala is the right approach as we can then ensure that the same Scala is used by the automated (and command line) build process as in Eclipse / Scala IDE. In the past we had to make sure we are synchronizing Scala IDE Scala and our versions and work to avoid duplicate libraries (some coming from Scala IDE but not all, others from what the project/build specifies).

Simon Schäfer

unread,
Feb 17, 2017, 7:29:03 PM2/17/17
to scala-ide-user



---- On Fri, 17 Feb 2017 17:13:49 +0100 <learner....@gmail.com> wrote ----

I do believe that having Scala IDE work with the external Scala is the right approach as we can then ensure that the same Scala is used by the automated (and command line) build process as in Eclipse / Scala IDE.

This is not possible from a technical point of view. If it would be possible we would have done it already this way.

Strictly speaking, it is theoretically possible to have an IDE that can be configured with external Scala versions but that would require a totally different design of the IDE instead of the one we have right now in Scala IDE.

Learner Evermore

unread,
Feb 17, 2017, 7:58:44 PM2/17/17
to Scala IDE User
Why would it not be possible? You already support "BYOS" (Bring Your Own Scala) - that is what I was extrapolating. This is already a project-specific setting. The only problem I saw is that setting of this could not be automated as it is stored in some obscure way. Specifically, we cannot just drop a file or use Oomph (Eclipse installer) to configure this. All we need is the ability for our automated dev environment setup and/or project-specific scripts (e.g. Gradle in our case) to configure this automatically. 

iulian dragos

unread,
Feb 18, 2017, 3:10:44 AM2/18/17
to scala-i...@googlegroups.com
On Sat, Feb 18, 2017 at 1:58 AM, Learner Evermore <learner....@gmail.com> wrote:
Why would it not be possible? You already support "BYOS" (Bring Your Own Scala) - that is what I was extrapolating. This is already a project-specific setting. The only problem I saw is that setting of this could not be automated as it is stored in some obscure way. Specifically, we cannot just drop a file or use Oomph (Eclipse installer) to configure this. All we need is the ability for our automated dev environment setup and/or project-specific scripts (e.g. Gradle in our case) to configure this automatically. 

I think Simon meant that it's not possible to bring your own Scala *presentation compiler*, the tool that's used to perform errors-as-you-type, completion, etc. What you suggest is having "just" the build compiler be from outside (that is possible right now), the way Sbt can work with several Scala versions.

Regarding automation, I thought sbt-eclipse was able to generate the right settings for such an "outside" compiler, but you needed to change a setting from its default value, see here.

iulian

 


On Friday, February 17, 2017 at 7:29:03 PM UTC-5, Simon Schäfer wrote:



---- On Fri, 17 Feb 2017 17:13:49 +0100 <learner....@gmail.com> wrote ----

I do believe that having Scala IDE work with the external Scala is the right approach as we can then ensure that the same Scala is used by the automated (and command line) build process as in Eclipse / Scala IDE.

This is not possible from a technical point of view. If it would be possible we would have done it already this way.

Strictly speaking, it is theoretically possible to have an IDE that can be configured with external Scala versions but that would require a totally different design of the IDE instead of the one we have right now in Scala IDE.

--
You received this message because you are subscribed to the Google Groups "Scala IDE User" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-user+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-user/6f55223c-616c-4684-9a10-3e6d440763e7%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais

Learner Evermore

unread,
Feb 23, 2017, 2:21:07 PM2/23/17
to Scala IDE User
Any progress (positive or negative)? I am working on a project where this matters a lot and we need to be able to plan. If there is a chance to get this in time we'd go one way, otherwise the other...

wpopie...@virtuslab.com

unread,
Feb 24, 2017, 4:23:03 AM2/24/17
to Scala IDE User
We are working on it quite intensively so support for 2.12 is matters of coming 2/3 weeks rather. Keep the faith :)

Daniel Davis

unread,
Feb 24, 2017, 4:25:41 AM2/24/17
to Scala IDE User
2/3 weeks is 4.66666.. days. So 4 days and 16 hours.

Rafał Krzewski

unread,
Feb 24, 2017, 5:25:21 AM2/24/17
to Scala IDE User
FWIW, you can use Scala IDE with project using 2.12 right now. There's bit of manual configuration involved, because you need to download Scala distribution and create a "Scala installation" in the IDE and modify project settings to point to correct Scala library container in each project, but once you do that, Scala IDE will build your source using 2.12 compiler, so you can run it, test it, debug it and so on. 
The caveat is that IDE will still use 2.11 presentation compiler, so you might get spurious red squiggles in your editor, but then again the changes at language level between 2.11 and 2.12 were rather minimal, so it should not happen too often. It's easy (if a little tedious) to identify such errors, because they only appear in the ediror and not in the "Problems" view. Once Scala IDE is ported to 2.12 presentation compiler, the squiggles will go away.

If your are deciding between using 2.11 and 2.12 for your project, I think there are a lot of arguments for going with 2.12 and spurious errors in the IDE should not impede you to much.

Hope that helps,
Rafał

W dniu czwartek, 23 lutego 2017 20:21:07 UTC+1 użytkownik Learner Evermore napisał:

Learner Evermore

unread,
Feb 24, 2017, 8:14:02 AM2/24/17
to Scala IDE User
In reality, I can't. I have to organize rolling a dev environment out to hundreds of developers - a rather costly operation in a very large project, cannot have it done only to have it needed again shortly. Having spurious errors or extra manual steps to set up (see my previous posts) is something we are normally avoiding.

Rafał Krzewski

unread,
Feb 24, 2017, 8:35:10 AM2/24/17
to Scala IDE User
You are right. What is a minor annoyance in small scale / hobby project is a complete showstopper at this sort of scale.
If your organization is such heavy user of Scala IDE, have you considered supporting it's development with money and/or manpower?
The benefits of that are self evident, I believe :) 

Learner Evermore

unread,
Feb 24, 2017, 8:40:22 AM2/24/17
to Scala IDE User
I had no ill intentions. It is the other way around for us. Most developers don't use Scala at all but, due to the complexity of the project setup it just "hangs in there" in their environment as we decided, after a lot of trial and error, that we need to have one common dev environment for all.

Learner Evermore

unread,
Feb 24, 2017, 8:50:52 AM2/24/17
to Scala IDE User
To clarify, for awareness...

We have one universal dev environment so that it can be used for anything, should the case arise it is needed. All developers use that dev environment. Because the project has many facets, not all developers are familiar with all and do not understand, for example, Scala specifics. For this reason we automate dev environment setup. That automation is complicated right now and requires either a lot of work or requires additional manual steps from developers who otherwise wouldn't know what or why they are doing what they need to do. These steps are prone to errors and, when you have so many developers, you get significant number of support calls back, which takes away from time you need to do your own work.

When the team and project are small, typically everyone "knows" enough about things and it isn't a big problem to support. Automation is not needed either. Hence, yes, in a big project and big team, this is an issue. 

Sarah Gerweck

unread,
Mar 9, 2017, 9:25:56 PM3/9/17
to Scala IDE User
Is there anything people could do to help get a beta of this out?

If there are any small– or medium-sized tasks that might take a handful of hours and don't require lots of prior knowledge of Scala IDE internals, I imagine there are people (myself included) who might be able to help. I can't make any promises, but I think you might get some pull requests if there were a public list that included some small tasks like this. (I'm not suggesting you spend a lot of time creating such a list—but if you already have one it would be great to publicize it here.)

Alternately, if you need help testing, I'm sure there are numerous people who would volunteer to try out a beta version of 2.12 support.

If you really just need time and there aren't ways for other developers to pick up some of the smaller bits, then godspeed. 😀

Sarah Gerweck

PS: One small piece of feedback I do have is that people are more patient if you post a short update every week or so. Estimates are great, but even just a two-sentence note saying that people are working on the issues and making progress does a lot to restore people's patience and prevent them from getting anxious. We're all developers here who understand why things often take longer than anybody wanted or expected. 😉

Simon Schäfer

unread,
Mar 10, 2017, 5:31:35 AM3/10/17
to scala-ide-user
2.12 support is making progress but I do not see small issues that could be addresses by non core devs. If people want updates, they can follow our PR queue on Github.


---- On Fri, 10 Mar 2017 03:25:56 +0100 Sarah Gerweck <sarah...@gmail.com> wrote ----

--
You received this message because you are subscribed to the Google Groups "Scala IDE User" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-use...@googlegroups.com.

Rafał Krzewski

unread,
Mar 13, 2017, 6:30:53 AM3/13/17
to Scala IDE User
I agree with Simon that actually fixing the remaining issues in 2.12 compatibility branch requires extensive knowledge of Scala IDE internals, scalac internals or both.

If you want to help out and have some time on your hands here's what you could do:

- Set up a development environment as described here: http://scala-ide.org/docs/dev/setup/setup.html
- Build scala-ide 2.12 from command line, skipping tests (./build-all.sh -P scala-2.12.x -P eclipse-neon install)
- Upgrade your development environment to 2.12 installing the plugins from staging at org.scala-ide.sdt.update-site/target/site
- Import org.scala-ide.sdt.core and org.scala-ide.sdt.core.tests into a fresh workspace 
- At this point you should be able to hack on Scala IDE for Scala 2.12 using Scala IDE running on Scala 2.12 
- Now run org.scalaide.TestsSuite as described here http://scala-ide.org/docs/dev/setup/setup.html#run-the-test-suite-inside-eclipse
- You should see a handlful of failing testcases. Pick one and try to determine why is it failing the way it does, without falling into scala/scala internals rabbit hole ;) Setting up a parallel environment on Scala 2.11 and running the same test case from scala-ide/scala-ide master branch and comparing the execution step-by-step will be very helpful here.

Speak up on https://gitter.im/scala-ide/scala-ide to avoid duplication of effort. Also if you have trouble with the steps above, we'll help you along.

Cheers,
Rafał
Reply all
Reply to author
Forward
0 new messages