I have a feature called foo, plugin called foo, and a single fragment 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.
The 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:
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:
<?xml version="1.0"?>
<?eclipse version="3.0"?>
<plugin>
<!-- extension point stuff, blah -->
</plugin>
The foo.win32.x86 MANIFEST.MF file:
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?
If I force a call to eclipse.buildscript for the fragment it works fine, but doesn't this defeat the purpose?
Thanks
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).
eg:
<eclipse.buildscript
elements="feature@foo"
buildDirectory="${buildDirectory}"
baseLocation="${baseLocation}"
configInfo="win32,win32,x86" />
The help page is here, which may be helpful.