-
Notifications
You must be signed in to change notification settings - Fork 320
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
Fix exclusion for LanguageServer uber jar assembly #3143
Conversation
In the maven-dependency-plugin's 'excludeArtifactIds' the artifactId has to be specified, not the bundle's Symbolic name. Also artifacts not present anway. Also exclude all *.java files in the shade plugin configuration to ensure no java source-files are included in any case (the maven-dependencies-plugin also copies some eclipse source-jars).
I wonder if we can replace the usage of the Maybe we can use the antrun plugin to generate a list of copied dependencies and feed that to the shade's plugin |
I have no internas on how this is working. And how a state of the art solution would look like |
org.apache.commons.lang, | ||
org.apache.commons.logging, | ||
icu4j, | ||
commons-logging, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmmmm in my tests this was not sufficient.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From this comment I assume you only checked the ls jar didn't you?
#3137 (comment)
But to me it looks like the maven-dependencies-plugin only copies to the target/libs
folder whoose content is then installed as dependency and then shaded into the uber jar.
And the shading seems to consider all dependencies (I'm not on expert on this), which again includes e.g. commons-logging.
I have to admit I don't know what the ultimate goal was with the exclusion, but it definitively prevents the copying to the target/libs
folder. It currently does not prevent the inclusion into the ls jar.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes (jar tf), but on the base of your xtext/commons-logging branch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(start runtime eclipse, create new xtext project)
in general i am not sure how properly this was ever tested.
it is here but not here unclear what jar comes from the addjars and what from the copy deps |
i assume this is cause its no longer a transitive dependency of lsp4j |
With the other pr this one is obsolete. Thx @HannesWell |
In the maven-dependency-plugin's 'excludeArtifactIds' the artifactId has to
be specified, not the bundle's Symbolic name.
Also artifacts not present anway.
Also exclude all *.java files in the shade plugin configuration to ensure no java source-files are included in any case (the maven-dependencies-plugin also copies some eclipse source-jars).