Skip to content

Instantly share code, notes, and snippets.

@luckyphil
Created June 11, 2012 23:22
Show Gist options
  • Save luckyphil/2913388 to your computer and use it in GitHub Desktop.
Save luckyphil/2913388 to your computer and use it in GitHub Desktop.
When Spring Roo Addon support doesn't work, how to load and use osgi bundles
Had trouble getting addons loaded since upgrading to roo 1.2.2 – things that worked before like roo> git <tab><tab> prompting me to load the addon had stopped working.
The root cause of this is some issue with a piece called ROOBOT which has an xml file in a springsource repo that appears to be incomplete. It’s purpose is to track all the available addons so that we can search them and install them. When this failed, I started down the path of loading the bundles manually – well here is the abridged version.
1. Bundles are in an S3 (Amazon) repo – if you want to browse you need the s3 browser and an aws account.
2. If you know what you are trying to load its easy, but you need to load all the dependencies.
Example 1. Getting the GIT addon to work again in 1.2.2
osgi install --url http://spring-roo-repository.springsource.org/release/org/springframework/roo/wrapping/org.springframework.roo.wrapping.jsch/0.1.42.0010/org.springframework.roo.wrapping.jsch-0.1.42.0010.jar
osgi install --url http://spring-roo-repository.springsource.org/release/org/springframework/roo/wrapping/org.springframework.roo.wrapping.jgit/0.12.1.0010/org.springframework.roo.wrapping.jgit-0.12.1.0010.jar
osgi install --url http://spring-roo-repository.springsource.org/release/org/springframework/roo/org.springframework.roo.addon.git/1.2.2.RELEASE/org.springframework.roo.addon.git-1.2.2.RELEASE.jar
osgi start --url http://spring-roo-repository.springsource.org/release/org/springframework/roo/org.springframework.roo.addon.git/1.2.2.RELEASE/org.springframework.roo.addon.git-1.2.2.RELEASE.jar
At each stage you can issue an osgi ps command to see what state the bundles are in:
[ 75] [Resolved ] [ 1] Spring Roo - Wrapping - jsch (0.1.42.0010)
[ 76] [Resolved ] [ 1] Spring Roo - Wrapping - jgit (0.12.1.0010)
[ 77] [Resolved ] [ 1] Spring Roo - Wrapping - jtds (1.2.4.0010)
[ 78] [Active ] [ 1] Spring Roo - Addon - GIT (1.2.2.RELEASE)
roo> git setup
Created ROOT\.gitignore
Git commit 5581f334861e305dc6525050b808c65337088cc5 [git setup]
To install the jtds so that we can (hopefully) use DBRE on sysbase.
osgi install --url http://spring-roo-repository.springsource.org/release/org/springframework/roo/wrapping/org.springframework.roo.wrapping.jtds/1.2.4.0010/org.springframework.roo.wrapping.jtds-1.2.4.0010.jar
That all looks easy now – but I did go down a few blind alleys.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment