[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [tycho-user] Bundle JRE along with my Product using Maven Tycho
|
Can anyone who is able to include JREs
during build time create a MCVE
( http://stackoverflow.com/help/mcve)? I had a consultant that has
worked exclusively with eclipse for 10 years try to get this
working and he could not get it working.
On 8/15/2016 7:43 PM, Paul Roubekas wrote:
@ Stéphane
I am not sure how you are able to use the java version as the
feature version. I am on Neon and I get the below error when
giving the JRE features the same version and the JRE.
org.apache.maven.lifecycle.LifecycleExecutionException:
Failed to execute goal
org.eclipse.tycho:tycho-packaging-plugin:0.26.0:validate-version
(default-validate-version) on project
jre.linux.gtk.x86_64.Feature: Unqualified OSGi version
1.8.101.qualifier must match unqualified Maven version
0.0.1-SNAPSHOT for SNAPSHOT builds
I also can not omit the ". qualifier"
When removed, the following error occurs.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-packaging-plugin:0.26.0:validate-version
(default-validate-version) on project
jre.linux.gtk.x86_64.Feature: OSGi version 1.8.101 must
have .qualifier qualifier for SNAPSHOT builds ->
[Help 1]
On 8/15/2016 7:12 PM, Paul Roubekas wrote:
@ Stéphane
There were three differences between what I have and your
example.
1) The p2.inf files were added
per Feature project. I only had one at the app Feature level.
2) There is an extra line in your example p2.inf. Namely....
org.eclipse.equinox.p2.touchpoint.natives.remove(path:jre);
3) The place in the build
where the p2.inf file(s) are
placed.
My
Hierarchy is as follows.
Repo\
Repo\pom.xml
Repo\releng\software.usque.releng
Repo\releng\software.usque.releng\pom.xml
Repo\releng\software.usque.releng.parent\pom.xml
Repo\releng\software.usque.releng.parent\features\pom.xml
Repo\releng\software.usque.releng.parent\plugins\pom.xml
Repo\features\jre.linux.gtk.x86_64.Feature <--- CA
Repo\features\jre.macosx.cocoa.x86_64.Feature <--- CB
Repo\features\jre.master.Feature <--- BA
Repo\features\jre.win32.win32.x86.Feature <--- CC
Repo\features\jre.win32.win32.x86_64.Feature <--- CD
Repo\features\software.usque.appFeature <--- AA
Repo\features\software.usque.{10 more feature projects
here...}
Repo\plugins\software.usque.{70 more plugin projects
here...}
In your working build where are all the p2.inf
files related to the JREs?
Just in CA, CB, CC and CD? As your reply seems to indicate.
See markers above.
Is a p2.inf needed in BA?
Is a p2.inf needed in AA?
Are you not doing SNAPSHOT builds?
On 8/15/2016 2:26 PM, Stéphane Vaucher wrote:
I'm using this in a product now. Only part that
was tricky was osx version to support MacOSX-specific
installers. For linux/windows, it should work if you are
consistent.
To ensure consistency, I use the JRE version as my
version number and avoid qualifiers.
From a core feature.xml,
<includes
id="cc.feature.jre.win32.win32.x86"
version="1.8.74" <!-- version here for
1.8.0_74 -->
optional="true"
os="win32"
ws="win32"
arch="x86"/>
<includes
id="cc.feature.jre.win32.win32.x86_64"
version="1.8.74"
optional="true"
os="win32"
ws="win32"
arch="x86_64"/>
...
From cc.feature.jre.win32.win32.x86_64/feature.xml
<feature
id="cc.feature.jre.win32.win32.x86_64"
label="%featureName"
version="1.8.74" <!-- version match -->
provider-name="%providerName"
plugin="cc.branding"
os="win32" <!-- os match -->
ws="win32" <!-- ws match -->
arch="x86_64"> <!-- arch match -->
From the cc.feature.jre.win32.win32.x86_64/p2.inf
instructions.configure=\
org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:features/cc.feature.jre.win32.win32.x86_64_1.8.74/jre/bin);
org.eclipse.equinox.p2.touchpoint.natives.remove(path:jre);
instructions.unconfigure=\
org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:null);
HTH,
Stephane
|
Attachment:
0x342DB165.asc
Description: application/pgp-keys
Attachment:
signature.asc
Description: OpenPGP digital signature