I have a feature called foo, plugin called foo, and a single fragment foo.win32.x86.
我有一个名为foo的插件,名为foo的插件和一个片段foo.win32.x86。
I should be able to execute a call to eclipse.buildscript within an ant file on a feature and have it create a build.xml for the feature, plugin, and fragment; however, all I get is the build.xml for the feature and plugin.
我应该能够在一个特性的ant文件中执行对eclipse.buildscript的调用,并让它为该特性,插件和片段创建一个build.xml;但是,我得到的只是功能和插件的build.xml。
The foo feature.xml:
foo feature.xml:
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="foo"
label="%featureName"
version="0.0.0.200906251500"
provider-name="%providerName"
plugin="foo">
<install-handler/>
<description>
%description
</description>
<copyright>
%copyRight
</copyright>
<license url="license.html">
%license
</license>
<plugin
id="foo"
download-size="0"
install-size="0"
version="0.0.0"/>
<plugin
id="foo.win32.x86"
os="win32"
arch="x86"
download-size="0"
install-size="0"
version="0.0.0"
fragment="true"/>
</feature>
The foo plugin MANIFEST.MF file:
foo插件MANIFEST.MF文件:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Plugin.name
Bundle-SymbolicName: foo; singleton:=true
Bundle-Version: 0.0.0.200906251500
Bundle-Vendor: %Plugin.providername
Bundle-Localization: plugin
Eclipse-LazyStart: true
The foo plugin.xml file:
foo plugin.xml文件:
<?xml version="1.0"?>
<?eclipse version="3.0"?>
<plugin>
<!-- extension point stuff, blah -->
</plugin>
The foo.win32.x86 MANIFEST.MF file:
foo.win32.x86 MANIFEST.MF文件:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Plugin.name
Bundle-SymbolicName: foo.win32.x86
Bundle-Version: 0.0.0.200906251500
Bundle-Vendor: %Plugin.providername
Fragment-Host: foo;bundle-version="0.0.0.200906251500"
Bundle-Localization: plugin
Can anyone explain why I'm not getting the build.xml for the fragment?
谁能解释为什么我没有得到片段的build.xml?
If I force a call to eclipse.buildscript for the fragment it works fine, but doesn't this defeat the purpose?
如果我强制调用eclipse.buildscript获取该片段,它可以正常工作,但是这不会失败吗?
Thanks
1 个解决方案
#1
You will need to specify the configInfo
attribute. The value is an '&' separated list of "os,ws,arch
" triplets. Scripts are only generated for platform specific fragments if they resolve for one of the configurations being built. If configInfo is not specified, the default will be "*,*,*
" which means "platform independent" (which your foo.win32.x86 doesn't match).
您需要指定configInfo属性。该值是“&os”,“os,ws,arch”三元组的“&”分隔列表。如果脚本解析了正在构建的配置之一,则仅为特定于平台的片段生成脚本。如果未指定configInfo,则默认为“*,*,*”,表示“平台无关”(foo.win32.x86与之不匹配)。
eg:
<eclipse.buildscript
elements="feature@foo"
buildDirectory="${buildDirectory}"
baseLocation="${baseLocation}"
configInfo="win32,win32,x86" />
The help page is here, which may be helpful.
帮助页面在这里,这可能会有所帮助。
#1
You will need to specify the configInfo
attribute. The value is an '&' separated list of "os,ws,arch
" triplets. Scripts are only generated for platform specific fragments if they resolve for one of the configurations being built. If configInfo is not specified, the default will be "*,*,*
" which means "platform independent" (which your foo.win32.x86 doesn't match).
您需要指定configInfo属性。该值是“&os”,“os,ws,arch”三元组的“&”分隔列表。如果脚本解析了正在构建的配置之一,则仅为特定于平台的片段生成脚本。如果未指定configInfo,则默认为“*,*,*”,表示“平台无关”(foo.win32.x86与之不匹配)。
eg:
<eclipse.buildscript
elements="feature@foo"
buildDirectory="${buildDirectory}"
baseLocation="${baseLocation}"
configInfo="win32,win32,x86" />
The help page is here, which may be helpful.
帮助页面在这里,这可能会有所帮助。