Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
SetRequiredBundleVersionRanges
Revision as of 16:56, 28 August 2006 by Codeslave.ca.ibm.com (Talk | contribs)
SetRequiredBundleVersionRanges is an Ant task used to automatically set RequiredBundle version range values in MANIFEST.MF files during EMF builds, rather than having to set them manually and update them manually.
Here's how it works:
This plugin is used as a jarred plugin during the EMF build, like this:
- 1. Eclipse Build is started from build.sh.
scriptsDir="/home/www-data/emf-build/scripts"; echo "Copy $scriptsDir/org.eclipse.emf.build.ant*.jar to $relengBaseBuilderDir/plugins/"; for f in `find $scriptsDir -name "org.eclipse.emf.build.ant*.jar"`; do cp $f $relengBaseBuilderDir/plugins/; done echo Invoking Eclipse build command="$vm -cp $relengBaseBuilderDir/startup.jar org.eclipse.core.launcher.Main" command=$command" -application org.eclipse.ant.core.antRunner" command=$command" -f $antScript $target" # for testing, add -verbose before -f to increase log verbosity (and also size!) #command=$command" $bootclasspath" # removed: this is now specified in the ant task command=$command" -DmapVersionTag=$mapVersionTag" command=$command" -DbuildType=$buildType" command=$command" $buildID" command=$command" $buildTimestamp" command=$command" $buildDir" command=$command" $buildAlias" command=$command" $downloadsDir" command=$command" $rsyncPWFile $ftpUser $ftpPassword" $baseDir/scripts/executeCommand.sh "$command"
- 2. PDE build looks in all available customTargets.xml files.
<emf.build.SetRequiredBundleVersionRanges verbose="true"> <manifestSet dir="${eclipse.plugins}"> <include name="org.eclipse.emf*/META-INF/MANIFEST.MF" /> <include name="org.eclipse.xsd*/META-INF/MANIFEST.MF" /> <exclude name="*-feature/**" /> </manifestSet> <dependencySet dir="${eclipse.plugins}"> <include name="*.jar" /> <include name="*/META-INF/MANIFEST.MF" /> <exclude name="org.eclipse.emf*/**" /> <exclude name="org.eclipse.xsd*/**" /> </dependencySet> <versionRangeRule requiredBundleRegex="org\.eclipse\.(emf|xsd)" /> <versionRangeRule lowerVersion="{current}.{current}.0" /> </emf.build.SetRequiredBundleVersionRanges>
- 3. emf.build.SetRequiredBundleVersionRanges task, as defined in the plugin.xml file, is then run to manipulate MANIFEST.MF files.