BUG-7473: add Karaf 4 features 02/49702/23
authorStephen Kitt <skitt@redhat.com>
Wed, 21 Dec 2016 14:27:21 +0000 (15:27 +0100)
committerRobert Varga <nite@hq.sk>
Mon, 23 Jan 2017 14:04:27 +0000 (14:04 +0000)
commitcf171d6ded83668d75ddbd191990fe230d8b5270
tree64f162a5c5cd574772c54306444f31d4cf05c07e
parent19518f6c6469a7f8b4d84d4f0d4e3e8e7010c8fa
BUG-7473: add Karaf 4 features

Instead of switching wholesale to Karaf 4 only, this patch adds
duplicate features for Karaf 4:

* feature-repo-parent is the new parent for Karaf 4 feature
  repositories (the Karaf 3 parent is now feature3-repo-parent, used
  only in odlparent);
* single-feature-parent is the new parent for Karaf 4 features (the
  Karaf 3 parent is now single-feature3-parent, used only in
  odlparent);
* features4-akka is the new odlparent Karaf 4 feature repository for
  Akka (dropping the old, backwards-compatible features);
* features4-odlparent is the new odlparent Karaf 4 feature repository
  for all other features (again, dropping the old,
  backwards-compatible features).

For the time being, we use Karaf 4.0.7 as the container (otherwise we
run into issues caused by
https://issues.apache.org/jira/browse/FELIX-5450 at least in
controller), and our own release of 4.0.9-SNAPSHOT, called 4.0.8-odl,
for the Karaf Maven plugin (we need upcoming 4.0.9 features when
generating our feature descriptors).

features-parent isn't duplicated for Karaf 4, downstreams are
encouraged to use at least feature-repo-parent instead.

This patch includes the following changes too:
* bundle uninstall failures are ignored in SingleFeatureTest;
* the deprecated features are reduced to delegates for their
  replacement features (e.g. odl-akka-scala simply pulls in
  odl-akka-scala-2.11);
* karaf4-parent only pulls in standard and war (these two features
  include all the other features that were explicitly listed);
* Pax Exam is upgraded to 4.9.2 (necessary to build with Karaf 4, but
  backwards-compatible with Karaf 3);
* Jacoco is upgraded to 0.7.7.201606060606 (as above);
* pax-url is upgraded to 2.5.1 (as above);
* the Protobuf tweaking for clustering is no longer necessary and is
  removed;
* bundles-test needs wrap as a pre-requisite, which requires wrapping
  it in a feature (odl-bundles-test) and using that in the Karaf 4
  SingleFeatureTest;
* karaf4-parent supports karaf.localFeature again.

Change-Id: I251aa7aefe6d3d7f93a73b5256bad6e596147c66
Signed-off-by: Stephen Kitt <skitt@redhat.com>
69 files changed:
bundles4-test/pom.xml [new file with mode: 0644]
bundles4-test/src/main/java/org/opendaylight/odlparent/bundles4test/BundleDiagInfos.java [new file with mode: 0644]
bundles4-test/src/main/java/org/opendaylight/odlparent/bundles4test/BundleServiceSummaryMatcher.java [new file with mode: 0644]
bundles4-test/src/main/java/org/opendaylight/odlparent/bundles4test/ServiceReferenceUtil.java [new file with mode: 0644]
bundles4-test/src/main/java/org/opendaylight/odlparent/bundles4test/SystemState.java [new file with mode: 0644]
bundles4-test/src/main/java/org/opendaylight/odlparent/bundles4test/TestBundleDiag.java [new file with mode: 0644]
bundles4-test/src/main/java/org/opendaylight/odlparent/bundles4test/package-info.java [new file with mode: 0644]
bundles4-test/src/test/java/org/opendaylight/odlparent/bundles4test/ServiceReferenceUtilTest.java [new file with mode: 0644]
feature-repo-parent/pom.xml
feature3-repo-parent/pom.xml [new file with mode: 0644]
features-test/pom.xml
features-test/src/main/java/org/opendaylight/odlparent/featuretest/PerFeatureRunNotifier.java
features/features-akka/pom.xml
features/features-akka/src/main/feature/feature.xml
features/features-odlparent/pom.xml
features/features-odlparent/src/main/feature/feature.xml
features/odl-akka-all/pom.xml
features/odl-akka-clustering-2.4/pom.xml
features/odl-akka-leveldb-0.7/pom.xml
features/odl-akka-persistence-2.4/pom.xml
features/odl-akka-persistence-2.4/src/main/feature/feature.xml [deleted file]
features/odl-akka-scala-2.11/pom.xml
features/odl-akka-system-2.4/pom.xml
features/odl-guava-18/pom.xml
features/odl-guava-21/pom.xml
features/odl-lmax-3/pom.xml
features/odl-netty-4/pom.xml
features/odl-triemap-0.2/pom.xml
features4-test/pom.xml [new file with mode: 0644]
features4-test/src/main/java/org/opendaylight/odlparent/featuretest/Constants.java [new file with mode: 0644]
features4-test/src/main/java/org/opendaylight/odlparent/featuretest/CustomBundleUrlStreamHandlerFactory.java [new file with mode: 0644]
features4-test/src/main/java/org/opendaylight/odlparent/featuretest/PerFeatureRunNotifier.java [new file with mode: 0644]
features4-test/src/main/java/org/opendaylight/odlparent/featuretest/PerFeatureRunner.java [new file with mode: 0644]
features4-test/src/main/java/org/opendaylight/odlparent/featuretest/PerRepoTestRunner.java [new file with mode: 0644]
features4-test/src/main/java/org/opendaylight/odlparent/featuretest/SingleFeatureTest.java [new file with mode: 0644]
features4-test/src/main/java/org/opendaylight/odlparent/featuretest/Util.java [new file with mode: 0644]
features4-test/src/main/resources/singlefeaturetest.properties [new file with mode: 0644]
features4/features4-akka/pom.xml [new file with mode: 0644]
features4/features4-odlparent/pom.xml [new file with mode: 0644]
features4/odl-akka-all/pom.xml [new file with mode: 0644]
features4/odl-akka-clustering-2.4/pom.xml [new file with mode: 0644]
features4/odl-akka-leveldb-0.7/pom.xml [new file with mode: 0644]
features4/odl-akka-persistence-2.4/pom.xml [new file with mode: 0644]
features4/odl-akka-scala-2.11/pom.xml [new file with mode: 0644]
features4/odl-akka-system-2.4/pom.xml [new file with mode: 0644]
features4/odl-bundles-test/pom.xml [new file with mode: 0644]
features4/odl-guava-18/pom.xml [new file with mode: 0644]
features4/odl-guava-21/pom.xml [new file with mode: 0644]
features4/odl-lmax-3/pom.xml [new file with mode: 0644]
features4/odl-netty-4/pom.xml [new file with mode: 0644]
features4/odl-triemap-0.2/pom.xml [new file with mode: 0644]
features4/pom.xml [new file with mode: 0644]
karaf/karaf-parent/pom.xml
karaf/karaf4-parent/pom.xml
karaf/opendaylight-karaf-empty/pom.xml
karaf/opendaylight-karaf-resources/pom.xml
karaf/opendaylight-karaf4-empty/pom.xml
karaf/opendaylight-karaf4-resources/pom.xml
karaf/opendaylight-karaf4-resources/src/main/resources/etc/custom.properties
karaf/opendaylight-karaf4-resources/src/main/resources/patches/karaf-setenv-4.0.7.patch [new file with mode: 0644]
karaf/opendaylight-karaf4-resources/src/main/resources/patches/karaf-setenv-4.0.9.patch [new file with mode: 0644]
karaf/opendaylight-karaf4-resources/src/main/resources/patches/karaf-setenv.bat.patch
karaf/opendaylight-karaf4-resources/src/main/resources/patches/karaf-setenv.patch
karaf/pom.xml
odlparent-artifacts/pom.xml
odlparent/pom.xml
pom.xml
single-feature-parent/pom.xml
single-feature3-parent/pom.xml [new file with mode: 0644]