Discussion:
Bundle JRE along with my Product using Maven Tycho
(too old to reply)
Paul Roubekas
2016-08-06 16:46:46 UTC
Permalink
Windows 7

Eclipse Neon

Tycho 0.26-SNAPSHOT


I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/),
four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html),
two years old. The newer blog post skips the step where a p2.inf file
is created.

Question 1) Is the p2.inf file no longer needed?


I have done the following.

Created the below directories

/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit


The build.properties files is as follows.

bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx

I get the following error during the Maven build.

[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
(default-p2-metadata-default) on project software.usque.appFeature:
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for
macosx.cocoa.x86_64 if there are no root files for that
configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
(default-p2-metadata-default) on project software.usque.appFeature:
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for
macosx.cocoa.x86_64 if there are no root files for that configuration
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException:
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for
macosx.cocoa.x86_64 if there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or
symbolic links for macosx.cocoa.x86_64 if there are no root files
for that configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:125)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata(AbstractMetadataGenerator.java:58)
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.generateMetadata(P2GeneratorImpl.java:96)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.attachP2Metadata(P2MetadataMojo.java:149)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(P2MetadataMojo.java:107)
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(P2MetadataDefaultMojo.java:33)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set
permissions or symbolic links for macosx.cocoa.x86_64 if there are
no root files for that configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.ensureRootFilesConfigured(FeatureRootAdvice.java:204)
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.getDescriptor(FeatureRootAdvice.java:153)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateRootFileIUs(FeaturesAction.java:453)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateFeatureIUs(FeaturesAction.java:423)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(FeaturesAction.java:605)
at
org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207)
at
org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository.executeBatch(AbstractArtifactRepository.java:187)
at
org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:122)
... 27 more


Did some searching and found this,
https://github.com/serge-rider/dbeaver/issues/115, which basically says
create a directory named *...\target\generated-macos* and put one
arbitrary file, I created a file called *filler.txt*, in the
*...\target\**generated-macos* directory and that should fix the build
error. But that is not what is happening in my case.

The *...\target* directory of the Eclipse product project.

...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.6.300.v20160525-1303
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml

And just in case I misunderstood the blog, I also tried putting the
*generated-macos* directory and file in the target of the Eclipse
feature project of the app, but that made no difference.

Question 2) How do fix this? Help please.
Paul Roubekas
2016-08-09 00:24:01 UTC
Permalink
Post by Paul Roubekas
Windows 7
Eclipse Neon
Tycho 0.26-SNAPSHOT
I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/),
four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html),
two years old. The newer blog post skips the step where a p2.inf file
is created.
Question 1) Is the p2.inf file no longer needed?
I have done the following.
Created the below directories
/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit
The build.properties files is as follows.
bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx
I get the following error during the Maven build.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
(default-p2-metadata-default) on project
software.usque.appFeature: Execution default-p2-metadata-default
of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for
macosx.cocoa.x86_64 if there are no root files for that
configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
(default-p2-metadata-default) on project
software.usque.appFeature: Execution default-p2-metadata-default
of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for
macosx.cocoa.x86_64 if there are no root files for that configuration
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for
macosx.cocoa.x86_64 if there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or
symbolic links for macosx.cocoa.x86_64 if there are no root files
for that configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:125)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata(AbstractMetadataGenerator.java:58)
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.generateMetadata(P2GeneratorImpl.java:96)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.attachP2Metadata(P2MetadataMojo.java:149)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(P2MetadataMojo.java:107)
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(P2MetadataDefaultMojo.java:33)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set
permissions or symbolic links for macosx.cocoa.x86_64 if there are
no root files for that configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.ensureRootFilesConfigured(FeatureRootAdvice.java:204)
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.getDescriptor(FeatureRootAdvice.java:153)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateRootFileIUs(FeaturesAction.java:453)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateFeatureIUs(FeaturesAction.java:423)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(FeaturesAction.java:605)
at
org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207)
at
org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository.executeBatch(AbstractArtifactRepository.java:187)
at
org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:122)
... 27 more
Did some searching and found this,
https://github.com/serge-rider/dbeaver/issues/115, which basically
says create a directory named *...\target\generated-macos* and put one
arbitrary file, I created a file called *filler.txt*, in the
*...\target\**generated-macos* directory and that should fix the build
error. But that is not what is happening in my case.
The *...\target* directory of the Eclipse product project.
...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.6.300.v20160525-1303
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml
And just in case I misunderstood the blog, I also tried putting the
*generated-macos* directory and file in the target of the Eclipse
feature project of the app, but that made no difference.
Question 2) How do fix this? Help please.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
bump
--
The people that bring you Usque <http://Usque.software/>.
Paul Roubekas
2016-08-10 11:06:22 UTC
Permalink
Post by Paul Roubekas
Post by Paul Roubekas
Windows 7
Eclipse Neon
Tycho 0.26-SNAPSHOT
I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/),
four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html),
two years old. The newer blog post skips the step where a p2.inf
file is created.
Question 1) Is the p2.inf file no longer needed?
I have done the following.
Created the below directories
/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit
The build.properties files is as follows.
bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx
I get the following error during the Maven build.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
(default-p2-metadata-default) on project
software.usque.appFeature: Execution default-p2-metadata-default
of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for
macosx.cocoa.x86_64 if there are no root files for that
configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
(default-p2-metadata-default) on project
software.usque.appFeature: Execution default-p2-metadata-default
of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for
macosx.cocoa.x86_64 if there are no root files for that configuration
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for
macosx.cocoa.x86_64 if there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or
symbolic links for macosx.cocoa.x86_64 if there are no root files
for that configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:125)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata(AbstractMetadataGenerator.java:58)
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.generateMetadata(P2GeneratorImpl.java:96)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.attachP2Metadata(P2MetadataMojo.java:149)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(P2MetadataMojo.java:107)
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(P2MetadataDefaultMojo.java:33)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set
permissions or symbolic links for macosx.cocoa.x86_64 if there
are no root files for that configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.ensureRootFilesConfigured(FeatureRootAdvice.java:204)
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.getDescriptor(FeatureRootAdvice.java:153)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateRootFileIUs(FeaturesAction.java:453)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateFeatureIUs(FeaturesAction.java:423)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(FeaturesAction.java:605)
at
org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207)
at
org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository.executeBatch(AbstractArtifactRepository.java:187)
at
org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:122)
... 27 more
Did some searching and found this,
https://github.com/serge-rider/dbeaver/issues/115, which basically
says create a directory named *...\target\generated-macos* and put
one arbitrary file, I created a file called *filler.txt*, in the
*...\target\**generated-macos* directory and that should fix the
build error. But that is not what is happening in my case.
The *...\target* directory of the Eclipse product project.
...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.6.300.v20160525-1303
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml
And just in case I misunderstood the blog, I also tried putting the
*generated-macos* directory and file in the target of the Eclipse
feature project of the app, but that made no difference.
Question 2) How do fix this? Help please.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
bump
--
The people that bring you Usque <http://Usque.software/>.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
Is this question that hard? Or did I use the wrong words in my internet
search and not find documentation that explains how to add a JRE in a
Eclipse RCP using Tycho?
--
The people that bring you Usque <http://Usque.software/>.
Jonah Graham
2016-08-10 11:50:55 UTC
Permalink
I suspect no one has answered because no one has any advance on the
information you have already provided. I'll try and answer best I can.

1) The p2.inf in your first link updates eclipse.ini with the -vm
argument explicitly. While the second case relies on eclipse.exe
looking for a subfolder named "jre" by default. See
https://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java

2) Can't help you here. I normally do product builds on Linux, can you
test under Linux. Perhaps if you could provide an MCVE
http://stackoverflow.com/help/mcve someone would be able to reproduce
and help. I also assume the problem is happening with released Tycho
(0.25)? If not, you may have found a regression and a bug report would
be most appreciated
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho

Jonah
~~~
Jonah Graham
Kichwa Coders Ltd.
www.kichwacoders.com
Post by Paul Roubekas
Windows 7
Eclipse Neon
Tycho 0.26-SNAPSHOT
I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/),
four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html),
two years old. The newer blog post skips the step where a p2.inf file is
created.
Question 1) Is the p2.inf file no longer needed?
I have done the following.
Created the below directories
/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit
The build.properties files is as follows.
bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx
I get the following error during the Maven build.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
goal org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution
default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or symbolic
links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:125)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata(AbstractMetadataGenerator.java:58)
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.generateMetadata(P2GeneratorImpl.java:96)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.attachP2Metadata(P2MetadataMojo.java:149)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(P2MetadataMojo.java:107)
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(P2MetadataDefaultMojo.java:33)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set permissions or
symbolic links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.ensureRootFilesConfigured(FeatureRootAdvice.java:204)
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.getDescriptor(FeatureRootAdvice.java:153)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateRootFileIUs(FeaturesAction.java:453)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateFeatureIUs(FeaturesAction.java:423)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(FeaturesAction.java:605)
at
org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207)
at
org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository.executeBatch(AbstractArtifactRepository.java:187)
at
org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:122)
... 27 more
Did some searching and found this,
https://github.com/serge-rider/dbeaver/issues/115, which basically says
create a directory named ...\target\generated-macos and put one arbitrary
file, I created a file called filler.txt, in the ...\target\generated-macos
directory and that should fix the build error. But that is not what is
happening in my case.
The ...\target directory of the Eclipse product project.
...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.6.300.v20160525-1303
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml
And just in case I misunderstood the blog, I also tried putting the
generated-macos directory and file in the target of the Eclipse feature
project of the app, but that made no difference.
Question 2) How do fix this? Help please.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
bump
--
The people that bring you Usque.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
Is this question that hard? Or did I use the wrong words in my internet
search and not find documentation that explains how to add a JRE in a
Eclipse RCP using Tycho?
--
The people that bring you Usque.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
Paul Roubekas
2016-08-10 20:10:56 UTC
Permalink
Thanks Jonah

I now can at least say the JRE inside a Feature is valid approach and
still in use.

I can confirm the issue does occur in 0.25.0, not just 0.26.0-SNAPSHOT.
I can also say that the error occurs with each of the four JRE Feature
projects, not just the jre.linux.gtk.x86_64.Feature project.

I have added a typical pom.xml, feature.xml and build.properties files
for additional background.

Creating a MCVE is no small task, the application stands a ~5,000 files,
and will require more time then I have. Something that works 'live' is
due in 7 days for a conference. When the conference is over I can try
then. I was hoping to get this working for the conference.

====================================== jre.*.*.*.Feature
=======pom.xml===============================================================
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>Usque linux JRE feature</name>
<groupId>software.usque.features</groupId>
<artifactId>jre.linux.gtk.x86_64.Feature</artifactId>
<packaging>eclipse-feature</packaging>
<parent>
<groupId>software.usque</groupId>
<artifactId>software.usque.features</artifactId>
<version>0.0.1-SNAPSHOT</version>

