我准备将构建过程从efxclipse 1.2.0和eclipse juno 切换到efxclipse 2.2.0和 mars 。在我开始之前,每个人都工作得很好。切换后,buckminster会抱怨无法解析org.eclipse.fx.javafx
。
错误如下
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)
我的目标文件看起来像这样
<?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>
我的rmap文件看起来像这样
<?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>
到目前为止,我理解这个问题,但我不知道如何告诉buckminster如何解决丢失的包。