Hi Mattias,
We’ve been trying to work this out too. How are you planning to use the plugins? Are you going to have an OSGi framework in your app? There doesn’t seem to be an easy way to load OSGi plugins from an uber jar using Felix, but maybe the other frameworks have something...
The only way I’ve found to create the jar is using the maven-dependency plugin then the maven-assembly plugin to package them up as a jar.
Regards, Greg
Hello,We are trying to create an "uber-jar" as well (for a standalone application that uses EMF, i.e., there are a lot of dependencies to Eclipse plugins that are not in any Maven repository) and based on my understanding Tycho uses a system scope [1] for dependencies that it resolves through p2. The maven-shade plugin can't find those. The maven-dependency plugin, however, is able to resolve the dependencies found by Tycho, so it is possible to use the copy-dependencies goal for example. But it's not ideal.What is the best way to handle a case like this?Is the spring-boot-maven-plugin able to resolve those plugins?Thanks,Matthias[1] https://stackoverflow.com/a/42420648On 07.06.2019 21:47, Jay Jay Billings wrote:Matthias, Excellent! Thanks! I think this will help with some of our next steps. Jay On Fri, Jun 7, 2019 at 9:25 PM Matthias Sohn <matthias.sohn@xxxxxxxxx> wrote:
We used the maven-shade-plugin to build the jgit command line app:
https://git.eclipse.org/r/plugins/gitiles/jgit/jgit/+/refs/changes/43/135143/2/org.eclipse.jgit.pgm/pom.xml#175
We switched to the spring-boot-maven-plugin and now use nested jars since we added Bouncycastle for signing support which is JCE and Eclipse signed. These signatures would break during shading and we didn't want to re-sign the shaded jar since the JCE signature is meant to be used for JCE providers only.
See change https://git.eclipse.org/r/#/c/133417 <https://git.eclipse.org/r/#/c/133417/31/org.eclipse.jgit.pgm/pom.xml> especially https://git.eclipse.org/r/#/c/133417/31/org.eclipse.jgit.pgm/pom.xml
here are the complete sources of the pom.xml
https://git.eclipse.org/r/plugins/gitiles/jgit/jgit/+/master/org.eclipse.jgit.pgm/pom.xml and the shell script we use to start the command line application
https://git.eclipse.org/r/plugins/gitiles/jgit/jgit/+/master/org.eclipse.jgit.pgm/jgit.sh
-Matthias
On Fri, Jun 7, 2019 at 11:03 PM Jay Jay Billings <jayjaybillings@xxxxxxxxx> wrote:
FYI - Greg and I looked at this more. Something like this appears to work:
<plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-p2-repository-plugin</artifactId> <version>${tycho-version}</version> <configuration> <!-- <createArtifactRepository>false</createArtifactRepository>--> <includeAllDependencies>true</includeAllDependencies> </configuration> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.3</version> <configuration> <!-- put your configurations here --> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin>
This produces a single shaded jar that appears to be correct, but I haven't tried it in a program yet.
Jay
On Fri, Jun 7, 2019 at 3:43 PM Jay Jay Billings <jayjaybillings@xxxxxxxxx> wrote:
Hello Tycho team!
Does anyone have a suggestion for how to create a shaded/uber-jar of a project and all of its dependencies? This would be comparable to using the maven-shaded plugin. I have found one good reference for it on the mailing list:
https://www.eclipse.org/lists/tycho-user/msg05978.html
Is that still the best way to do it?
Here's our use case. Greg Watson and I are looking taking some of the backend bundles from Eclipse PTP and Eclipse ICE to use in some new web services we are building. These are Spring+Vaadin web applications, so it would be easiest for us to just put a gigantic jar on the classpath.
Any thoughts or suggestions?
Best, Jay
-- Jay Jay Billings Twitter Handle: @jayjaybillings
-- Jay Jay Billings Twitter Handle: @jayjaybillings _______________________________________________ tycho-user mailing list tycho-user@xxxxxxxxxxx To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________ tycho-user mailing list tycho-user@xxxxxxxxxxx To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________ tycho-user mailing list tycho-user@xxxxxxxxxxx To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________tycho-user mailing listtycho-user@xxxxxxxxxxxTo change your delivery options, retrieve your password, or unsubscribe from this list, visithttps://www.eclipse.org/mailman/listinfo/tycho-user
|