<relativePath>../../releng/software.usque.releng.parent/features/pom.xml</relativePath>
</parent>
</project>
============================================================================================================

=======================================jre.master.Feature
feature.xml====================================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque">

<description url="http://www.example.com/description">
[Enter Feature Description here.]
</description>

<copyright url="http://www.example.com/copyright">
[Enter Copyright Description here.]
</copyright>

<license url="http://www.example.com/license">
[Enter License Description here.]
</license>

<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.1"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>

<includes
id="jre.macosx.cocoa.x86_64.Feature"
version="0.0.1"
optional="true"
os="macosx"
ws="cocoa"
arch="x86_64"/>

<includes
id="jre.win32.win32.x86_64.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86_64"/>

<includes
id="jre.win32.win32.x86.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86"/>

</feature>

================================================================================================================================

=============================== jre.*.*.*.Feature ===========
feature.xml=============================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.linux.gtk.x86_64.Feature"
label="JRE Linux Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque"
os="linux">

<description url="http://www.example.com/description">
[Enter Feature Description here.]
</description>

<copyright url="http://www.example.com/copyright">
[Enter Copyright Description here.]
</copyright>

<license url="http://www.example.com/license">
[Enter License Description here.]
</license>

</feature>

=========================================================================================================================================
=============================== jre.*.*.*.Feature
========build.properties=====================================================================
bin.includes = .,\
feature.xml
=========================================================================================================================================
Post by Jonah Graham
I suspect no one has answered because no one has any advance on the
information you have already provided. I'll try and answer best I can.
1) The p2.inf in your first link updates eclipse.ini with the -vm
argument explicitly. While the second case relies on eclipse.exe
looking for a subfolder named "jre" by default. See
https://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java
2) Can't help you here. I normally do product builds on Linux, can you
test under Linux. Perhaps if you could provide an MCVE
http://stackoverflow.com/help/mcve someone would be able to reproduce
and help. I also assume the problem is happening with released Tycho
(0.25)? If not, you may have found a regression and a bug report would
be most appreciated
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho
Jonah
~~~
Jonah Graham
Kichwa Coders Ltd.
www.kichwacoders.com
Post by Paul Roubekas
Windows 7
Eclipse Neon
Tycho 0.26-SNAPSHOT
I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/),
four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html),
two years old. The newer blog post skips the step where a p2.inf file is
created.
Question 1) Is the p2.inf file no longer needed?
I have done the following.
Created the below directories
/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit
The build.properties files is as follows.
bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx
I get the following error during the Maven build.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
goal org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution
default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or symbolic
links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:125)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata(AbstractMetadataGenerator.java:58)
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.generateMetadata(P2GeneratorImpl.java:96)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.attachP2Metadata(P2MetadataMojo.java:149)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(P2MetadataMojo.java:107)
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(P2MetadataDefaultMojo.java:33)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set permissions or
symbolic links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.ensureRootFilesConfigured(FeatureRootAdvice.java:204)
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.getDescriptor(FeatureRootAdvice.java:153)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateRootFileIUs(FeaturesAction.java:453)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateFeatureIUs(FeaturesAction.java:423)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(FeaturesAction.java:605)
at
org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207)
at
org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository.executeBatch(AbstractArtifactRepository.java:187)
at
org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:122)
... 27 more
Did some searching and found this,
https://github.com/serge-rider/dbeaver/issues/115, which basically says
create a directory named ...\target\generated-macos and put one arbitrary
file, I created a file called filler.txt, in the ...\target\generated-macos
directory and that should fix the build error. But that is not what is
happening in my case.
The ...\target directory of the Eclipse product project.
...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.6.300.v20160525-1303
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml
And just in case I misunderstood the blog, I also tried putting the
generated-macos directory and file in the target of the Eclipse feature
project of the app, but that made no difference.
Question 2) How do fix this? Help please.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
bump
--
The people that bring you Usque.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
Is this question that hard? Or did I use the wrong words in my internet
search and not find documentation that explains how to add a JRE in a
Eclipse RCP using Tycho?
--
Simon Goodall
2016-08-12 10:53:55 UTC
Permalink
Hi,

On Windows at least it is not possible to remove the currently running the
and replace it. Hence we install the new as a feature and use the p2.inf to
change the location of the jre. It is possible to use rootfiles to install
directly into the eclipse/jre folder but you would not be able to use p2 to
update it.

Looking at your feature.xml you are mixing version 0.0.1 and
0.0.1.qualifier which are different versions. I would use the special 0.0.0
as the included feature version numbers. Tycho will fill in the version
number itself during the build.

Simon
Post by Paul Roubekas
Thanks Jonah
I now can at least say the JRE inside a Feature is valid approach and
still in use.
I can confirm the issue does occur in 0.25.0, not just 0.26.0-SNAPSHOT. I
can also say that the error occurs with each of the four JRE Feature
projects, not just the jre.linux.gtk.x86_64.Feature project.
I have added a typical pom.xml, feature.xml and build.properties files
for additional background.
Creating a MCVE is no small task, the application stands a ~5,000 files,
and will require more time then I have. Something that works 'live' is due
in 7 days for a conference. When the conference is over I can try then. I
was hoping to get this working for the conference.
====================================== jre.*.*.*.Feature
=======pom.xml===============================================================
<project xmlns="http://maven.apache.org/POM/4.0.0"
<http://maven.apache.org/POM/4.0.0> xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
<http://www.w3.org/2001/XMLSchema-instance>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
<http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd>
<modelVersion>4.0.0</modelVersion>
<name>Usque linux JRE feature</name>
<groupId>software.usque.features</groupId>
<artifactId>jre.linux.gtk.x86_64.Feature</artifactId>
<packaging>eclipse-feature</packaging>
<parent>
<groupId>software.usque</groupId>
<artifactId>software.usque.features</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../../releng/software.usque.releng.parent/features/pom.xml</relativePath>
</parent>
</project>
============================================================================================================
=======================================jre.master.Feature
feature.xml====================================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.1"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
<includes
id="jre.macosx.cocoa.x86_64.Feature"
version="0.0.1"
optional="true"
os="macosx"
ws="cocoa"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86_64.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86"/>
</feature>
================================================================================================================================
=============================== jre.*.*.*.Feature ===========
feature.xml=============================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.linux.gtk.x86_64.Feature"
label="JRE Linux Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque"
os="linux">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
</feature>
=========================================================================================================================================
=============================== jre.*.*.*.Feature
========build.properties=====================================================================
bin.includes = .,\
feature.xml
=========================================================================================================================================
I suspect no one has answered because no one has any advance on the
information you have already provided. I'll try and answer best I can.
1) The p2.inf in your first link updates eclipse.ini with the -vm
argument explicitly. While the second case relies on eclipse.exe
looking for a subfolder named "jre" by default. Seehttps://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java
2) Can't help you here. I normally do product builds on Linux, can you
test under Linux. Perhaps if you could provide an MCVEhttp://stackoverflow.com/help/mcve someone would be able to reproduce
and help. I also assume the problem is happening with released Tycho
(0.25)? If not, you may have found a regression and a bug report would
be most appreciatedhttps://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho
Jonah
~~~
Jonah Graham
Kichwa Coders Ltd.www.kichwacoders.com
Windows 7
Eclipse Neon
Tycho 0.26-SNAPSHOT
I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/),
four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html),
two years old. The newer blog post skips the step where a p2.inf file is
created.
Question 1) Is the p2.inf file no longer needed?
I have done the following.
Created the below directories
/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit
The build.properties files is as follows.
bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx
I get the following error during the Maven build.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
goal org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution
default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or symbolic
links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:125)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata(AbstractMetadataGenerator.java:58)
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.generateMetadata(P2GeneratorImpl.java:96)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.attachP2Metadata(P2MetadataMojo.java:149)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(P2MetadataMojo.java:107)
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(P2MetadataDefaultMojo.java:33)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set permissions or
symbolic links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.ensureRootFilesConfigured(FeatureRootAdvice.java:204)
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.getDescriptor(FeatureRootAdvice.java:153)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateRootFileIUs(FeaturesAction.java:453)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateFeatureIUs(FeaturesAction.java:423)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(FeaturesAction.java:605)
at
org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207)
at
org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository.executeBatch(AbstractArtifactRepository.java:187)
at
org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:122)
... 27 more
Did some searching and found this,https://github.com/serge-rider/dbeaver/issues/115, which basically says
create a directory named ...\target\generated-macos and put one arbitrary
file, I created a file called filler.txt, in the ...\target\generated-macos
directory and that should fix the build error. But that is not what is
happening in my case.
The ...\target directory of the Eclipse product project.
...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.6.300.v20160525-1303
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml
And just in case I misunderstood the blog, I also tried putting the
generated-macos directory and file in the target of the Eclipse feature
project of the app, but that made no difference.
Question 2) How do fix this? Help please.
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe from
this list, visithttps://dev.eclipse.org/mailman/listinfo/tycho-user
bump
--
The people that bring you Usque.
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe from
this list, visithttps://dev.eclipse.org/mailman/listinfo/tycho-user
Is this question that hard? Or did I use the wrong words in my internet
search and not find documentation that explains how to add a JRE in a
Eclipse RCP using Tycho?
--
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
Paul Roubekas
2016-08-15 12:25:42 UTC
Permalink
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.0"
provider-name="Ortho Group LLC"
plugin="software.usque">

Changed in files:
jre.linux.gtk.x86_64.Feature
jre.macosx.cocoa.x86_64.Feature
jre.master.Feature
jre.win32.win32.x86_64.Feature
jre.win32.win32.x86.Feature


From:
version="0.0.1.qualifier"
To:
version="0.0.0"

