1

我有一个名为 foo 的功能、名为 foo 的插件和一个片段 foo.win32.x86。

我应该能够在一个特性的 ant 文件中执行对 eclipse.buildscript 的调用,并让它为特性、插件和片段创建一个 build.xml;但是,我得到的只是功能和插件的 build.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>

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

foo plugin.xml 文件:

<?xml version="1.0"?>
<?eclipse version="3.0"?>
<plugin>
   <!-- extension point stuff, blah -->
</plugin>

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

谁能解释为什么我没有得到片段的 build.xml ?

如果我强制为片段调用 eclipse.buildscript 它工作正常,但这不会破坏目的吗?

谢谢

4

1 回答 1

1

您将需要指定configInfo属性。该值是一个“&”分隔的“ os,ws,arch”三元组列表。如果脚本针对正在构建的配置之一进行解析,则只会为特定于平台的片段生成脚本。如果未指定 configInfo,则默认值为“ *,*,*”,表示“平台无关”(您的 foo.win32.x86 不匹配)。

例如:

 <eclipse.buildscript 
        elements="feature@foo"
        buildDirectory="${buildDirectory}"
        baseLocation="${baseLocation}"
        configInfo="win32,win32,x86" />

帮助页面在这里,这可能会有所帮助。

于 2009-06-25T23:54:06.043 回答