Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tycho-user] Bundle JRE along with my Product using Maven Tycho

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. 



Back to the top