Give the following build error.
[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 0.0.0 must have .qualifier qualifier for SNAPSHOT builds -> [Help 1]

Therefore I had to put the original values back before then next test
below was run.

================================================================================


<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.0"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>

Changed in file:
jre.master.Feature

for all four jre "includes" XML elements.

From:
version="0.0.1"
To:
version="0.0.0"

Give the following error build error.
[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:
Unqualified OSGi version 0.0.0.qualifier must match unqualified Maven
version 0.0.1-SNAPSHOT for SNAPSHOT builds -> [Help 1]
Post by Simon Goodall
Hi,
On Windows at least it is not possible to remove the currently running
the and replace it. Hence we install the new as a feature and use the
p2.inf to change the location of the jre. It is possible to use
rootfiles to install directly into the eclipse/jre folder but you
would not be able to use p2 to update it.
Looking at your feature.xml you are mixing version 0.0.1 and
0.0.1.qualifier which are different versions. I would use the special
0.0.0 as the included feature version numbers. Tycho will fill in the
version number itself during the build.
Simon
Thanks Jonah
I now can at least say the JRE inside a Feature is valid approach
and still in use.
I can confirm the issue does occur in 0.25.0, not just
0.26.0-SNAPSHOT. I can also say that the error occurs with each
of the four JRE Feature projects, not just the
jre.linux.gtk.x86_64.Feature project.
I have added a typical pom.xml, feature.xml and build.properties
files for additional background.
Creating a MCVE is no small task, the application stands a ~5,000
files, and will require more time then I have. Something that
works 'live' is due in 7 days for a conference. When the
conference is over I can try then. I was hoping to get this
working for the conference.
====================================== jre.*.*.*.Feature
=======pom.xml===============================================================
<project xmlns="http://maven.apache.org/POM/4.0.0"
<http://maven.apache.org/POM/4.0.0>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<http://www.w3.org/2001/XMLSchema-instance>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
<http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd>>
<modelVersion>4.0.0</modelVersion>
<name>Usque linux JRE feature</name>
<groupId>software.usque.features</groupId>
<artifactId>jre.linux.gtk.x86_64.Feature</artifactId>
<packaging>eclipse-feature</packaging>
<parent>
<groupId>software.usque</groupId>
<artifactId>software.usque.features</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../../releng/software.usque.releng.parent/features/pom.xml</relativePath>
</parent>
</project>
============================================================================================================
=======================================jre.master.Feature
feature.xml====================================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.1"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
<includes
id="jre.macosx.cocoa.x86_64.Feature"
version="0.0.1"
optional="true"
os="macosx"
ws="cocoa"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86_64.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86"/>
</feature>
================================================================================================================================
=============================== jre.*.*.*.Feature ===========
feature.xml=============================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.linux.gtk.x86_64.Feature"
label="JRE Linux Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque"
os="linux">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
</feature>
=========================================================================================================================================
=============================== jre.*.*.*.Feature
========build.properties=====================================================================
bin.includes = .,\
feature.xml
=========================================================================================================================================
Post by Jonah Graham
I suspect no one has answered because no one has any advance on the
information you have already provided. I'll try and answer best I can.
1) The p2.inf in your first link updates eclipse.ini with the -vm
argument explicitly. While the second case relies on eclipse.exe
looking for a subfolder named "jre" by default. See
https://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java
2) Can't help you here. I normally do product builds on Linux, can you
test under Linux. Perhaps if you could provide an MCVE
http://stackoverflow.com/help/mcve someone would be able to reproduce
and help. I also assume the problem is happening with released Tycho
(0.25)? If not, you may have found a regression and a bug report would
be most appreciated
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho
Jonah
~~~
Jonah Graham
Kichwa Coders Ltd.
www.kichwacoders.com <http://www.kichwacoders.com>
Post by Paul Roubekas
Windows 7
Eclipse Neon
Tycho 0.26-SNAPSHOT
I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/),
four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html),
two years old. The newer blog post skips the step where a p2.inf file is
created.
Question 1) Is the p2.inf file no longer needed?
I have done the following.
Created the below directories
/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit
The build.properties files is as follows.
bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx
I get the following error during the Maven build.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
goal org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution
default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or symbolic
links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:125)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata(AbstractMetadataGenerator.java:58)
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.generateMetadata(P2GeneratorImpl.java:96)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.attachP2Metadata(P2MetadataMojo.java:149)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(P2MetadataMojo.java:107)
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(P2MetadataDefaultMojo.java:33)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set permissions or
symbolic links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.ensureRootFilesConfigured(FeatureRootAdvice.java:204)
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.getDescriptor(FeatureRootAdvice.java:153)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateRootFileIUs(FeaturesAction.java:453)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateFeatureIUs(FeaturesAction.java:423)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(FeaturesAction.java:605)
at
org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207)
at
org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository.executeBatch(AbstractArtifactRepository.java:187)
at
org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:122)
... 27 more
Did some searching and found this,
https://github.com/serge-rider/dbeaver/issues/115, which basically says
create a directory named ...\target\generated-macos and put one arbitrary
file, I created a file called filler.txt, in the ...\target\generated-macos
directory and that should fix the build error. But that is not what is
happening in my case.
The ...\target directory of the Eclipse product project.
...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.6.300.v20160525-1303
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml
And just in case I misunderstood the blog, I also tried putting the
generated-macos directory and file in the target of the Eclipse feature
project of the app, but that made no difference.
Question 2) How do fix this? Help please.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
bump
--
The people that bring you Usque.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
Is this question that hard? Or did I use the wrong words in my internet
search and not find documentation that explains how to add a JRE in a
Eclipse RCP using Tycho?
--
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or
unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
--
The people that bring you Usque <http://Usque.software/>.
Paul Roubekas
2016-08-15 12:43:26 UTC
Permalink
I also tried adding the following p2.inf file to each jre project and
the master project and including the p2.inf in the build.properties
file. No change, still not find the Feature in the target platform.
================================================== p2.inf
===================================================================
instructions.configure=org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:features/software.usque.appFeature/jre/bin);
instructions.unconfigure=org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:null);
=====================================================================================================================

