Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] what variable should i use to run some native touch point actions on the feature that is just installed?

ok for me this happens

it is in:

Install(Phase).perform(MultiStatus, EngineSession, Operand[], IProgressMonitor) line: 99 

that iterates over operands:

for (int i = 0; i < operands.length; i++) {

those are:

null --> [R] 12.0.0
null --> [R]com.servoy.jre.feature.feature.jar 12.0.0
null --> [R] 12.0.0
null --> [R]com.servoy.jre.win32.x86_64.feature.feature.jar 12.0.0
[IInstallableUnit property for 12.0.0] org.eclipse.equinox.p2.internal.inclusion.rules = null --> STRICT
[IInstallableUnit property for 12.0.0] org.eclipse.equinox.p2.type.root = null --> true

If you are on a ".group"  then the Install.initializeOperand :

Collection<IArtifactKey> artifacts = iu.getArtifacts();
if (artifacts != null && artifacts.size() > 0)
parameters.put(PARM_ARTIFACT, artifacts.iterator().next());

that returns then an empty artifacts collections
If you are on a .jar it seems to return something an "artifact" param is set

Problem is that my actions like chmod are done when the index is on "2" so that is  [R] 12.0.0

then there is no "artifact" property set and because of that also not the location a bit later on.

so the installaable unit " 12.0.0"
already has all the touchpoint stuff 
But of such a installable unit the artifacts array is an empty array..

So what i have for testing that i have a feature that includes the other 3 os specific features and of that main feature i generate a p2 site just doesn't work


this is the group thing, that you can see doesn't have the actifacts but does have the 2 touchpoints commands


this is the 3th operands and there you see that this is the .jar (the actual feature jar)
that one does have a artifacts entry, but that one does have totally different touch point data.

So am i here testing something that jus never works?

Can i test or configure it differently?

On Sat, 9 Nov 2019 at 10:43, Torkild U. Resheim <torkildr@xxxxxxxxx> wrote:

It seems we had a similar issue at some point. The code that is currently in use and has been for years looks like this:

instructions.install.import= \

instructions.install = \

I don't know why we are not using the "-R" option.

Best regards,

> 8. nov. 2019 kl. 22:07 skrev Mickael Istria <mistria@xxxxxxxxxx>:
> On Fri, Nov 8, 2019 at 5:37 PM Johan Compagner <jcompagner@xxxxxxxxx> wrote:
> I guess it should work for that target dir.  But what about the vm setting? That's just one argument that needs to then be concat to each other.
> But I will have ab test if I can seer how the code works for this argument.. I expected it to be more like a variable.  (Like installDir)
> Looking in the code of the Eclipse touchpoints (including setJVM and chmod), there seems to be a ${artifact.location} property you can use for this purpose.
> So you could maybe use
> org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:${artifact.location}/jre/Contents/Home/bin);\
> org.eclipse.equinox.p2.touchpoint.eclipse.chmod(targetDir:${artifact.location}/jre/Contents/Home/,targetFile:bin,permissions:755,options:-R);
> _______________________________________________
> p2-dev mailing list
> p2-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit

p2-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit

Back to the top