sonatype/nexus-oss — pull request #560 by mcculls (2014-06-06 18:25:29+00:00)
Title: REVIEW [NX-393] remove nexus plugin packaging

This PR removes the `nexus-plugin` packaging type from the build, replacing it with `maven-bundle-plugin` configuration that uses the transitional Require-Bundle and embedded dependencies model (this will soon disappear under NX-390). Note that the list of embedded dependencies is explicit at the moment - once NX-390 is merged in this explicit list will no longer be needed, as Karaf will use the generated feature.xml to decide what bundles to deploy for a given Nexus plugin.

Code to handle the `nexus-plugin` packaging was removed from the launcher and related testsupport classes, in some places this required adding support for pattern matching against GAVs so we can correctly filter plugin dependencies (as they're all jars now). The pending NX-390 changes take this a step further by using Karaf features to select which bundles should be added to the base template.

Additional changes were needed in the P2 plugin, because it embeds the Eclipse.zip runtime and now needs two stages of unpacking (once for the plugin itself to access the eclipse.zip, and again for the Eclipse archive).