Since this is the first time I am trying to build a RCP with the JRE
included it is possible I am missing something very basic.
Post by Paul Roubekas
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.0"
provider-name="Ortho Group LLC"
plugin="software.usque">
jre.linux.gtk.x86_64.Feature
jre.macosx.cocoa.x86_64.Feature
jre.master.Feature
jre.win32.win32.x86_64.Feature
jre.win32.win32.x86.Feature
version="0.0.1.qualifier"
version="0.0.0"
Give the following build error.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-packaging-plugin:0.26.0:validate-version
OSGi version 0.0.0 must have .qualifier qualifier for SNAPSHOT builds
-> [Help 1]
Therefore I had to put the original values back before then next test
below was run.
================================================================================
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.0"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
jre.master.Feature
for all four jre "includes" XML elements.
version="0.0.1"
version="0.0.0"
Give the following error build error.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-packaging-plugin:0.26.0:validate-version
Unqualified OSGi version 0.0.0.qualifier must match unqualified Maven
version 0.0.1-SNAPSHOT for SNAPSHOT builds -> [Help 1]
Post by Simon Goodall
Hi,
On Windows at least it is not possible to remove the currently
running the and replace it. Hence we install the new as a feature and
use the p2.inf to change the location of the jre. It is possible to
use rootfiles to install directly into the eclipse/jre folder but you
would not be able to use p2 to update it.
Looking at your feature.xml you are mixing version 0.0.1 and
0.0.1.qualifier which are different versions. I would use the special
0.0.0 as the included feature version numbers. Tycho will fill in the
version number itself during the build.
Simon
Thanks Jonah
I now can at least say the JRE inside a Feature is valid approach
and still in use.
I can confirm the issue does occur in 0.25.0, not just
0.26.0-SNAPSHOT. I can also say that the error occurs with each
of the four JRE Feature projects, not just the
jre.linux.gtk.x86_64.Feature project.
I have added a typical pom.xml, feature.xml and build.properties
files for additional background.
Creating a MCVE is no small task, the application stands a ~5,000
files, and will require more time then I have. Something that
works 'live' is due in 7 days for a conference. When the
conference is over I can try then. I was hoping to get this
working for the conference.
====================================== jre.*.*.*.Feature
=======pom.xml===============================================================
<project xmlns="http://maven.apache.org/POM/4.0.0"
<http://maven.apache.org/POM/4.0.0>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<http://www.w3.org/2001/XMLSchema-instance>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
<http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd>>
<modelVersion>4.0.0</modelVersion>
<name>Usque linux JRE feature</name>
<groupId>software.usque.features</groupId>
<artifactId>jre.linux.gtk.x86_64.Feature</artifactId>
<packaging>eclipse-feature</packaging>
<parent>
<groupId>software.usque</groupId>
<artifactId>software.usque.features</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../../releng/software.usque.releng.parent/features/pom.xml</relativePath>
</parent>
</project>
============================================================================================================
=======================================jre.master.Feature
feature.xml====================================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.1"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
<includes
id="jre.macosx.cocoa.x86_64.Feature"
version="0.0.1"
optional="true"
os="macosx"
ws="cocoa"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86_64.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86"/>
</feature>
================================================================================================================================
=============================== jre.*.*.*.Feature ===========
feature.xml=============================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.linux.gtk.x86_64.Feature"
label="JRE Linux Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque"
os="linux">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
</feature>
=========================================================================================================================================
=============================== jre.*.*.*.Feature
========build.properties=====================================================================
bin.includes = .,\
feature.xml
=========================================================================================================================================
Post by Jonah Graham
I suspect no one has answered because no one has any advance on the
information you have already provided. I'll try and answer best I can.
1) The p2.inf in your first link updates eclipse.ini with the -vm
argument explicitly. While the second case relies on eclipse.exe
looking for a subfolder named "jre" by default. See
https://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java
2) Can't help you here. I normally do product builds on Linux, can you
test under Linux. Perhaps if you could provide an MCVE
http://stackoverflow.com/help/mcve someone would be able to reproduce
and help. I also assume the problem is happening with released Tycho
(0.25)? If not, you may have found a regression and a bug report would
be most appreciated
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho
Jonah
~~~
Jonah Graham
Kichwa Coders Ltd.
www.kichwacoders.com <http://www.kichwacoders.com>
Post by Paul Roubekas
Windows 7
Eclipse Neon
Tycho 0.26-SNAPSHOT
I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/),
four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html),
two years old. The newer blog post skips the step where a p2.inf file is
created.
Question 1) Is the p2.inf file no longer needed?
I have done the following.
Created the below directories
/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit
The build.properties files is as follows.
bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx
I get the following error during the Maven build.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
goal org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution
default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or symbolic
links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:125)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata(AbstractMetadataGenerator.java:58)
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.generateMetadata(P2GeneratorImpl.java:96)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.attachP2Metadata(P2MetadataMojo.java:149)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(P2MetadataMojo.java:107)
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(P2MetadataDefaultMojo.java:33)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set permissions or
symbolic links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.ensureRootFilesConfigured(FeatureRootAdvice.java:204)
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.getDescriptor(FeatureRootAdvice.java:153)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateRootFileIUs(FeaturesAction.java:453)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateFeatureIUs(FeaturesAction.java:423)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(FeaturesAction.java:605)
at
org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207)
at
org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository.executeBatch(AbstractArtifactRepository.java:187)
at
org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:122)
... 27 more
Did some searching and found this,
https://github.com/serge-rider/dbeaver/issues/115, which basically says
create a directory named ...\target\generated-macos and put one arbitrary
file, I created a file called filler.txt, in the ...\target\generated-macos
directory and that should fix the build error. But that is not what is
happening in my case.
The ...\target directory of the Eclipse product project.
...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.6.300.v20160525-1303
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml
And just in case I misunderstood the blog, I also tried putting the
generated-macos directory and file in the target of the Eclipse feature
project of the app, but that made no difference.
Question 2) How do fix this? Help please.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
bump
--
The people that bring you Usque.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
Is this question that hard? Or did I use the wrong words in my internet
search and not find documentation that explains how to add a JRE in a
Eclipse RCP using Tycho?
--
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or
unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
--
The people that bring you Usque <http://Usque.software/>.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
--
The people that bring you Usque <http://Usque.software/>.
Stéphane Vaucher
2016-08-15 18:26:06 UTC
Permalink
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
I also tried adding the following p2.inf file to each jre project and the
master project and including the p2.inf in the build.properties file. No
change, still not find the Feature in the target platform.
================================================== p2.inf
===================================================================
instructions.configure=org.eclipse.equinox.p2.touchpoint.
eclipse.setJvm(jvm:features/software.usque.appFeature/jre/bin);
instructions.unconfigure=org.eclipse.equinox.p2.touchpoint.
eclipse.setJvm(jvm:null);
============================================================
=========================================================
Since this is the first time I am trying to build a RCP with the JRE
included it is possible I am missing something very basic.
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.0"
provider-name="Ortho Group LLC"
plugin="software.usque">
jre.linux.gtk.x86_64.Feature
jre.macosx.cocoa.x86_64.Feature
jre.master.Feature
jre.win32.win32.x86_64.Feature
jre.win32.win32.x86.Feature
version="0.0.1.qualifier"
version="0.0.0"
Give the following build error.
[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 0.0.0 must have
.qualifier qualifier for SNAPSHOT builds -> [Help 1]
Therefore I had to put the original values back before then next test
below was run.
============================================================
====================
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.0"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
jre.master.Feature
for all four jre "includes" XML elements.
version="0.0.1"
version="0.0.0"
Give the following error build error.
[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: Unqualified OSGi version
0.0.0.qualifier must match unqualified Maven version 0.0.1-SNAPSHOT for
SNAPSHOT builds -> [Help 1]
Hi,
On Windows at least it is not possible to remove the currently running the
and replace it. Hence we install the new as a feature and use the p2.inf to
change the location of the jre. It is possible to use rootfiles to install
directly into the eclipse/jre folder but you would not be able to use p2 to
update it.
Looking at your feature.xml you are mixing version 0.0.1 and
0.0.1.qualifier which are different versions. I would use the special 0.0.0
as the included feature version numbers. Tycho will fill in the version
number itself during the build.
Simon
Post by Paul Roubekas
Thanks Jonah
I now can at least say the JRE inside a Feature is valid approach and
still in use.
I can confirm the issue does occur in 0.25.0, not just 0.26.0-SNAPSHOT.
I can also say that the error occurs with each of the four JRE Feature
projects, not just the jre.linux.gtk.x86_64.Feature project.
I have added a typical pom.xml, feature.xml and build.properties files
for additional background.
Creating a MCVE is no small task, the application stands a ~5,000 files,
and will require more time then I have. Something that works 'live' is due
in 7 days for a conference. When the conference is over I can try then. I
was hoping to get this working for the conference.
====================================== jre.*.*.*.Feature
=======pom.xml==============================================
=================
<project xmlns="http://maven.apache.org/POM/4.0.0"
<http://maven.apache.org/POM/4.0.0> xmlns:xsi="http://www.w3.org/
2001/XMLSchema-instance" <http://www.w3.org/2001/XMLSchema-instance>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
<http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd>
<modelVersion>4.0.0</modelVersion>
<name>Usque linux JRE feature</name>
<groupId>software.usque.features</groupId>
<artifactId>jre.linux.gtk.x86_64.Feature</artifactId>
<packaging>eclipse-feature</packaging>
<parent>
<groupId>software.usque</groupId>
<artifactId>software.usque.features</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../../releng/software.usque.releng.parent/
features/pom.xml</relativePath>
</parent>
</project>
============================================================
================================================
=======================================jre.master.Feature
feature.xml=================================================
===================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.1"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
<includes
id="jre.macosx.cocoa.x86_64.Feature"
version="0.0.1"
optional="true"
os="macosx"
ws="cocoa"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86_64.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86"/>
</feature>
============================================================
====================================================================
=============================== jre.*.*.*.Feature ===========
feature.xml=============================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.linux.gtk.x86_64.Feature"
label="JRE Linux Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque"
os="linux">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
</feature>
============================================================
============================================================
=================
=============================== jre.*.*.*.Feature
========build.properties====================================
=================================
bin.includes = .,\
feature.xml
============================================================
============================================================
=================
I suspect no one has answered because no one has any advance on the
information you have already provided. I'll try and answer best I can.
1) The p2.inf in your first link updates eclipse.ini with the -vm
argument explicitly. While the second case relies on eclipse.exe
looking for a subfolder named "jre" by default. Seehttps://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java
2) Can't help you here. I normally do product builds on Linux, can you
test under Linux. Perhaps if you could provide an MCVEhttp://stackoverflow.com/help/mcve someone would be able to reproduce
and help. I also assume the problem is happening with released Tycho
(0.25)? If not, you may have found a regression and a bug report would
be most appreciatedhttps://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho
Jonah
~~~
Jonah Graham
Kichwa Coders Ltd.www.kichwacoders.com
Windows 7
Eclipse Neon
Tycho 0.26-SNAPSHOT
I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/),
four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html),
two years old. The newer blog post skips the step where a p2.inf file is
created.
Question 1) Is the p2.inf file no longer needed?
I have done the following.
Created the below directories
/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit
The build.properties files is as follows.
bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx
I get the following error during the Maven build.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
goal org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution
default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or symbolic
links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:125)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata(AbstractMetadataGenerator.java:58)
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.generateMetadata(P2GeneratorImpl.java:96)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.attachP2Metadata(P2MetadataMojo.java:149)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(P2MetadataMojo.java:107)
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(P2MetadataDefaultMojo.java:33)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set permissions or
symbolic links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.ensureRootFilesConfigured(FeatureRootAdvice.java:204)
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.getDescriptor(FeatureRootAdvice.java:153)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateRootFileIUs(FeaturesAction.java:453)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateFeatureIUs(FeaturesAction.java:423)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(FeaturesAction.java:605)
at
org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207)
at
org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository.executeBatch(AbstractArtifactRepository.java:187)
at
org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:122)
... 27 more
Did some searching and found this,https://github.com/serge-rider/dbeaver/issues/115, which basically says
create a directory named ...\target\generated-macos and put one arbitrary
file, I created a file called filler.txt, in the ...\target\generated-macos
directory and that should fix the build error. But that is not what is
happening in my case.
The ...\target directory of the Eclipse product project.
...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.6.300.v20160525-1303
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml
And just in case I misunderstood the blog, I also tried putting the
generated-macos directory and file in the target of the Eclipse feature
project of the app, but that made no difference.
Question 2) How do fix this? Help please.
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe from
this list, visithttps://dev.eclipse.org/mailman/listinfo/tycho-user
bump
--
The people that bring you Usque.
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe from
this list, visithttps://dev.eclipse.org/mailman/listinfo/tycho-user
Is this question that hard? Or did I use the wrong words in my internet
search and not find documentation that explains how to add a JRE in a
Eclipse RCP using Tycho?
--
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe from this list, visithttps://dev.eclipse.org/mailman/listinfo/tycho-user
--
The people that bring you Usque <http://Usque.software/>.
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe from this list, visithttps://dev.eclipse.org/mailman/listinfo/tycho-user
--
The people that bring you Usque <http://Usque.software/>.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
Paul Roubekas
2016-08-15 23:12:00 UTC
Permalink
@ 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?
Post by Stéphane Vaucher
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
On Mon, Aug 15, 2016 at 8:43 AM, Paul Roubekas
I also tried adding the following p2.inf file to each jre project
and the master project and including the p2.inf in the
build.properties file. No change, still not find the Feature in
the target platform.
================================================== p2.inf
===================================================================
instructions.configure=org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:features/software.usque.appFeature/jre/bin);
instructions.unconfigure=org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:null);
=====================================================================================================================
Since this is the first time I am trying to build a RCP with the
JRE included it is possible I am missing something very basic.
Post by Paul Roubekas
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.0"
provider-name="Ortho Group LLC"
plugin="software.usque">
jre.linux.gtk.x86_64.Feature
jre.macosx.cocoa.x86_64.Feature
jre.master.Feature
jre.win32.win32.x86_64.Feature
jre.win32.win32.x86.Feature
version="0.0.1.qualifier"
version="0.0.0"
Give the following build error.
[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 0.0.0 must have
.qualifier qualifier for SNAPSHOT builds -> [Help 1]
Therefore I had to put the original values back before then next
test below was run.
================================================================================
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.0"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
jre.master.Feature
for all four jre "includes" XML elements.
version="0.0.1"
version="0.0.0"
Give the following error build error.
[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: Unqualified OSGi version
0.0.0.qualifier must match unqualified Maven version
0.0.1-SNAPSHOT for SNAPSHOT builds -> [Help 1]
Post by Simon Goodall
Hi,
On Windows at least it is not possible to remove the currently
running the and replace it. Hence we install the new as a
feature and use the p2.inf to change the location of the jre. It
is possible to use rootfiles to install directly into the
eclipse/jre folder but you would not be able to use p2 to update it.
Looking at your feature.xml you are mixing version 0.0.1 and
0.0.1.qualifier which are different versions. I would use the
special 0.0.0 as the included feature version numbers. Tycho
will fill in the version number itself during the build.
Simon
On Wed, 10 Aug 2016, 21:11 Paul Roubekas,
Thanks Jonah
I now can at least say the JRE inside a Feature is valid
approach and still in use.
I can confirm the issue does occur in 0.25.0, not just
0.26.0-SNAPSHOT. I can also say that the error occurs with
each of the four JRE Feature projects, not just the
jre.linux.gtk.x86_64.Feature project.
I have added a typical pom.xml, feature.xml and
build.properties files for additional background.
Creating a MCVE is no small task, the application stands a
~5,000 files, and will require more time then I have.
Something that works 'live' is due in 7 days for a
conference. When the conference is over I can try then. I
was hoping to get this working for the conference.
====================================== jre.*.*.*.Feature
=======pom.xml===============================================================
<project xmlns="http://maven.apache.org/POM/4.0.0"
<http://maven.apache.org/POM/4.0.0>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<http://www.w3.org/2001/XMLSchema-instance>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
<http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd>>
<modelVersion>4.0.0</modelVersion>
<name>Usque linux JRE feature</name>
<groupId>software.usque.features</groupId>
<artifactId>jre.linux.gtk.x86_64.Feature</artifactId>
<packaging>eclipse-feature</packaging>
<parent>
<groupId>software.usque</groupId>
<artifactId>software.usque.features</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../../releng/software.usque.releng.parent/features/pom.xml</relativePath>
</parent>
</project>
============================================================================================================
=======================================jre.master.Feature
feature.xml====================================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.1"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
<includes
id="jre.macosx.cocoa.x86_64.Feature"
version="0.0.1"
optional="true"
os="macosx"
ws="cocoa"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86_64.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86"/>
</feature>
================================================================================================================================
=============================== jre.*.*.*.Feature
===========
feature.xml=============================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.linux.gtk.x86_64.Feature"
label="JRE Linux Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque"
os="linux">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
</feature>
=========================================================================================================================================
=============================== jre.*.*.*.Feature
========build.properties=====================================================================
bin.includes = .,\
feature.xml
=========================================================================================================================================
Post by Jonah Graham
I suspect no one has answered because no one has any advance on the
information you have already provided. I'll try and answer best I can.
1) The p2.inf in your first link updates eclipse.ini with the -vm
argument explicitly. While the second case relies on eclipse.exe
looking for a subfolder named "jre" by default. See
https://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java
<https://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java>
2) Can't help you here. I normally do product builds on Linux, can you
test under Linux. Perhaps if you could provide an MCVE
http://stackoverflow.com/help/mcve
<http://stackoverflow.com/help/mcve> someone would be able to reproduce
and help. I also assume the problem is happening with released Tycho
(0.25)? If not, you may have found a regression and a bug report would
be most appreciated
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho
<https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho>
Jonah
~~~
Jonah Graham
Kichwa Coders Ltd.
www.kichwacoders.com <http://www.kichwacoders.com>
Post by Paul Roubekas
Windows 7
Eclipse Neon
Tycho 0.26-SNAPSHOT
I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/
<https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/>),
four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html
<http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html>),
two years old. The newer blog post skips the step where a p2.inf file is
created.
Question 1) Is the p2.inf file no longer needed?
I have done the following.
Created the below directories
/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit
The build.properties files is as follows.
bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx
I get the following error during the Maven build.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
goal org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution
default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or symbolic
links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:125)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata(AbstractMetadataGenerator.java:58)
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.generateMetadata(P2GeneratorImpl.java:96)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.attachP2Metadata(P2MetadataMojo.java:149)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(P2MetadataMojo.java:107)
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(P2MetadataDefaultMojo.java:33)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set permissions or
symbolic links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.ensureRootFilesConfigured(FeatureRootAdvice.java:204)
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.getDescriptor(FeatureRootAdvice.java:153)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateRootFileIUs(FeaturesAction.java:453)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateFeatureIUs(FeaturesAction.java:423)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(FeaturesAction.java:605)
at
org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207)
at
org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository.executeBatch(AbstractArtifactRepository.java:187)
at
org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:122)
... 27 more
Did some searching and found this,
https://github.com/serge-rider/dbeaver/issues/115
<https://github.com/serge-rider/dbeaver/issues/115>, which basically says
create a directory named ...\target\generated-macos and put one arbitrary
file, I created a file called filler.txt, in the ...\target\generated-macos
directory and that should fix the build error. But that is not what is
happening in my case.
The ...\target directory of the Eclipse product project.
...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.6.300.v20160525-1303
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml
And just in case I misunderstood the blog, I also tried putting the
generated-macos directory and file in the target of the Eclipse feature
project of the app, but that made no difference.
Question 2) How do fix this? Help please.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
<https://dev.eclipse.org/mailman/listinfo/tycho-user>
bump
--
The people that bring you Usque.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
<https://dev.eclipse.org/mailman/listinfo/tycho-user>
Is this question that hard? Or did I use the wrong words in my internet
search and not find documentation that explains how to add a JRE in a
Eclipse RCP using Tycho?
--
_______________________________________________ tycho-user
options, retrieve your password, or unsubscribe from this
list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
<https://dev.eclipse.org/mailman/listinfo/tycho-user>
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
<https://dev.eclipse.org/mailman/listinfo/tycho-user>
-- The people that bring you Usque <http://Usque.software/>.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
<https://dev.eclipse.org/mailman/listinfo/tycho-user>
-- The people that bring you Usque <http://Usque.software/>.
_______________________________________________ tycho-user mailing
change your delivery options, retrieve your password, or
unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
<https://dev.eclipse.org/mailman/listinfo/tycho-user>
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
-- The people that bring you Usque <http://Usque.software/>.
Paul Roubekas
2016-08-15 23:43:41 UTC
Permalink
@ 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]
Post by Paul Roubekas
@ 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?
Post by Stéphane Vaucher
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
On Mon, Aug 15, 2016 at 8:43 AM, Paul Roubekas
I also tried adding the following p2.inf file to each jre project
and the master project and including the p2.inf in the
build.properties file. No change, still not find the Feature in
the target platform.
================================================== p2.inf
===================================================================
instructions.configure=org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:features/software.usque.appFeature/jre/bin);
instructions.unconfigure=org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:null);
=====================================================================================================================
Since this is the first time I am trying to build a RCP with the
JRE included it is possible I am missing something very basic.
Post by Paul Roubekas
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.0"
provider-name="Ortho Group LLC"
plugin="software.usque">
jre.linux.gtk.x86_64.Feature
jre.macosx.cocoa.x86_64.Feature
jre.master.Feature
jre.win32.win32.x86_64.Feature
jre.win32.win32.x86.Feature
version="0.0.1.qualifier"
version="0.0.0"
Give the following build error.
[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 0.0.0 must have
.qualifier qualifier for SNAPSHOT builds -> [Help 1]
Therefore I had to put the original values back before then next
test below was run.
================================================================================
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.0"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
jre.master.Feature
for all four jre "includes" XML elements.
version="0.0.1"
version="0.0.0"
Give the following error build error.
[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: Unqualified OSGi version
0.0.0.qualifier must match unqualified Maven version
0.0.1-SNAPSHOT for SNAPSHOT builds -> [Help 1]
Post by Simon Goodall
Hi,
On Windows at least it is not possible to remove the currently
running the and replace it. Hence we install the new as a
feature and use the p2.inf to change the location of the jre.
It is possible to use rootfiles to install directly into the
eclipse/jre folder but you would not be able to use p2 to update it.
Looking at your feature.xml you are mixing version 0.0.1 and
0.0.1.qualifier which are different versions. I would use the
special 0.0.0 as the included feature version numbers. Tycho
will fill in the version number itself during the build.
Simon
On Wed, 10 Aug 2016, 21:11 Paul Roubekas,
Thanks Jonah
I now can at least say the JRE inside a Feature is valid
approach and still in use.
I can confirm the issue does occur in 0.25.0, not just
0.26.0-SNAPSHOT. I can also say that the error occurs with
each of the four JRE Feature projects, not just the
jre.linux.gtk.x86_64.Feature project.
I have added a typical pom.xml, feature.xml and
build.properties files for additional background.
Creating a MCVE is no small task, the application stands a
~5,000 files, and will require more time then I have.
Something that works 'live' is due in 7 days for a
conference. When the conference is over I can try then. I
was hoping to get this working for the conference.
====================================== jre.*.*.*.Feature
=======pom.xml===============================================================
<project xmlns="http://maven.apache.org/POM/4.0.0"
<http://maven.apache.org/POM/4.0.0>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<http://www.w3.org/2001/XMLSchema-instance>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
<http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd>>
<modelVersion>4.0.0</modelVersion>
<name>Usque linux JRE feature</name>
<groupId>software.usque.features</groupId>
<artifactId>jre.linux.gtk.x86_64.Feature</artifactId>
<packaging>eclipse-feature</packaging>
<parent>
<groupId>software.usque</groupId>
<artifactId>software.usque.features</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../../releng/software.usque.releng.parent/features/pom.xml</relativePath>
</parent>
</project>
============================================================================================================
=======================================jre.master.Feature
feature.xml====================================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.1"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
<includes
id="jre.macosx.cocoa.x86_64.Feature"
version="0.0.1"
optional="true"
os="macosx"
ws="cocoa"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86_64.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86"/>
</feature>
================================================================================================================================
=============================== jre.*.*.*.Feature
===========
feature.xml=============================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.linux.gtk.x86_64.Feature"
label="JRE Linux Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque"
os="linux">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
</feature>
=========================================================================================================================================
=============================== jre.*.*.*.Feature
========build.properties=====================================================================
bin.includes = .,\
feature.xml
=========================================================================================================================================
Post by Jonah Graham
I suspect no one has answered because no one has any advance on the
information you have already provided. I'll try and answer best I can.
1) The p2.inf in your first link updates eclipse.ini with the -vm
argument explicitly. While the second case relies on eclipse.exe
looking for a subfolder named "jre" by default. See
https://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java
<https://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java>
2) Can't help you here. I normally do product builds on Linux, can you
test under Linux. Perhaps if you could provide an MCVE
http://stackoverflow.com/help/mcve
<http://stackoverflow.com/help/mcve> someone would be able to reproduce
and help. I also assume the problem is happening with released Tycho
(0.25)? If not, you may have found a regression and a bug report would
be most appreciated
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho
<https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho>
Jonah
~~~
Jonah Graham
Kichwa Coders Ltd.
www.kichwacoders.com <http://www.kichwacoders.com>
Post by Paul Roubekas
Windows 7
Eclipse Neon
Tycho 0.26-SNAPSHOT
I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/
<https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/>),
four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html
<http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html>),
two years old. The newer blog post skips the step where a p2.inf file is
created.
Question 1) Is the p2.inf file no longer needed?
I have done the following.
Created the below directories
/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit
The build.properties files is as follows.
bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx
I get the following error during the Maven build.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
goal org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution
default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or symbolic
links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:125)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata(AbstractMetadataGenerator.java:58)
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.generateMetadata(P2GeneratorImpl.java:96)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.attachP2Metadata(P2MetadataMojo.java:149)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(P2MetadataMojo.java:107)
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(P2MetadataDefaultMojo.java:33)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set permissions or
symbolic links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.ensureRootFilesConfigured(FeatureRootAdvice.java:204)
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.getDescriptor(FeatureRootAdvice.java:153)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateRootFileIUs(FeaturesAction.java:453)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateFeatureIUs(FeaturesAction.java:423)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(FeaturesAction.java:605)
at
org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207)
at
org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository.executeBatch(AbstractArtifactRepository.java:187)
at
org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:122)
... 27 more
Did some searching and found this,
https://github.com/serge-rider/dbeaver/issues/115
<https://github.com/serge-rider/dbeaver/issues/115>, which basically says
create a directory named ...\target\generated-macos and put one arbitrary
file, I created a file called filler.txt, in the ...\target\generated-macos
directory and that should fix the build error. But that is not what is
happening in my case.
The ...\target directory of the Eclipse product project.
...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.6.300.v20160525-1303
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml
And just in case I misunderstood the blog, I also tried putting the
generated-macos directory and file in the target of the Eclipse feature
project of the app, but that made no difference.
Question 2) How do fix this? Help please.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
<https://dev.eclipse.org/mailman/listinfo/tycho-user>
bump
--
The people that bring you Usque.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
<https://dev.eclipse.org/mailman/listinfo/tycho-user>
Is this question that hard? Or did I use the wrong words in my internet
search and not find documentation that explains how to add a JRE in a
Eclipse RCP using Tycho?
--
_______________________________________________ tycho-user
options, retrieve your password, or unsubscribe from this
list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
<https://dev.eclipse.org/mailman/listinfo/tycho-user>
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
<https://dev.eclipse.org/mailman/listinfo/tycho-user>
-- The people that bring you Usque <http://Usque.software/>.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
<https://dev.eclipse.org/mailman/listinfo/tycho-user>
-- The people that bring you Usque <http://Usque.software/>.
_______________________________________________ tycho-user
retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
<https://dev.eclipse.org/mailman/listinfo/tycho-user>
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
-- The people that bring you Usque <http://Usque.software/>.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
-- The people that bring you Usque <http://Usque.software/>.
Simon Goodall
2016-08-16 08:54:14 UTC
Permalink
Hi Paul,

