Skip to content
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

jdt.ls distro is 10MB heavier because of com.ibm.icu_64.2.0.v20190507-1337.jar #1351

Closed
fbricon opened this issue Feb 17, 2020 · 8 comments · Fixed by #1603
Closed

jdt.ls distro is 10MB heavier because of com.ibm.icu_64.2.0.v20190507-1337.jar #1351

fbricon opened this issue Feb 17, 2020 · 8 comments · Fixed by #1603

Comments

@fbricon
Copy link
Contributor

fbricon commented Feb 17, 2020

com.ibm.icu_64.2.0.v20190507-1337.jar is being added to the jdt.ls distro. It shouldn't since we're supposed to only ship com.ibm.icu.base (com.ibm.icu.base_58.2.0.v20170418-1837.jar is already in the distro)

@fbricon
Copy link
Contributor Author

fbricon commented Feb 17, 2020

Problem occured between Jan 17 and Jan 24, 2020: https://download.jboss.org/jbosstools/jdt.ls/staging/?C=M;O=D

Need to check if it was caused by
tycho 1.6.0 e9f78a4

@fbricon
Copy link
Contributor Author

fbricon commented Feb 17, 2020

Ok, while trying to exclude com.ibm.icu from the target platform, I found that:

[INFO] Resolving dependencies of MavenProject: org.eclipse.jdt.ls:org.eclipse.jdt.ls.core:0.50.0-SNAPSHOT @ /Users/fbricon/Dev/projects/eclipse.jdt.ls/org.eclipse.jdt.ls.core/pom.xml
[INFO] {osgi.os=linux, osgi.ws=gtk, org.eclipse.update.install.features=true, osgi.arch=x86_64}
[ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: org.eclipse.jdt.ls.core 0.50.0.qualifier
[ERROR]   Missing requirement: org.eclipse.jdt.core.manipulation 1.13.100.v20200217-0755 requires 'java.package; com.ibm.icu.text 60.0.0' but it could not be found
[ERROR]   Cannot satisfy dependency: org.eclipse.jdt.ls.core 0.50.0.qualifier depends on: osgi.bundle; org.eclipse.jdt.core.manipulation 1.8.0

@fbricon
Copy link
Contributor Author

fbricon commented Feb 17, 2020

@rgrunber when looking at the latest Orbit repo, I can see that com.ibm.icu.base is stuck at 58.2.0, while we need a version >= 60: https://download.eclipse.org/tools/orbit/R-builds/R20190602212107/
How can we fix that?

@fbricon
Copy link
Contributor Author

fbricon commented Feb 17, 2020

As a temporary solution, I'm trying to use last I-Build not enforcing the ICU 60 requirement introduced by https://github.com/eclipse/eclipse.jdt.ui/commit/3e36b6b6d9c0ea96d785c73f6950915cc8b5a402.
That'd be https://download.eclipse.org/eclipse/updates/4.15-I-builds/I20200122-1805/

fbricon added a commit that referenced this issue Feb 17, 2020
@fbricon
Copy link
Contributor Author

fbricon commented Feb 17, 2020

After discussing with @akurtakov, I've decided to bite the bullet and stick with the fat ICU jar for now, since no icu.base jars are produced anymore. We can't be stuck to a transient JDT build forever.

@rgrunber
Copy link
Contributor

Just as a heads-up @akurtakov has been doing some work in platform to eliminate ICU4J as a dependency. You can see some of his work at https://git.eclipse.org/r/#/q/owner:akurtako%2540redhat.com+status:merged+%22Remove+dependency+on+icu%22 . Once Bug 562579 gets merged (likely for 4.16 M3 cycle), it should be possible to build JDT-LS product without the presence com.ibm.icu.

@fbricon
Copy link
Contributor Author

fbricon commented Apr 28, 2020

Excellent news!!!

@rgrunber
Copy link
Contributor

rgrunber commented Nov 20, 2020

I haven't been able to reproduce locally, but seems 1 test started failing at https://ci.eclipse.org/ls/job/jdt-ls-master/985/ ?

UPDATE : Looks like a false alarm. https://ci.eclipse.org/ls/job/jdt-ls-master/987/ is fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants