BUG-6652: generate features.xml with karaf-maven-plugin 39/39539/14
authorStephen Kitt <skitt@redhat.com>
Tue, 10 May 2016 14:29:01 +0000 (16:29 +0200)
committerStephen Kitt <skitt@redhat.com>
Tue, 18 Oct 2016 18:22:29 +0000 (18:22 +0000)
commit5b2d6921056013beb293ddf019e3c7e80d875c93
tree69cb175383f08980b7c0a6af53a6ff331790e5a0
parent7ff32c2b981b38ba5344ceac6d7f5b6b832c6ecc
BUG-6652: generate features.xml with karaf-maven-plugin

features.xml can be generated from POM information; this allows us to
produce features which are simultaneously Karaf artifacts and Maven
artifacts. Thus downstream projects can simply depend (at a Maven
level) on Karaf features — this automatically gives the correct Maven
dependencies at build and test time, and the correct Karaf feature
dependencies at run time.

Karaf 3.0.8 now includes enough features handling improvements to
produce useful results here. This patch preserves old features for
backwards-compatibility, which results in some inelegant feature
names; the intention is to allow experimentation in downstream
projects without breaking anything.

This patch introduces two new parent POMs: single-feature-parent is
intended for modules packaging a single feature, feature-repo-parent
for modules packaging a repository of features. SingleFeatureTest is
used to test the feature repositories — this ensures that the features
we ship are tested. single-feature-parent doesn't run
SingleFeatureTest to avoid testing features twice.

Change-Id: I2858891618360710a13756dbd4d005aa1a48c703
Signed-off-by: Stephen Kitt <skitt@redhat.com>
23 files changed:
feature-repo-parent/pom.xml [new file with mode: 0644]
features-akka/pom.xml [deleted file]
features-odlparent/src/main/features/features.xml [deleted file]
features-test/src/main/java/org/opendaylight/odlparent/featuretest/PerRepoTestRunner.java
features/features-akka/pom.xml [new file with mode: 0644]
features/features-akka/src/main/feature/feature.xml [moved from features-akka/src/main/features/features.xml with 51% similarity]
features/features-odlparent/pom.xml [new file with mode: 0644]
features/features-odlparent/src/main/feature/feature.xml [new file with mode: 0644]
features/odl-akka-all/pom.xml [new file with mode: 0644]
features/odl-akka-clustering-2.4/pom.xml [new file with mode: 0644]
features/odl-akka-leveldb-0.7/pom.xml [new file with mode: 0644]
features/odl-akka-persistence-2.4/pom.xml [new file with mode: 0644]
features/odl-akka-persistence-2.4/src/main/feature/feature.xml [new file with mode: 0644]
features/odl-akka-scala-2.11/pom.xml [new file with mode: 0644]
features/odl-akka-system-2.4/pom.xml [new file with mode: 0644]
features/odl-guava-18/pom.xml [new file with mode: 0644]
features/odl-lmax-3/pom.xml [new file with mode: 0644]
features/odl-netty-4/pom.xml [moved from features-odlparent/pom.xml with 60% similarity]
features/odl-triemap-0.2/pom.xml [new file with mode: 0644]
features/pom.xml [new file with mode: 0644]
odlparent-artifacts/pom.xml
pom.xml
single-feature-parent/pom.xml [new file with mode: 0644]