I have packaged up the jre into a separate p2 repository with a release
version (no .qualifier in feature.xml and no -SNAPSHOT in the pom.xml). My
p2.inf files are located with the platform specific jre feature rather than
the master or product features.


HTH,

Simon
@ 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]
@ 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?
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=\
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
Post by Paul Roubekas
I also tried adding the following p2.inf file to each jre project and
the master project and including the p2.inf in the build.properties
file. No change, still not find the Feature in the target platform.
================================================== p2.inf
===================================================================
instructions.configure=org.eclipse.equinox.p2.touchpoint.ecl
ipse.setJvm(jvm:features/software.usque.appFeature/jre/bin);
instructions.unconfigure=org.eclipse.equinox.p2.touchpoint.e
clipse.setJvm(jvm:null);
============================================================
=========================================================
Since this is the first time I am trying to build a RCP with the JRE
included it is possible I am missing something very basic.
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.0"
provider-name="Ortho Group LLC"
plugin="software.usque">
jre.linux.gtk.x86_64.Feature
jre.macosx.cocoa.x86_64.Feature
jre.master.Feature
jre.win32.win32.x86_64.Feature
jre.win32.win32.x86.Feature
version="0.0.1.qualifier"
version="0.0.0"
Give the following build error.
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-packag
ing-plugin:0.26.0:validate-version (default-validate-version) on project
jre.linux.gtk.x86_64.Feature: OSGi version 0.0.0 must have .qualifier
qualifier for SNAPSHOT builds -> [Help 1]
Therefore I had to put the original values back before then next test
below was run.
============================================================
====================
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.0"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
jre.master.Feature
for all four jre "includes" XML elements.
version="0.0.1"
version="0.0.0"
Give the following error build error.
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-packag
ing-plugin:0.26.0:validate-version (default-validate-version) on project
jre.linux.gtk.x86_64.Feature: Unqualified OSGi version 0.0.0.qualifier must
match unqualified Maven version 0.0.1-SNAPSHOT for SNAPSHOT builds -> [Help
1]
Hi,
On Windows at least it is not possible to remove the currently running
the and replace it. Hence we install the new as a feature and use the
p2.inf to change the location of the jre. It is possible to use rootfiles
to install directly into the eclipse/jre folder but you would not be able
to use p2 to update it.
Looking at your feature.xml you are mixing version 0.0.1 and
0.0.1.qualifier which are different versions. I would use the special 0.0.0
as the included feature version numbers. Tycho will fill in the version
number itself during the build.
Simon
Post by Paul Roubekas
Thanks Jonah
I now can at least say the JRE inside a Feature is valid approach and
still in use.
I can confirm the issue does occur in 0.25.0, not just 0.26.0-SNAPSHOT.
I can also say that the error occurs with each of the four JRE Feature
projects, not just the jre.linux.gtk.x86_64.Feature project.
I have added a typical pom.xml, feature.xml and build.properties files
for additional background.
Creating a MCVE is no small task, the application stands a ~5,000 files,
and will require more time then I have. Something that works 'live' is due
in 7 days for a conference. When the conference is over I can try then. I
was hoping to get this working for the conference.
====================================== jre.*.*.*.Feature
=======pom.xml==============================================
=================
<project xmlns="http://maven.apache.org/POM/4.0.0"
<http://maven.apache.org/POM/4.0.0> xmlns:xsi="http://www.w3.org/2
001/XMLSchema-instance" <http://www.w3.org/2001/XMLSchema-instance>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
<http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd>
<modelVersion>4.0.0</modelVersion>
<name>Usque linux JRE feature</name>
<groupId>software.usque.features</groupId>
<artifactId>jre.linux.gtk.x86_64.Feature</artifactId>
<packaging>eclipse-feature</packaging>
<parent>
<groupId>software.usque</groupId>
<artifactId>software.usque.features</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../../releng/software.usque.releng.parent/feat
ures/pom.xml</relativePath>
</parent>
</project>
============================================================
================================================
=======================================jre.master.Feature
feature.xml=================================================
===================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.1"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
<includes
id="jre.macosx.cocoa.x86_64.Feature"
version="0.0.1"
optional="true"
os="macosx"
ws="cocoa"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86_64.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86"/>
</feature>
============================================================
====================================================================
=============================== jre.*.*.*.Feature ===========
feature.xml=============================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.linux.gtk.x86_64.Feature"
label="JRE Linux Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque"
os="linux">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
</feature>
============================================================
============================================================
=================
=============================== jre.*.*.*.Feature
========build.properties====================================
=================================
bin.includes = .,\
feature.xml
============================================================
============================================================
=================
I suspect no one has answered because no one has any advance on the
information you have already provided. I'll try and answer best I can.
1) The p2.inf in your first link updates eclipse.ini with the -vm
argument explicitly. While the second case relies on eclipse.exe
looking for a subfolder named "jre" by default. Seehttps://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java
2) Can't help you here. I normally do product builds on Linux, can you
test under Linux. Perhaps if you could provide an MCVEhttp://stackoverflow.com/help/mcve someone would be able to reproduce
and help. I also assume the problem is happening with released Tycho
(0.25)? If not, you may have found a regression and a bug report would
be most appreciatedhttps://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho
Jonah
~~~
Jonah Graham
Kichwa Coders Ltd.www.kichwacoders.com
Windows 7
Eclipse Neon
Tycho 0.26-SNAPSHOT
I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/),
four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html),
two years old. The newer blog post skips the step where a p2.inf file is
created.
Question 1) Is the p2.inf file no longer needed?
I have done the following.
Created the below directories
/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit
The build.properties files is as follows.
bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx
I get the following error during the Maven build.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
goal org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
atorg.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
atorg.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
atorg.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
atorg.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
atorg.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
atorg.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
atorg.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution
default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
atorg.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or symbolic
links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:125)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata(AbstractMetadataGenerator.java:58)
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.generateMetadata(P2GeneratorImpl.java:96)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.attachP2Metadata(P2MetadataMojo.java:149)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(P2MetadataMojo.java:107)
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(P2MetadataDefaultMojo.java:33)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set permissions or
symbolic links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.ensureRootFilesConfigured(FeatureRootAdvice.java:204)
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.getDescriptor(FeatureRootAdvice.java:153)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateRootFileIUs(FeaturesAction.java:453)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateFeatureIUs(FeaturesAction.java:423)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(FeaturesAction.java:605)
at
org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207)
at
org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository.executeBatch(AbstractArtifactRepository.java:187)
at
org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:122)
... 27 more
Did some searching and found this,https://github.com/serge-rider/dbeaver/issues/115, which basically says
create a directory named ...\target\generated-macos and put one arbitrary
file, I created a file called filler.txt, in the ...\target\generated-macos
directory and that should fix the build error. But that is not what is
happening in my case.
The ...\target directory of the Eclipse product project.
...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.6.300.v20160525-1303
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml
And just in case I misunderstood the blog, I also tried putting the
generated-macos directory and file in the target of the Eclipse feature
project of the app, but that made no difference.
Question 2) How do fix this? Help please.
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe from
this list, visithttps://dev.eclipse.org/mailman/listinfo/tycho-user
bump
--
The people that bring you Usque.
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe from
this list, visithttps://dev.eclipse.org/mailman/listinfo/tycho-user
Is this question that hard? Or did I use the wrong words in my internet
search and not find documentation that explains how to add a JRE in a
Eclipse RCP using Tycho?
--
_______________________________________________ tycho-user mailing list
password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe from this list, visithttps://dev.eclipse.org/mailman/listinfo/tycho-user
-- The people that bring you Usque <http://Usque.software/>.
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe from this list, visithttps://dev.eclipse.org/mailman/listinfo/tycho-user
-- The people that bring you Usque <http://Usque.software/>.
_______________________________________________ tycho-user mailing list
password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe from this list, visithttps://dev.eclipse.org/mailman/listinfo/tycho-user
-- The people that bring you Usque <http://Usque.software/>.
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe from this list, visithttps://dev.eclipse.org/mailman/listinfo/tycho-user
-- The people that bring you Usque <http://Usque.software/>.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
Paul Roubekas
2016-09-01 20:36:55 UTC
Permalink
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.
Post by Paul Roubekas
@ 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]
Post by Paul Roubekas
@ 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?
Post by Stéphane Vaucher
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
On Mon, Aug 15, 2016 at 8:43 AM, Paul Roubekas
I also tried adding the following p2.inf file to each jre
project and the master project and including the p2.inf in the
build.properties file. No change, still not find the Feature in
the target platform.
================================================== p2.inf
===================================================================
instructions.configure=org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:features/software.usque.appFeature/jre/bin);
instructions.unconfigure=org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:null);
=====================================================================================================================
Since this is the first time I am trying to build a RCP with the
JRE included it is possible I am missing something very basic.
Post by Paul Roubekas
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.0"
provider-name="Ortho Group LLC"
plugin="software.usque">
jre.linux.gtk.x86_64.Feature
jre.macosx.cocoa.x86_64.Feature
jre.master.Feature
jre.win32.win32.x86_64.Feature
jre.win32.win32.x86.Feature
version="0.0.1.qualifier"
version="0.0.0"
Give the following build error.
[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 0.0.0 must have
.qualifier qualifier for SNAPSHOT builds -> [Help 1]
Therefore I had to put the original values back before then
next test below was run.
================================================================================
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.0"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
jre.master.Feature
for all four jre "includes" XML elements.
version="0.0.1"
version="0.0.0"
Give the following error build error.
[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: Unqualified OSGi version
0.0.0.qualifier must match unqualified Maven version
0.0.1-SNAPSHOT for SNAPSHOT builds -> [Help 1]
Post by Simon Goodall
Hi,
On Windows at least it is not possible to remove the currently
running the and replace it. Hence we install the new as a
feature and use the p2.inf to change the location of the jre.
It is possible to use rootfiles to install directly into the
eclipse/jre folder but you would not be able to use p2 to update it.
Looking at your feature.xml you are mixing version 0.0.1 and
0.0.1.qualifier which are different versions. I would use the
special 0.0.0 as the included feature version numbers. Tycho
will fill in the version number itself during the build.
Simon
On Wed, 10 Aug 2016, 21:11 Paul Roubekas,
Thanks Jonah
I now can at least say the JRE inside a Feature is valid
approach and still in use.
I can confirm the issue does occur in 0.25.0, not just
0.26.0-SNAPSHOT. I can also say that the error occurs
with each of the four JRE Feature projects, not just the
jre.linux.gtk.x86_64.Feature project.
I have added a typical pom.xml, feature.xml and
build.properties files for additional background.
Creating a MCVE is no small task, the application stands a
~5,000 files, and will require more time then I have.
Something that works 'live' is due in 7 days for a
conference. When the conference is over I can try then.
I was hoping to get this working for the conference.
====================================== jre.*.*.*.Feature
=======pom.xml===============================================================
<project xmlns="http://maven.apache.org/POM/4.0.0"
<http://maven.apache.org/POM/4.0.0>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<http://www.w3.org/2001/XMLSchema-instance>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
<http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd>>
<modelVersion>4.0.0</modelVersion>
<name>Usque linux JRE feature</name>
<groupId>software.usque.features</groupId>
<artifactId>jre.linux.gtk.x86_64.Feature</artifactId>
<packaging>eclipse-feature</packaging>
<parent>
<groupId>software.usque</groupId>
<artifactId>software.usque.features</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../../releng/software.usque.releng.parent/features/pom.xml</relativePath>
</parent>
</project>
============================================================================================================
=======================================jre.master.Feature
feature.xml====================================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.1"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
<includes
id="jre.macosx.cocoa.x86_64.Feature"
version="0.0.1"
optional="true"
os="macosx"
ws="cocoa"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86_64.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86"/>
</feature>
================================================================================================================================
=============================== jre.*.*.*.Feature
===========
feature.xml=============================================================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.linux.gtk.x86_64.Feature"
label="JRE Linux Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque"
os="linux">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
</feature>
=========================================================================================================================================
=============================== jre.*.*.*.Feature
========build.properties=====================================================================
bin.includes = .,\
feature.xml
=========================================================================================================================================
Post by Jonah Graham
I suspect no one has answered because no one has any advance on the
information you have already provided. I'll try and answer best I can.
1) The p2.inf in your first link updates eclipse.ini with the -vm
argument explicitly. While the second case relies on eclipse.exe
looking for a subfolder named "jre" by default. See
https://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java
<https://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java>
2) Can't help you here. I normally do product builds on Linux, can you
test under Linux. Perhaps if you could provide an MCVE
http://stackoverflow.com/help/mcve
<http://stackoverflow.com/help/mcve> someone would be able to reproduce
and help. I also assume the problem is happening with released Tycho
(0.25)? If not, you may have found a regression and a bug report would
be most appreciated
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho
<https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho>
Jonah
~~~
Jonah Graham
Kichwa Coders Ltd.
www.kichwacoders.com <http://www.kichwacoders.com>
Post by Paul Roubekas
Windows 7
Eclipse Neon
Tycho 0.26-SNAPSHOT
I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/
<https://codeiseasy.wordpress.com/2012/07/31/including-a-jre-in-a-tycho-build/>),
four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html
<http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-your-product.html>),
two years old. The newer blog post skips the step where a p2.inf file is
created.
Question 1) Is the p2.inf file no longer needed?
I have done the following.
Created the below directories
/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit
The build.properties files is as follows.
bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx
I get the following error during the Maven build.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
goal org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution
default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for macosx.cocoa.x86_64 if
there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or symbolic
links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:125)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata(AbstractMetadataGenerator.java:58)
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.generateMetadata(P2GeneratorImpl.java:96)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.attachP2Metadata(P2MetadataMojo.java:149)
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(P2MetadataMojo.java:107)
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(P2MetadataDefaultMojo.java:33)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set permissions or
symbolic links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.ensureRootFilesConfigured(FeatureRootAdvice.java:204)
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.FeatureRootAdvice.getDescriptor(FeatureRootAdvice.java:153)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateRootFileIUs(FeaturesAction.java:453)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.generateFeatureIUs(FeaturesAction.java:423)
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(FeaturesAction.java:605)
at
org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207)
at
org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository.executeBatch(AbstractArtifactRepository.java:187)
at
org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231)
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.publish(AbstractMetadataGenerator.java:122)
... 27 more
Did some searching and found this,
https://github.com/serge-rider/dbeaver/issues/115
<https://github.com/serge-rider/dbeaver/issues/115>, which basically says
create a directory named ...\target\generated-macos and put one arbitrary
file, I created a file called filler.txt, in the ...\target\generated-macos
directory and that should fix the build error. But that is not what is
happening in my case.
The ...\target directory of the Eclipse product project.
...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.6.300.v20160525-1303
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml
And just in case I misunderstood the blog, I also tried putting the
generated-macos directory and file in the target of the Eclipse feature
project of the app, but that made no difference.
Question 2) How do fix this? Help please.
Axel Guckelsberger
2016-08-16 11:56:35 UTC
Permalink
Hi Stéphane,

