[jboss-user] [JBoss Tools] - Updating your JBossTools manifest.mf files for Indigo

Rob Stryker do-not-reply at jboss.com
Wed Mar 30 21:52:59 EDT 2011

Rob Stryker [http://community.jboss.org/people/rob.stryker] modified the document:

"Updating your JBossTools manifest.mf files for Indigo"

To view the document, visit: http://community.jboss.org/docs/DOC-16675


Since Indigo is a new version of eclipse and a new version of all our dependencies, we're going to become more strict on how we declare our eclipse dependencies. As of now, most plugins have a tendency to *not* declare version ranges in their manifest.mf, and we're going to begin to change that. One of the tools we will use in the future is API tooling that comes with eclipse to check backwards compatibility, but that will come later. In preparation for that, we are going to declare our new baseline to be the Indigo GA release.

*What does this mean for my plugins?*

Your plugins will need to change all dependency references in the MANIFEST.MF file to declare a minimum dependency of indigo, or, at this time, Indigo m5. At this time we'll only be doing this for eclipse plugin dependencies, and not other JBossTools plugins. The full task is a big long and involves finding out what version of every dependency Indigo will include. This has already been done, and the file listing all the versions is here:  https://svn.jboss.org/repos/jbosstools/workspace/rstryker/manifestVersions/FixManifests/src/data.mf https://svn.jboss.org/repos/jbosstools/workspace/rstryker/manifestVersions/FixManifests/src/data.mf

This still doesn't make it much easier, so a small utility app has been made.

*Getting the utility Project*

mkdir tmp 
cd tmp
svn co  https://svn.jboss.org/repos/jbosstools/workspace/rstryker/manifestVersions/ https://svn.jboss.org/repos/jbosstools/workspace/rstryker/manifestVersions/
cd manifestVersions/FixManifests/bin
vi run.sh

# Now update the script's tmpfileloc and rootFolder to show what file you want to be used
# as a temporary file, and where your root JBossTools repo is.
# The component will be passed in when running this script
# When done... go ahead and...

# ./run.sh {yourComponentName}
./run.sh jmx | sh

The script itself (run.sh) actually simply generates commands to execute, which 
we pipe into *sh* to ensure they are run. An example command generated by using
the script is as follows:

java Main ../src/data.mf /home/rob/code/jbtools/jbosstools/trunk/jmx/plugins/org.jboss.tools.jmx.ui/META-INF/MANIFEST.MF > ~/tmpFile && mv ~/tmpFile /home/rob/code/jbtools/jbosstools/trunk/jmx/plugins/org.jboss.tools.jmx.ui/META-INF/MANIFEST.MF

 The script will now REPLACE all your manifest.mf files for the chosen component.
 You can now refresh your eclipse environment and make sure all manifest files
 have been updated appropriately. Make sure there are no compile errors
 and make sure nothing horrible has changed.
 You can also check via command line by going into your component folder
 and performing
          svn diff

*But.... I'm not on linux!*

No worries, friend! You can execute the java command yourself! 

   java Main ../src/data.mf /path/to/your/svn/trunk/component/plugins/org.jboss.first.plugin

This will output to standard out a new Manifest file. You can save the output in the appropriate 
manifest file directly, copy-paste it, or whatever method you want.

Comment by going to Community

Create a new document in JBoss Tools at Community
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20110330/1a6da052/attachment.html 

More information about the jboss-user mailing list