Actually, the more I think about this, the more I think we *have* to flip to Maven 3. We now rely on a plugin (maven-bundle-plugin) to generate important information (OSGi Metadata) based on information from the Maven dependency resolution. It's extremely important that that information be correct. It's known not to be correct in Maven 2.x, but it's also likely to not get fixed. It's much better in 3.x, and if an issue pops up, there actually is a possibility to get fix made.
I'm going to go ahead an set the prereq on trunk to 3.0 and update the Jenkins builds to use 3.0.4. Dan On Thursday, March 15, 2012 03:42:07 PM Daniel Kulp wrote: > I just discovered an issue with Maven 2.2.1 that is preventing the OSGi > manifest in the little bundles from being correct. I'm not really sure > what the issue is, but basically with 2.2.1, it's SOMETIMES losing the > "resolution:=optional" stuff on packages coming from jars marked optional. > However, it only seems to do it from the full reactor build. > > For example, if you run: > > mvn install -Pfastinstall -pl rt/bindings/xml -am > > and then look at: > rt/bindings/xml/target/classes/META-INF/MANIFEST.MF > > with 3.0.4, you get the optionals on the stuff from tools. With 2.2.1, > you don't. What complicates it even more is if you cd into > rt/binding/xml and run mvn install with 2.2.1, it generates the correct > manifest. > > We may be able to work around the issue by explicitely setting optionals > in the bundle-plugin instructions, but that means a lot more work for us. > Plus, we'd have to go though ALL the bundles and run with both 3.x and > 2.2.1 and check for other differences and such. > > Thoughts? -- Daniel Kulp [email protected] - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