could you please elaborate the tricky part relating the mac os version? In my product
windows and linux versions work like charm, but the mac version does not start saying "no
Java virtual machine was found". If I remove the "-vm ..." argument from the product's ini file
it starts correctly. So there must be something specific in the mac version which I am still
missing.

Regards,
Post by Stéphane Vaucher
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
I also tried adding the following p2.inf file to each jre project and the
master project and including the p2.inf in the build.properties file. No
change, still not find the Feature in the target platform.
================================================== p2.inf
===================================================================
instructions.configure=org.eclipse.equinox.p2.touchpoint.
eclipse.setJvm(jvm:features/software.usque.appFeature/jre/bin);
instructions.unconfigure=org.eclipse.equinox.p2.touchpoint.
eclipse.setJvm(jvm:null);
============================================================
=========================================================
Since this is the first time I am trying to build a RCP with the JRE
included it is possible I am missing something very basic.
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.0"
provider-name="Ortho Group LLC"
plugin="software.usque">
jre.linux.gtk.x86_64.Feature
jre.macosx.cocoa.x86_64.Feature
jre.master.Feature
jre.win32.win32.x86_64.Feature
jre.win32.win32.x86.Feature
version="0.0.1.qualifier"
version="0.0.0"
Give the following build error.
[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 0.0.0 must have
.qualifier qualifier for SNAPSHOT builds -> [Help 1]
Stéphane Vaucher
2016-08-16 13:40:20 UTC
Permalink
@Paul - I seem to be following the same pattern as Simon. To avoid
generating a snapshot version, you must remove the qualifier/snapshot parts
for versions in both pom.xml and feature.xml (these must be in sync).
p2.inf files are only for platform specific jre features (CA-CD)

@Axel - since a large number of our users are non-technical mac users, we
had to integrate with a proper Mac packaging (a PITA). So, we do move
things around a bit more in our maven build. I don't remember what was the
source of this information, but we had to add the following elements in the
p2.inf file.

IIRC, we had permission issues (see below) and (IIRC) found that *links are
not necessarily preserved* during configuration. See the line for
libjli.dylib. We copied the jre inside our osx jre feature and removed
symlinks from the source and re-established at configuration (since these
are lost).

instructions.configure=\
org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:../Eclipse/features/cc.feature.jre.macosx.cocoa.x86_64_1.8.74/jre/Contents/Home/jre/bin);\
org.eclipse.equinox.p2.touchpoint.natives.chmod(targetDir:${installFolder}/features/cc.feature.jre.macosx.cocoa.x86_64_1.8.74/jre/Contents/Home/jre/bin/,targetFile:java,permissions:755);\
org.eclipse.equinox.p2.touchpoint.natives.chmod(targetDir:${installFolder}/features/cc.feature.jre.macosx.cocoa.x86_64_1.8.74/jre/Contents/Home/jre/lib/,targetFile:jspawnhelper,permissions:755);\
org.eclipse.equinox.p2.touchpoint.natives.ln(targetDir:${installFolder}/features/cc.feature.jre.macosx.cocoa.x86_64_1.8.74/jre/Contents/MacOS/,linkName:libjli.dylib,linkTarget:../Home/jre/lib/jli/libjli.dylib);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:jre);
instructions.unconfigure=\
org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:null);

