I was about to switch our build process from efxclipse 1.2.0 and eclipse juno to efxclipse 2.2.0 and mars. Before i switsched everyhting worked fine. Now after switching, buckminster complains that is can't resolve org.eclipse.fx.javafx
.
The error is the following
org.eclipse.fx.javafx:osgi.bundle: No provider was found that could resolve the request
ERROR [0003] : No suitable provider for component org.eclipse.fx.javafx:osgi.bundle was found in resourceMap file:/jenkins/jobs/XXX/workspace/XXX/buckminster.rmap
ERROR [0003] : No suitable provider for component org.eclipse.fx.javafx:osgi.bundle was found in searchPath local
ERROR [0003] : Resolution attempt ended with exception: Provider local(/jenkins/jobs/XXX/workspace/org.eclipse.fx.javafx): Missing CSpec source required by component type osgi.bundle
ERROR Provider local(/jenkins/jobs/XXX/workspace/org.eclipse.fx.javafx): Missing CSpec source required by component type osgi.bundleorg.eclipse.buckminster.core.ctype.MissingCSpecSourceException: Provider local(/jenkins/jobs/XXX/workspace/org.eclipse.fx.javafx): Missing CSpec source required by component type osgi.bundle
at org.eclipse.buckminster.pde.cspecgen.bundle.BundleBuilder.parsePluginModelBase(BundleBuilder.java:243)
at org.eclipse.buckminster.pde.cspecgen.bundle.BundleBuilder.parseFile(BundleBuilder.java:270)
at org.eclipse.buckminster.pde.cspecgen.PDEBuilder.build(PDEBuilder.java:70)
at org.eclipse.buckminster.core.ctype.AbstractComponentType.getResolution(AbstractComponentType.java:319)
at org.eclipse.buckminster.core.ctype.AbstractComponentType.getResolution(AbstractComponentType.java:201)
at org.eclipse.buckminster.core.rmap.model.ResourceMap.resolve(ResourceMap.java:340)
at org.eclipse.buckminster.core.rmap.model.ResourceMap.resolve(ResourceMap.java:252)
at org.eclipse.buckminster.core.resolver.ResourceMapResolver.innerResolve(ResourceMapResolver.java:218)
at org.eclipse.buckminster.core.resolver.ResolverNodeWithJob.resolve(ResolverNodeWithJob.java:217)
at org.eclipse.buckminster.core.resolver.ResolverNodeWithJob.run(ResolverNodeWithJob.java:102)
at org.eclipse.buckminster.core.resolver.ResolverNodeWithJob$NodeResolutionJob.run(ResolverNodeWithJob.java:47)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
my target file looks like this
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?><target name="GUI Target" sequenceNumber="52">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.fx.target.feature.feature.group" version="2.2.0.201512110704"/>
<repository location="http://download.eclipse.org/efxclipse/runtime-released/2.2.0/site/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/releases/mars"/>
</location>
</locations>
<includeBundles>
<plugin id="org.eclipse.equinox.launcher"/>
<plugin id="org.eclipse.equinox.launcher.source"/>
<plugin id="org.eclipse.equinox.launcher.gtk.linux.x86_64"/>
</includeBundles>
</target>
and my rmap file looks like this
<?xml version="1.0" encoding="UTF-8"?>
<rm:rmap xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns:rm="http://www.eclipse.org/buckminster/RMap-1.0">
<rm:locator pattern="^*" searchPathRef="local"/>
<rm:searchPath name="local">
<rm:provider componentTypes="eclipse.feature,osgi.bundle" readerType="local">
<rm:uri format="{0}/{1}">
<bc:propertyRef key="workspace.root"/>
<bc:propertyRef key="buckminster.component"/>
</rm:uri>
</rm:provider>
</rm:searchPath>
</rm:rmap>
So far I understand the problem, but I don't know how to tell buckminster how to resolve the missing package.
resolving your target file, there is no
org.eclipse.fx.javafx
bundle.You need to add the following to the target file, this will add the required bundles: