Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » P2 » Bundle Qualifier Substitution(Bundle Qualifier Substitution)
Bundle Qualifier Substitution [message #1086838] Wed, 14 August 2013 20:15 Go to next message
Régent L'Archevêque is currently offline Régent L'Archevêque
Messages: 39
Registered: May 2010
Member
Hi,

I would like to embed a JRE into my Eclipse RCP. I created a feature (1.0.0.qualifier) that contains the JRE. In the feature project I created the following P2.inf:

instructions.configure=\
org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:features/jre.1_6.linux.x86_64_$qualifier$/jre/bin);
instructions.unconfigure=\
org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:null);

I tried the following substitution as well.
instructions.configure=\
org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:features/jre.1_6.linux.x86_64_${qualifier}/jre/bin);
instructions.unconfigure=\
org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:null);


When I install the feature, the eclipse.ini is modified as expected but the qualifier substitution is not performed.
...
features/com.oracle.jre.1_6.linux.x86_64_$qualifier$/jre/bin
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx1024m

I do not find how to do that.

Help would be appreciated.

Thanks Wink
Re: Bundle Qualifier Substitution [message #1087529 is a reply to message #1086838] Thu, 15 August 2013 19:53 Go to previous message
Régent L'Archevêque is currently offline Régent L'Archevêque
Messages: 39
Registered: May 2010
Member
I pursued my investigation of P2. Now I realize @artifact and ${artifact.location} are not properly substituted.

Here's my p2.inf located beside feature.xml.
instructions.configure=\
org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:features/com.oracle.jre.1_6.linux.x86_64_1.0.0/jre/bin);
instructions.unconfigure=\
org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:null);
instructions.install=\
chmod(targetDir:${artifact.location},targetFile:features/com.oracle.jre.1_6.linux.x86_64_1.0.0/jre/bin/java,permissions:755);
instructions.install.import=\
org.eclipse.equinox.p2.touchpoint.natives.chmod

I get the following error:
An error occurred while installing the items
session context was:(profile=epp.package.standard, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null --> [R]com.oracle.jre.1_6.linux.x86_64.feature.group 1.0.0, action=org.eclipse.equinox.internal.p2.touchpoint.natives.actions.ChmodAction).
The action chmod failed - file /features/com.oracle.jre.1_6.linux.x86_64_1.0.0/jre/bin/java does not exist


Someone knows where I can find a complete P2.inf example? I am sure I am missing something stupid.
Previous Topic:Headless Updating Error
Next Topic:'metaRequirements' broken?
Goto Forum:
  


Current Time: Wed Oct 22 12:22:37 GMT 2014

Powered by FUDForum. Page generated in 0.02210 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software