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]com.servoy.jre.feature.feature.group 12.0.0
null --> [R]com.servoy.jre.feature.feature.jar 12.0.0
null --> [R]com.servoy.jre.win32.x86_64.feature.feature.group 12.0.0
null --> [R]com.servoy.jre.win32.x86_64.feature.feature.jar 12.0.0
[IInstallableUnit property for com.servoy.jre.feature.feature.group 12.0.0] org.eclipse.equinox.p2.internal.inclusion.rules = null --> STRICT
[IInstallableUnit property for com.servoy.jre.feature.feature.group 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]com.servoy.jre.win32.x86_64.feature.feature.group 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 "com.servoy.jre.win32.x86_64.feature.feature.group 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

image.png

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


image.png

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:
Hi,

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= \
        org.eclipse.equinox.p2.touchpoint.natives.chmod   

instructions.install = \
        chmod(targetDir:${artifact.location},targetFile:jre/bin/ControlPanel,permissions:755);\
        chmod(targetDir:${artifact.location},targetFile:jre/bin/java,permissions:755);\
        chmod(targetDir:${artifact.location},targetFile:jre/bin/javaws,permissions:755);\
        chmod(targetDir:${artifact.location},targetFile:jre/bin/jcontrol,permissions:755);\
        chmod(targetDir:${artifact.location},targetFile:jre/bin/jjs,permissions:755);\
        chmod(targetDir:${artifact.location},targetFile:jre/bin/keytool,permissions:755);\
        chmod(targetDir:${artifact.location},targetFile:jre/bin/orbd,permissions:755);\
        chmod(targetDir:${artifact.location},targetFile:jre/bin/pack200,permissions:755);\
        chmod(targetDir:${artifact.location},targetFile:jre/bin/policytool,permissions:755);\
        chmod(targetDir:${artifact.location},targetFile:jre/bin/rmid,permissions:755);\
        chmod(targetDir:${artifact.location},targetFile:jre/bin/rmiregistry,permissions:755);\
        chmod(targetDir:${artifact.location},targetFile:jre/bin/servertool,permissions:755);\
        chmod(targetDir:${artifact.location},targetFile:jre/bin/tnameserv,permissions:755);\
        chmod(targetDir:${artifact.location},targetFile:jre/bin/unpack200,permissions:755);

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

Best regards,
Torkild

> 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
> https://www.eclipse.org/mailman/listinfo/p2-dev

_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/p2-dev

Back to the top