HTH,
Stephane
Hi Stéphane,
could you please elaborate the tricky part relating the mac os version? In
my product windows and linux versions work like charm, but the mac version
does not start saying "no Java virtual machine was found". If I remove the
"-vm ..." argument from the product's ini file it starts correctly. So
there must be something specific in the mac version which I am still
missing.
Regards,
Axel
Post by Stéphane Vaucher
I'm using this in a product now. Only part that was tricky was osx
version
Post by Stéphane Vaucher
to support MacOSX-specific installers. For linux/windows, it should work
if
Post by Stéphane Vaucher
you are consistent.
To ensure consistency, I use the JRE version as my version number and
avoid
Post by Stéphane Vaucher
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=\
features/cc.feature.jre
Post by Stéphane Vaucher
.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
Post by Paul Roubekas
I also tried adding the following p2.inf file to each jre project and
the
Post by Stéphane Vaucher
Post by Paul Roubekas
master project and including the p2.inf in the build.properties file.
No
Post by Stéphane Vaucher
Post by Paul Roubekas
change, still not find the Feature in the target platform.
================================================== p2.inf
===================================================================
instructions.configure=org.eclipse.equinox.p2.touchpoint.
eclipse.setJvm(jvm:features/software.usque.appFeature/jre/bin);
instructions.unconfigure=org.eclipse.equinox.p2.touchpoint.
eclipse.setJvm(jvm:null);
============================================================
=========================================================
Since this is the first time I am trying to build a RCP with the JRE
included it is possible I am missing something very basic.
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.0"
provider-name="Ortho Group LLC"
plugin="software.usque">
jre.linux.gtk.x86_64.Feature
jre.macosx.cocoa.x86_64.Feature
jre.master.Feature
jre.win32.win32.x86_64.Feature
jre.win32.win32.x86.Feature
version="0.0.1.qualifier"
version="0.0.0"
Give the following build error.
[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 0.0.0 must have
.qualifier qualifier for SNAPSHOT builds -> [Help 1]
Therefore I had to put the original values back before then next test
below was run.
============================================================
====================
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.0"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
jre.master.Feature
for all four jre "includes" XML elements.
version="0.0.1"
version="0.0.0"
Give the following error build error.
[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: Unqualified OSGi version
0.0.0.qualifier must match unqualified Maven version 0.0.1-SNAPSHOT for
SNAPSHOT builds -> [Help 1]
Hi,
On Windows at least it is not possible to remove the currently running
the
Post by Stéphane Vaucher
Post by Paul Roubekas
and replace it. Hence we install the new as a feature and use the
p2.inf
Post by Stéphane Vaucher
Post by Paul Roubekas
to
change the location of the jre. It is possible to use rootfiles to
install
Post by Stéphane Vaucher
Post by Paul Roubekas
directly into the eclipse/jre folder but you would not be able to use
p2
Post by Stéphane Vaucher
Post by Paul Roubekas
to
update it.
Looking at your feature.xml you are mixing version 0.0.1 and
0.0.1.qualifier which are different versions. I would use the special
0.0.0
as the included feature version numbers. Tycho will fill in the version
number itself during the build.
Simon
Post by Paul Roubekas
Thanks Jonah
I now can at least say the JRE inside a Feature is valid approach and
still in use.
I can confirm the issue does occur in 0.25.0, not just
0.26.0-SNAPSHOT.
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
I can also say that the error occurs with each of the four JRE Feature
projects, not just the jre.linux.gtk.x86_64.Feature project.
I have added a typical pom.xml, feature.xml and build.properties files
for additional background.
Creating a MCVE is no small task, the application stands a ~5,000
files,
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
and will require more time then I have. Something that works 'live' is
due
in 7 days for a conference. When the conference is over I can try
then.
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
I
was hoping to get this working for the conference.
====================================== jre.*.*.*.Feature
=======pom.xml==============================================
=================
<project xmlns="http://maven.apache.org/POM/4.0.0"
<http://maven.apache.org/POM/4.0.0> xmlns:xsi="http://www.w3.org/
2001/XMLSchema-instance" <http://www.w3.org/2001/XMLSchema-instance>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
<http://maven.apache.org/POM/4.0.0http://maven.apache.org/
xsd/maven-4.0.0
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
.xsd>>>
<modelVersion>4.0.0</modelVersion>
<name>Usque linux JRE feature</name>
<groupId>software.usque.features</groupId>
<artifactId>jre.linux.gtk.x86_64.Feature</artifactId>
<packaging>eclipse-feature</packaging>
<parent>
<groupId>software.usque</groupId>
<artifactId>software.usque.features</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../../releng/software.usque.releng.parent/
features/pom.xml</relativePath>
</parent>
</project>
============================================================
================================================
=======================================jre.master.Feature
feature.xml=================================================
===================
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.master.Feature"
label="JRE MASTER Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
<includes
id="jre.linux.gtk.x86_64.Feature"
version="0.0.1"
optional="true"
os="linux"
ws="gtk"
arch="x86_64"/>
<includes
id="jre.macosx.cocoa.x86_64.Feature"
version="0.0.1"
optional="true"
os="macosx"
ws="cocoa"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86_64.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86_64"/>
<includes
id="jre.win32.win32.x86.Feature"
version="0.0.1"
optional="true"
os="win32"
ws="win32"
arch="x86"/>
</feature>
============================================================
====================================================================
=============================== jre.*.*.*.Feature ===========
feature.xml=================================================
============
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="jre.linux.gtk.x86_64.Feature"
label="JRE Linux Feature"
version="0.0.1.qualifier"
provider-name="Ortho Group LLC"
plugin="software.usque"
os="linux">
<description url="http://www.example.com/description"
<http://www.example.com/description>>
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright"
<http://www.example.com/copyright>>
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license"
<http://www.example.com/license>>
[Enter License Description here.]
</license>
</feature>
============================================================
============================================================
=================
=============================== jre.*.*.*.Feature
========build.properties====================================
=================================
bin.includes = .,\
feature.xml
============================================================
============================================================
=================
I suspect no one has answered because no one has any advance on the
information you have already provided. I'll try and answer best I can.
1) The p2.inf in your first link updates eclipse.ini with the -vm
argument explicitly. While the second case relies on eclipse.exe
looking for a subfolder named "jre" by default.
Seehttps://wiki.eclipse.org/Equinox_Launcher#Finding_a_VM.
2C_Using_JNI_I
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
nvocation_or_Executing_Java
2) Can't help you here. I normally do product builds on Linux, can you
test under Linux. Perhaps if you could provide an
MCVEhttp://stackoverflow.com/help/mcve someone would be able to
reproduce and help. I also assume the problem is happening with
released
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
Tycho (0.25)? If not, you may have found a regression and a bug report
would be most
appreciatedhttps://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho
Jonah
~~~
Jonah Graham
Kichwa Coders Ltd.www.kichwacoders.com
Windows 7
Eclipse Neon
Tycho 0.26-SNAPSHOT
I have read this blog post
(https://codeiseasy.wordpress.com/2012/07/31/including-a-
jre-in-a-tycho-b
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
uild/), four years old, and this blog post
(http://eclipseo.blogspot.com/2014/11/bundle-jre-along-with-
your-product.
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
html), two years old. The newer blog post skips the step where a
p2.inf
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
file is created.
Question 1) Is the p2.inf file no longer needed?
I have done the following.
Created the below directories
/software.usque.appFeature/linux-64bit
/software.usque.appFeature/macosx
/software.usque.appFeature/windows-32bit
/software.usque.appFeature/windows-64bit
The build.properties files is as follows.
bin.includes = .,\
feature.xml
root.win32.win32.x86_64=win32-64
root.linux.gtk.x86=linux-64
root.win32.win32.x86=win32
root.macosx.cocoa.x86_64=macosx
I get the following error during the Maven build.
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for
macosx.cocoa.x86_64
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
if
there are no root files for that configuration -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
execute
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
Execution default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for
macosx.cocoa.x86_64
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
if
there are no root files for that configuration
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(
MojoExecutor.jav
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
a:212)>>
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(
MojoExecutor.jav
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
a:153)>>
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(
MojoExecutor.jav
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
a:145)>>
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.
buildProject(L
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
ifecycleModuleBuilder.java:116)>>
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.
buildProject(L
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
ifecycleModuleBuilder.java:80)>>
at
org.apache.maven.lifecycle.internal.builder.
singlethreaded.SingleThreaded
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
Builder.build(SingleThreadedBuilder.java:51)>>
at
org.apache.maven.lifecycle.internal.LifecycleStarter.
execute(LifecycleSta
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
rter.java:128)>>
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
:62)>>
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorI
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
mpl.java:43)>>
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.
launchEnhanced(Launcher
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
.java:289)>>
at
org.codehaus.plexus.classworlds.launcher.Launcher.
launch(Launcher.java:22
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
9)
at
org.codehaus.plexus.classworlds.launcher.Launcher.
mainWithExitCode(Launch
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
er.java:415)>>
at
org.codehaus.plexus.classworlds.launcher.Launcher.
main(Launcher.java:356)
Execution
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
default-p2-metadata-default of goal
org.eclipse.tycho:tycho-p2-plugin:0.26.0-SNAPSHOT:p2-metadata-default
failed: Cannot set permissions or symbolic links for
macosx.cocoa.x86_64
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
if
there are no root files for that configuration
at
org.apache.maven.plugin.DefaultBuildPluginManager.
executeMojo(DefaultBuil
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
dPluginManager.java:145)>>
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(
MojoExecutor.jav
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
a:207)>>
... 20 more
Caused by: java.lang.RuntimeException: Cannot set permissions or
symbolic
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
links for macosx.cocoa.x86_64 if there are no root files for that
configuration
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.
publish(Abs
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
tractMetadataGenerator.java:125)>>
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.
generateMet
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
adata(AbstractMetadataGenerator.java:58)>>
at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.
generateMetadata(P2Ge
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
neratorImpl.java:96)>>
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.
attachP2Metadata(P2MetadataMo
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
jo.java:149)>>
at
org.eclipse.tycho.plugins.p2.P2MetadataMojo.execute(
P2MetadataMojo.java:1
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
07)>>
at
org.eclipse.tycho.plugins.p2.P2MetadataDefaultMojo.execute(
P2MetadataDefa
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
ultMojo.java:33)>>
at
org.apache.maven.plugin.DefaultBuildPluginManager.
executeMojo(DefaultBuil
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
dPluginManager.java:134)>>
... 21 more
Caused by: java.lang.IllegalArgumentException: Cannot set
permissions or
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
symbolic links for macosx.cocoa.x86_64 if there are no root files for
that
configuration
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.
FeatureRootAdvice.ensureRoo
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
tFilesConfigured(FeatureRootAdvice.java:204)>>
at
org.eclipse.tycho.p2.impl.publisher.rootfiles.
FeatureRootAdvice.getDescri
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
ptor(FeatureRootAdvice.java:153)>>
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.
generateRootFileI
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
Us(FeaturesAction.java:453)>>
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.
generateFeatureIU
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
s(FeaturesAction.java:423)>>
at
org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.perform(
FeaturesA
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
ction.java:605)>>
at
org.eclipse.equinox.p2.publisher.Publisher$
ArtifactProcess.run(Publisher.
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
java:207)>>
at
org.eclipse.equinox.p2.repository.artifact.spi.
AbstractArtifactRepository
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
.executeBatch(AbstractArtifactRepository.java:187)>>
at
org.eclipse.equinox.p2.publisher.Publisher.publish(
Publisher.java:231)
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.
publish(Abs
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
tractMetadataGenerator.java:122)>>
... 27 more
Did some searching and found
this,https://github.com/serge-rider/dbeaver/issues/115, which
basically
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
says create a directory named ...\target\generated-macos and put one
arbitrary file, I created a file called filler.txt, in the
...\target\generated-macos directory and that should fix the build
error. But that is not what is happening in my case.
The ...\target directory of the Eclipse product project.
...app.product\target\software.usque.app.product-0.0.1-SNAPSHOT.zip
...app.product\target\extraArtifacts
...app.product\target\generated-macos
...app.product\target\org.eclipse.equinox.executable-3.
6.300.v20160525-13
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
03
...app.product\target\p2agent
...app.product\target\products
...app.product\target\repository
...app.product\target\targetPlatformRepository
...app.product\target\local-artifacts.properties
...app.product\target\p2artifacts.xml
...app.product\target\p2content.xml
And just in case I misunderstood the blog, I also tried putting the
generated-macos directory and file in the target of the Eclipse
feature
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
project of the app, but that made no difference.
Question 2) How do fix this? Help please.
_______________________________________________
To change your delivery options, retrieve your password, or
unsubscribe
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
from this list, visithttps://dev.eclipse.org/
mailman/listinfo/tycho-user
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
bump
--
The people that bring you Usque.
_______________________________________________
To change your delivery options, retrieve your password, or
unsubscribe
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
from this list, visithttps://dev.eclipse.org/
mailman/listinfo/tycho-user
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
Is this question that hard? Or did I use the wrong words in my
internet
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
search and not find documentation that explains how to add a JRE in a
Eclipse RCP using Tycho?
--
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or
unsubscribe
Post by Stéphane Vaucher
Post by Paul Roubekas
Post by Paul Roubekas
from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe
from this list, visithttps://dev.eclipse.org/
mailman/listinfo/tycho-user
Post by Stéphane Vaucher
Post by Paul Roubekas
--
The people that bring you Usque <http://Usque.software/>.
_______________________________________________
To change your delivery options, retrieve your password, or unsubscribe
from this list, visithttps://dev.eclipse.org/
mailman/listinfo/tycho-user
Post by Stéphane Vaucher
Post by Paul Roubekas
--
The people that bring you Usque <http://Usque.software/>.
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
Continue reading on narkive:
Loading...