-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Get ide
to work with Java 11 / Eclipse 4.17
#129
Comments
Ugg, what a pain (RE supporting both Java 8/11). I need a version of ANTLWorks that only works with 1.8, but VScode and now Eclipse are forcing Java 11. I better start getting ahead of this. Any ideas on where to get started, or is that the first steps here? |
The most obvious place to start would be upgrading the eclipse launcher jars and code. The jars are defined here: Lines 44 to 53 in d95be31
And the code is here: How to do itA long time ago, you couldn't apply a gradle plugin to the And as for the Past those two things (updating the jars, updating the As mentioned before, these upgrades are likely to drop support for all the old Eclipse's. But I think that's fine, |
Awesome, thanks for the head start! I will start plugging away at it and see if I can make any progress on this. I will have more time at the end of the week, so I'll post back then with any results. |
Sorry it took me so long to get back to this. I have all my DevOps up and running on Java 11 now, so hopefully I can make some progress on this. |
FYI I am going to start testing this in watheia/gradle-and-eclipse-rcp, so I will add a branch there for java-11. |
@nedtwigg When you have a min, could you please give me some additional context on where I can look into making changes to the following in the
I'm not exactly sure if those symbols are intentional or some kind of encoding error, but I was more curious about where I can locate, and make changes to, the referenced Gradle file. Cheers, and thank you! |
Ah, of course. Says so right above that block of code! Thanks for the speedy reply. =) |
Sorry for brief answer from phone, juggling sick kids. The longer answer is to swap the comment here: Lines 22 to 25 in 292e0eb
and clone this repo in a folder next to goomph: https://github.com/diffplug/blowdryer-diffplug |
No worries, I just clicked the link at the top of the README to find it. FYI I am attempting to get the CI workspace set up here; https://gitlab.com/watheia/diffplug If you have a GitLab account I can add you on if you wish. Once it's working I will be able to run "Auto DevOps" against |
Unfortunately, decoupled projects seem to break classpath resolution with p2 targets. You want me to see if I can take a stab at that first, assuming it's not just something stupid in my setup? (pass) https://gitlab.com/watheia/diffplug/-/jobs/805215016 Note: At this point, I'm just trying to get everything up and running on java-8, before I move on to the more challenging bit. I have done a few experiments locally to test the waters, but I need to integrate cross-project builds to make any real progress. |
Very cool approach you are taking! I have two points: 1 ) You don't have to include The 2 ) I'm surprised by the error, and it looks like you know more about composite builds than I do. My only feedback is that the only time I've had success using composite builds with plugins is this: // settings.gradle of plugin consumer
includeBuild('../plugin-producer') I think your submodule repo is a great idea, but I think you can probably get away with just modifying the |
Thanks for the tips! I did actually have them working individually, but I was starting to pollute the repos with my own personal workflows so I was hoping to move all that to the top. I should probably just read the I have actually had success depending on a plugin in-situ like this before so it is possible. Sometimes though one needs to make a few minor tweaks to support that use case. Usually nothing major. It has only been in Gradle 6.x that this was even viable, so the pattern has not been widely adopted yet. I will keep you posted on further progress. Cheers! |
I am still getting dependency resolution errors on https://scans.gradle.com/s/pxs6jzwfq3j3a I will poke through
|
I'm not sure what the cause is, but the problem is that it shouldn't be trying to get Line 49 in 292e0eb
But it shouldn't do that, because of this: Lines 58 to 62 in 292e0eb
I don't know why composite build would do that, but it seems like that's what's happening. |
This was actually run on its own inside a clean Docker container since I figured this would be the best way to get a working baseline. This does actually help get me started though! I tried searching for the dependency usage but didn't use a wide enough net I suppose! I will take another stab at in tomorrow. FYI I published a full build scan with https://scans.gradle.com/s/ezyzqmfbe5kmg I will get the Docker container up and running in GitLab CI tomorrow so it will be easier to debug. I was just experimenting on localhost a bit first. |
Goomph is also building on a clean docker container in CI, so it's very confusing: https://travis-ci.org/github/diffplug/goomph |
Indeed that is alarming! Except now maybe it makes sense what happened. I clearly broke something by upgrading to Gradle 6.7! Whoops, better start over and try again. O_o |
@nedtwigg It was indeed Gradle 6.7 causing the issues. https://gitlab.com/watheia/goomph/-/jobs/811015751
|
Unfortunately, the version of https://gitlab.com/watheia/goomph/-/jobs/811053032 I had the same results locally. I'm not exactly sure how to upgrade
|
My advice:
|
And here is where I start questioning my sanity...
Prior to this I think I will pick this back up again tomorrow. Nothing makes sense anymore, hah! :) EDIT Probably relevant... The first time I generated the wrapper from my default Java 11 install, while this time I used the Docker container built from the version prior to the one I'm targeting (IE. generated from Java 8). At least I can sleep a little sounder tonight. haha! |
Feel free to turn |
We now have |
Well, shoot. Now we get to figure out why my native JDK11 toolchain only produces warnings on I will keep at it, just giving you a heads up! |
@nedtwigg Here is the first working https://gitlab.com/watheia/diffplug/-/pipelines/208489628 There are a few bits disabled in dev tasks, but tests are passing. Still no idea why localhost produced different results than Docker, but I worked around it by setting |
Hi Ned,
I will do some further investigation this week and hope i can come up with a solution that i can share here. Regards, Ralf |
Great, thanks very much @ralfgrossklaus, looking forward to see what you come up with :) |
You're welcome. I am still working on the classloader issue. But you can have look about the changes for an Eclipse 4.13.0 bootstrap here: https://github.com/ralfgrossklaus/goomph/tree/4.13.0_p2_bootstrap Not much to do. The main problem was to find the reason why the the bundle initialization did not work anymore. I added my boostrap zip to dropbox here: https://www.dropbox.com/s/zgxj3blfevsb9gz/goomph-p2-bootstrap.zip?dl=0 What I did to create it was the following:
It works on our local mirror, however the bootstrap is currently 18MB which is quite a bit more than the old one. Not sure which plugins can be removed safely from the ZIP in order to bring the size down. Im afraid I don't have much time to look into this, as It is not much of a problem in our local network. But i guess when you want to publish one to bintray, a smaller version would be better? I will keep you updated about my progress. Regards, Ralf |
Great, thanks very much! The old bootstraps were created like so, but your way works great too. I'm not particularly worried about the size of the bootstrap jar. Aside: you're doing links like this (I've been editing your comments to fix them)
which goes to the URL
if you're trying to make the text smaller. |
Hi! |
@ralfgrossklaus I'm taking a stab at this now too, and your hints above have been fantastically helpful. If you have an unfinished WIP branch, I'd love to take a peek! |
@nedtwigg Sure. You can take a look at my j11 branch. There are a few issues with it, hence i haven't created a PR yet.
Besides that and if the boostrap pde is provided, it should run for Java 11. I haven't tested it for java 8 however. Regards, Ralf |
Interesting. On my branch, I updated Your |
Huzzah! Your fork is amazing. I've mushed things around a bit, should have a new release later tonight. |
Hey friend! I apologize for the lack of activity. Iv'e been busy launching a startup! I have a meeting in a couple hours (11:30 Pacific), but I'm free the rest of the afternoon. PS: This is a bit embarrassing, but the reason I could get it to work in Docker and not localhost is because I had accidently installed jre instead of jdk. |
Thanks for all the help! A fix is shipped in
So there will definitely be bugfix releases, but it's working. |
Eclipse 4.17 requires Java 11+ to run. If you try to run it with Java 8, there are no explicit warnings about using the wrong version, and eclipse will start successfully. However, you won't actually be able to use it, it's functionally broken.
If you start
ide
with Java 11, the task fails like so:It's really important for Goomph to support the latest version of eclipse. Goomph still works with
4.17
with themavenCentral
plugin, but theide
plugin needs to work too. It would be nice for Goomph to stay compatible with Java 8, but if we have to bump our minimum required Java to 11, I'm okay with that.Fixing this is important, but I don't expect to have time to look at this further until early 2021. PRs are welcome!
The text was updated successfully, but these errors were encountered: