Drop karaf-maven-plugin 26/54526/1
authorStephen Kitt <skitt@redhat.com>
Fri, 7 Apr 2017 15:28:40 +0000 (17:28 +0200)
committerStephen Kitt <skitt@redhat.com>
Fri, 7 Apr 2017 15:28:40 +0000 (17:28 +0200)
We can’t use it within odlparent anyway, and the release of Karaf
4.0.9 means we don’t need it.

Change-Id: I04edebf6799115d35b225e145d18dc29235819a1
Signed-off-by: Stephen Kitt <skitt@redhat.com>
180 files changed:
karaf/karaf-maven-plugin/NOTICE [deleted file]
karaf/karaf-maven-plugin/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-features/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-a/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-a/src/main/java/test/A.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-b/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-b/src/main/java/test/B.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-c/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-c/src/main/java/test/C.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-d/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-d/src/main/java/test/D.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-aggregate-features/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-aggregate-features/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-aggregate-features/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-assembly-prop-edits/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-assembly-prop-edits/src/main/karaf/assembly-property-edits.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-assembly-prop-edits/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-assembly/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-basic-generation/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-basic-generation/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-basic-generation/src/main/java/test/App.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-basic-generation/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependencies-features/invoker.properties [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependencies-features/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependencies-features/src/main/history/dependencies.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-a/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-a/src/main/java/test/A.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-b/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-b/src/main/java/test/B.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-c/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-c/src/main/java/test/C.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-d/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-d/src/main/java/test/D.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/invoker.properties [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependencies-features/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-a/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-a/src/main/java/test/A.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-b/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-b/src/main/java/test/B.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-c/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-c/src/main/java/test/C.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-d/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-d/src/main/java/test/D.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-check-dependencies/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-dependencies/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependencies-features/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-a/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-a/src/main/java/test/A.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-b/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-b/src/main/java/test/B.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-c/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-c/src/main/java/test/C.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-feature-a/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-feature-c/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-dependencies/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-dependencies/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-base-version/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-base-version/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-base-version/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/feature/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/transitive/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/feature/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/transitive/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-version-range/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-version-range/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-feature-use-version-range/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-include-project-artifact/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-include-project-artifact/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-include-project-artifact/src/main/java/test/App.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-include-project-artifact/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-input-file/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-input-file/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-input-file/src/main/feature/feature.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-input-file/src/main/java/test/App.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-input-file/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-kar-classifier/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-kar-classifier/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-kar-multiple-kars/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-kar-multiple-kars/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-kar-packaging/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-kar-packaging/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-kar-with-pom-packaging/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-kar-with-pom-packaging/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-recursive/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-a/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-a/src/main/java/test/A.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-b/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-b/src/main/java/test/B.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-c/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-c/src/main/java/test/C.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-d/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-d/src/main/java/test/D.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-recursive/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-rename-main-feature/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-rename-main-feature/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-rename-main-feature/src/main/java/test/App.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-rename-main-feature/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-repository-dependencies/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-bundle-a/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-bundle-a/src/main/java/test/A.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-bundle-b/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-bundle-b/src/main/java/test/B.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-feature-a/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-feature-b/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-repository-dependencies/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-repository-dependencies/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-run-bundle/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-run-bundle/src/main/java/test/Dummy.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-run/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-simplify-bundles/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-simplify-bundles/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-bundle-a/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-bundle-a/src/main/java/test/A.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-bundle-b/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-bundle-b/src/main/java/test/B.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-feature-a/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-feature-as-is/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-feature-reduced/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-features/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-simplify-bundles/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/it/test-type-classifier/control.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-type-classifier/pom.xml [deleted file]
karaf/karaf-maven-plugin/src/it/test-type-classifier/src/main/java/test/App.java [deleted file]
karaf/karaf-maven-plugin/src/it/test-type-classifier/verify.bsh [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/ArchiveMojo.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/AssemblyMojo.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/KarMojo.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/RunMojo.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/VerifyMojo.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/client/ClientMojo.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/client/DeployMojo.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/AbstractCommandHelpPrinter.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/AsciiDoctorCommandHelpPrinter.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/CommandHelpPrinter.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/DocBookCommandHelpPrinter.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/GenerateHelpMojo.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/UserConfCommandHelpPrinter.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/CopyFileBasedDescriptor.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/ExportFeatureMetaDataMojo.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateDescriptorMojo.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/Dependency30Helper.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/Dependency31Helper.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/DependencyHelper.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/DependencyHelperFactory.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/IoUtils.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/LocalDependency.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/ManifestUtils.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/MavenUtil.java [deleted file]
karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/MojoSupport.java [deleted file]
karaf/karaf-maven-plugin/src/main/resources/META-INF/plexus/components.xml [deleted file]
karaf/karaf-maven-plugin/src/main/resources/config.properties [deleted file]
karaf/karaf-maven-plugin/src/main/resources/org/apache/karaf/features/karaf-features-1.0.0-ordered.xsd [deleted file]
karaf/karaf-maven-plugin/src/main/resources/org/apache/karaf/features/karaf-features-1.1.0-ordered.xsd [deleted file]
karaf/karaf-maven-plugin/src/main/resources/supplemental-models.xml [deleted file]
karaf/karaf-maven-plugin/src/site/apt/index.apt [deleted file]
karaf/karaf-maven-plugin/src/site/apt/usage.apt [deleted file]
karaf/karaf-maven-plugin/src/site/site.xml [deleted file]
karaf/karaf-maven-plugin/src/site/xdoc/karaf-property-instructions-model.xml [deleted file]
karaf/karaf-maven-plugin/src/test/java/org/apache/karaf/tooling/features/BundleToArtifactTest.java [deleted file]
karaf/karaf-maven-plugin/src/test/java/org/apache/karaf/tooling/features/GenerateDescriptorMojoTest.java [deleted file]
karaf/karaf-maven-plugin/src/test/java/org/apache/karaf/tooling/features/ManifestUtilsTest.java [deleted file]
karaf/karaf-maven-plugin/src/test/java/org/apache/karaf/tooling/features/MavenUtilTest.java [deleted file]
karaf/karaf-maven-plugin/src/test/offline.properties [deleted file]
karaf/karaf-maven-plugin/src/test/resources/input-features-1.0.0.xml [deleted file]
karaf/karaf-maven-plugin/src/test/resources/input-features-1.1.0.xml [deleted file]
karaf/karaf-maven-plugin/src/test/resources/input-repository.xml [deleted file]
karaf/pom.xml

diff --git a/karaf/karaf-maven-plugin/NOTICE b/karaf/karaf-maven-plugin/NOTICE
deleted file mode 100644 (file)
index 7ec727b..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-Apache Karaf
-Copyright 2010-2014 The Apache Software Foundation
-
-
-I. Included Software
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2010).
-Licensed under the Apache License 2.0.
-
-This product includes software developed at
-OW2 (http://www.ow2.org/).
-Licensed under the BSD License.
-
-This product includes software developed at
-OPS4J (http://www.ops4j.org/).
-Licensed under the Apache License 2.0.
-
-This product includes software developed at
-Eclipse Foundation (http://www.eclipse.org/).
-Licensed under the EPL.
-
-This product includes software written by
-Antony Lesuisse.
-Licensed under Public Domain.
-
-
-II. Used Software
-
-This product uses software developed at
-FUSE Source (http://www.fusesource.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-AOP Alliance (http://aopalliance.sourceforge.net/).
-Licensed under the Public Domain.
-
-This product uses software developed at
-Tanuki Software (http://www.tanukisoftware.com/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-Jasypt (http://jasypt.sourceforge.net/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-JLine (http://jline.sourceforge.net).
-Licensed under the BSD License.
-
-This product uses software developed at
-SLF4J (http://www.slf4j.org/).
-Licensed under the MIT License.
-
-This product uses software developed at
-SpringSource (http://www.springsource.org/).
-Licensed under the Apache License 2.0.
-
-This product includes software from http://www.json.org.
-Copyright (c) 2002 JSON.org
-
-
-III. License Summary
-- Apache License 2.0
-- BSD License
-- EPL License
-- MIT License
diff --git a/karaf/karaf-maven-plugin/pom.xml b/karaf/karaf-maven-plugin/pom.xml
deleted file mode 100644 (file)
index 20dbb0b..0000000
+++ /dev/null
@@ -1,293 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.karaf.tooling</groupId>
-        <artifactId>tooling</artifactId>
-        <version>4.0.8</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>org.opendaylight.odlparent</groupId>
-    <artifactId>karaf-maven-plugin</artifactId>
-    <version>4.0.9-SNAPSHOT</version>
-    <packaging>maven-plugin</packaging>
-    <name>Apache Karaf :: Tooling :: Maven Karaf Plugin</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-            <version>3.0.3</version>
-        </dependency>
-        <dependency>
-            <groupId>org.sonatype.aether</groupId>
-            <artifactId>aether-api</artifactId>
-            <version>1.11</version>
-        </dependency>
-        <dependency>
-            <groupId>org.sonatype.aether</groupId>
-            <artifactId>aether-util</artifactId>
-            <version>1.11</version>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.aether</groupId>
-            <artifactId>aether-api</artifactId>
-            <version>0.9.0.M2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.aether</groupId>
-            <artifactId>aether-util</artifactId>
-            <version>0.9.0.M2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-artifact</artifactId>
-            <version>3.0.3</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-core</artifactId>
-            <version>3.0.3</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-compat</artifactId>
-            <version>3.0.3</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-tools</groupId>
-            <artifactId>maven-plugin-annotations</artifactId>
-            <version>3.3</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.wagon</groupId>
-            <artifactId>wagon-http</artifactId>
-            <version>2.10</version>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf</groupId>
-            <artifactId>org.apache.karaf.util</artifactId>
-            <version>4.0.8</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.karaf.jaas</groupId>
-                    <artifactId>org.apache.karaf.jaas.boot</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.tooling</groupId>
-            <artifactId>org.apache.karaf.tools.utils</artifactId>
-            <version>4.0.8</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-archiver</artifactId>
-            <version>2.5</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.shared</groupId>
-            <artifactId>maven-filtering</artifactId>
-            <version>1.0-beta-4</version>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-utils</artifactId>
-            <version>3.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.fileinstall</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.features</groupId>
-            <artifactId>org.apache.karaf.features.core</artifactId>
-            <version>4.0.8</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>org.apache.karaf.shell.console</artifactId>
-                    <groupId>org.apache.karaf.shell</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.profile</groupId>
-            <artifactId>org.apache.karaf.profile.core</artifactId>
-            <version>4.0.8</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.resolver</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.ops4j.pax.url</groupId>
-            <artifactId>pax-url-wrap</artifactId>
-            <classifier>uber</classifier>
-        </dependency>
-        <dependency>
-            <groupId>org.ops4j.pax.url</groupId>
-            <artifactId>pax-url-aether</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.deployer</groupId>
-            <artifactId>org.apache.karaf.deployer.kar</artifactId>
-            <version>4.0.8</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.karaf.kar</groupId>
-                    <artifactId>org.apache.karaf.kar.core</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.kar</groupId>
-            <artifactId>org.apache.karaf.kar.core</artifactId>
-            <version>4.0.8</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.shell</groupId>
-            <artifactId>org.apache.karaf.shell.core</artifactId>
-            <version>4.0.8</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.karaf.jaas</groupId>
-                    <artifactId>org.apache.karaf.jaas.boot</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf</groupId>
-            <artifactId>org.apache.karaf.main</artifactId>
-            <version>4.0.8</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
-            <version>2.6</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-compress</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.xbean</groupId>
-            <artifactId>xbean-finder-shaded</artifactId>
-        </dependency>
-    </dependencies>
-
-    <properties>
-        <!-- This doesn't react too well with our build setup -->
-        <invoker.skip>true</invoker.skip>
-    </properties>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-invoker-plugin</artifactId>
-                <version>2.0.0</version>
-                <configuration>
-                    <debug>true</debug>
-                    <projectsDirectory>src/it</projectsDirectory>
-                    <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
-                    <pomIncludes>
-                        <pomInclude>*/pom.xml</pomInclude>
-                    </pomIncludes>
-                    <postBuildHookScript>verify</postBuildHookScript>
-                    <!--<localRepositoryPath>${project.build.directory}/system</localRepositoryPath>-->
-                    <!--<settingsFile>src/it/settings.xml</settingsFile>-->
-                    <mavenOpts>-Djava.io.tmpdir=${project.build.directory}</mavenOpts>
-                    <skipInstallation>${invoker.skip}</skipInstallation>
-                    <skipInvocation>${invoker.skip}</skipInvocation>
-                    <goals>
-                        <goal>package</goal>
-                    </goals>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>integration-test</id>
-                        <goals>
-                            <goal>install</goal>
-                            <goal>run</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>test-offline</id>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                        <configuration>
-                            <invokerPropertiesFile>src/test/offline.properties</invokerPropertiesFile>
-                            <pomExcludes>
-                                <pomExclude>test-check-dependencies-failure/pom.xml</pomExclude>
-                            </pomExcludes>
-                        </configuration>
-                    </execution>
-                </executions>
-                <dependencies>
-                    <dependency>
-                        <groupId>xmlunit</groupId>
-                        <artifactId>xmlunit</artifactId>
-                        <version>1.3</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
-            <plugin>
-                <artifactId>maven-plugin-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>default-descriptor</id>
-                        <goals>
-                            <goal>descriptor</goal>
-                        </goals>
-                        <phase>process-classes</phase>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <artifactId>maven-site-plugin</artifactId>
-                <configuration>
-                    <skip>true</skip>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-
-    <reporting>
-        <!--<outputDirectory>target/site</outputDirectory>-->
-        <plugins>
-            <plugin>
-                <artifactId>maven-plugin-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </reporting>
-
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-features/pom.xml b/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-features/pom.xml
deleted file mode 100644 (file)
index e46bb4f..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-aggregate-features</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>aggregate-features</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>feature</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>aggregate-recursive-module-a</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>aggregate-recursive-module-b</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>aggregate-recursive-module-c</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>aggregate-recursive-module-d</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <aggregateFeatures>true</aggregateFeatures>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-a/pom.xml b/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-a/pom.xml
deleted file mode 100644 (file)
index 7be5890..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-aggregate-features</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>aggregate-recursive-module-a</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-a/src/main/java/test/A.java b/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-a/src/main/java/test/A.java
deleted file mode 100644 (file)
index 9aa5496..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.a;
-
-public class A
-{
-    public static String ASTRING = "A-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-b/pom.xml b/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-b/pom.xml
deleted file mode 100644 (file)
index 4f8ae96..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-aggregate-features</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>aggregate-recursive-module-b</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-b/src/main/java/test/B.java b/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-b/src/main/java/test/B.java
deleted file mode 100644 (file)
index b66ddea..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.b;
-
-public class B
-{
-    public static String BSTRING = "B-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-c/pom.xml b/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-c/pom.xml
deleted file mode 100644 (file)
index 3e4f8de..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-aggregate-features</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>aggregate-recursive-module-c</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>aggregate-recursive-module-b</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-c/src/main/java/test/C.java b/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-c/src/main/java/test/C.java
deleted file mode 100644 (file)
index 423006c..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.c;
-
-import test.b.*;
-
-public class C
-{
-    public static String createStringWithDependencies() {
-        return B.BSTRING + " " + "C-string";
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-d/pom.xml b/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-d/pom.xml
deleted file mode 100644 (file)
index aab71cc..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-aggregate-features</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>aggregate-recursive-module-d</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>aggregate-recursive-module-a</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>aggregate-recursive-module-c</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-d/src/main/java/test/D.java b/karaf/karaf-maven-plugin/src/it/test-aggregate-features/aggregate-recursive-module-d/src/main/java/test/D.java
deleted file mode 100644 (file)
index 6d87232..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.d;
-
-import test.a.*;
-import test.c.*;
-
-public class D
-{
-    public String createStringWithDependencies() {
-        return A.ASTRING + " " + C.createStringWithDependencies() + " " + "D-string";
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-aggregate-features/control.xml b/karaf/karaf-maven-plugin/src/it/test-aggregate-features/control.xml
deleted file mode 100644 (file)
index 81e1844..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="aggregate-features">
-    <feature description="aggregate-recursive-module-c" version="1.0.0.SNAPSHOT" name="aggregate-recursive-module-c">
-        <details>Test Description</details>
-        <bundle>mvn:test/aggregate-recursive-module-b/1.0-SNAPSHOT</bundle>
-    </feature>
-    <feature description="aggregate-recursive-module-d" version="1.0.0.SNAPSHOT" name="aggregate-recursive-module-d">
-        <details>Test Description</details>
-        <bundle>mvn:test/aggregate-recursive-module-a/1.0-SNAPSHOT</bundle>
-        <bundle>mvn:test/aggregate-recursive-module-c/1.0-SNAPSHOT</bundle>
-        <bundle>mvn:test/aggregate-recursive-module-b/1.0-SNAPSHOT</bundle>
-    </feature>
-    <feature name="aggregate-features" description="aggregate-features" version="1.0.0.SNAPSHOT">
-        <details>Test Description</details>
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">aggregate-recursive-module-c</feature>
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">aggregate-recursive-module-d</feature>
-    </feature>
-</features>
diff --git a/karaf/karaf-maven-plugin/src/it/test-aggregate-features/pom.xml b/karaf/karaf-maven-plugin/src/it/test-aggregate-features/pom.xml
deleted file mode 100644 (file)
index 8e6b26a..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-aggregate-features</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>pom</packaging>
-
-    <description>Test Description</description>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <modules>
-        <module>aggregate-recursive-module-a</module>
-        <module>aggregate-recursive-module-b</module>
-        <module>aggregate-recursive-module-c</module>
-        <module>aggregate-recursive-module-d</module>
-        <module>aggregate-features</module>
-    </modules>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-aggregate-features/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-aggregate-features/verify.bsh
deleted file mode 100644 (file)
index 38c7ae1..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "aggregate-features/target/feature/feature.xml");
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-assembly-prop-edits/pom.xml b/karaf/karaf-maven-plugin/src/it/test-assembly-prop-edits/pom.xml
deleted file mode 100644 (file)
index 0c8653b..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
-         xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-assembl-prop-edits</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>karaf-assembly</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.karaf.features</groupId>
-            <artifactId>framework</artifactId>
-            <version>4.0.1</version>
-            <type>kar</type>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.features</groupId>
-            <artifactId>standard</artifactId>
-            <version>4.0.1</version>
-            <classifier>features</classifier>
-            <type>xml</type>
-            <scope>runtime</scope>
-        </dependency>
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <finalName>${project.artifactId}</finalName>
-                    <bootFeatures>
-                        <feature>bundle</feature>
-                        <feature>config</feature>
-                        <feature>diagnostic</feature>
-                        <feature>feature</feature>
-                        <feature>jaas</feature>
-                        <feature>shell</feature>
-                        <feature>log</feature>
-                        <feature>management</feature>
-                        <feature>package</feature>
-                        <feature>shell-compat</feature>
-                        <feature>ssh</feature>
-                        <feature>system</feature>
-                        <feature>wrap</feature>
-                    </bootFeatures>
-                    <archiveZip>false</archiveZip>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-assembly-prop-edits/src/main/karaf/assembly-property-edits.xml b/karaf/karaf-maven-plugin/src/it/test-assembly-prop-edits/src/main/karaf/assembly-property-edits.xml
deleted file mode 100644 (file)
index eb3cd27..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-<property-edits xmlns="http://karaf.apache.org/tools/property-edits/1.0.0">
-    <edits>
-        <edit>
-            <file>config.properties</file>
-            <operation>put</operation>
-            <key>karaf.framework</key>
-            <value>equinox</value>
-        </edit>
-        <edit>
-            <file>config.properties</file>
-            <operation>extend</operation>
-            <key>org.osgi.framework.system.capabilities</key>
-            <value>my-magic-capability</value>
-        </edit>
-    </edits>
-</property-edits>
diff --git a/karaf/karaf-maven-plugin/src/it/test-assembly-prop-edits/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-assembly-prop-edits/verify.bsh
deleted file mode 100644 (file)
index e256f34..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.*;
-import java.lang.*;
-import java.util.*;
-
-Properties props = new Properties();
-InputStream propStream = new FileInputStream(new File(basedir, "target/assembly/etc/config.properties"));
-props.load(propStream);
-return "equinox".equals(props.getProperty("karaf.framework"));
-
-
diff --git a/karaf/karaf-maven-plugin/src/it/test-assembly/pom.xml b/karaf/karaf-maven-plugin/src/it/test-assembly/pom.xml
deleted file mode 100644 (file)
index 50907ba..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
-         xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-basic-generation</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>karaf-assembly</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.karaf.features</groupId>
-            <artifactId>framework</artifactId>
-            <version>4.0.3</version>
-            <type>kar</type>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.features</groupId>
-            <artifactId>standard</artifactId>
-            <version>4.0.3</version>
-            <classifier>features</classifier>
-            <type>xml</type>
-            <scope>runtime</scope>
-        </dependency>
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <finalName>${project.artifactId}</finalName>
-                    <bootFeatures>
-                        <feature>bundle</feature>
-                        <feature>config</feature>
-                        <feature>diagnostic</feature>
-                        <feature>feature</feature>
-                        <feature>jaas</feature>
-                        <feature>shell</feature>
-                        <feature>log</feature>
-                        <feature>management</feature>
-                        <feature>package</feature>
-                        <feature>shell-compat</feature>
-                        <feature>ssh</feature>
-                        <feature>system</feature>
-                        <feature>wrap</feature>
-                    </bootFeatures>
-                    <archiveZip>false</archiveZip>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-basic-generation/control.xml b/karaf/karaf-maven-plugin/src/it/test-basic-generation/control.xml
deleted file mode 100644 (file)
index 1d4ca2a..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="test-basic-generation"/>
diff --git a/karaf/karaf-maven-plugin/src/it/test-basic-generation/pom.xml b/karaf/karaf-maven-plugin/src/it/test-basic-generation/pom.xml
deleted file mode 100644 (file)
index 0590a3f..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-basic-generation</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-basic-generation/src/main/java/test/App.java b/karaf/karaf-maven-plugin/src/it/test-basic-generation/src/main/java/test/App.java
deleted file mode 100644 (file)
index fedb5da..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test;
-
-/**
- * Hello world!
- *
- */
-public class App 
-{
-    public static void main( String[] args )
-    {
-        System.out.println( "Hello World!" );
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-basic-generation/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-basic-generation/verify.bsh
deleted file mode 100644 (file)
index 6af1a7c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "target/feature/feature.xml" );
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/control.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/control.xml
deleted file mode 100644 (file)
index 9e7ef4e..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="check-dependencies-features">
-    <feature description="dependency-module-c" version="1.0.0.SNAPSHOT" name="dependency-module-c">
-        <bundle>mvn:test/dependency-module-a/1.0-SNAPSHOT</bundle>
-        <bundle>mvn:test/dependency-module-b/1.0-SNAPSHOT</bundle>
-    </feature>
-    <feature description="dependency-module-d" version="1.0.0.SNAPSHOT" name="dependency-module-d">
-        <bundle>mvn:test/dependency-module-c/1.0-SNAPSHOT</bundle>
-        <bundle>mvn:test/dependency-module-a/1.0-SNAPSHOT</bundle>
-        <bundle>mvn:test/dependency-module-b/1.0-SNAPSHOT</bundle>
-    </feature>
-    <feature name="check-dependencies-features" description="check-dependencies-features" version="1.0.0.SNAPSHOT">
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">dependency-module-c</feature>
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">dependency-module-d</feature>
-    </feature>
-</features>
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependencies-features/invoker.properties b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependencies-features/invoker.properties
deleted file mode 100644 (file)
index e2abb3d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-invoker.buildResult = failure
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependencies-features/pom.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependencies-features/pom.xml
deleted file mode 100644 (file)
index 2885677..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-check-dependencies-failure</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>check-dependencies-features</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>feature</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-a</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-b</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-c</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-d</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <aggregateFeatures>true</aggregateFeatures>
-                            <checkDependencyChange>true</checkDependencyChange>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependencies-features/src/main/history/dependencies.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependencies-features/src/main/history/dependencies.xml
deleted file mode 100644 (file)
index e033398..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0" name="check-dependencies-features">
-    <feature description="dependency-module-c" version="1.0-SNAPSHOT" name="dependency-module-c">
-        <bundle>mvn:test/dependency-module-a/1.0-SNAPSHOT</bundle>
-        <bundle>mvn:test/dependency-module-b/1.0-SNAPSHOT</bundle>
-    </feature>
-    <!--<feature description="dependency-module-d" version="1.0-SNAPSHOT" name="dependency-module-d">-->
-        <!--<bundle>mvn:test/dependency-module-c/1.0-SNAPSHOT</bundle>-->
-        <!--<bundle>mvn:test/dependency-module-a/1.0-SNAPSHOT</bundle>-->
-        <!--<bundle>mvn:test/dependency-module-b/1.0-SNAPSHOT</bundle>-->
-    <!--</feature>-->
-</features>
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-a/pom.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-a/pom.xml
deleted file mode 100644 (file)
index d2350dc..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-check-dependencies-failure</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-module-a</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-a/src/main/java/test/A.java b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-a/src/main/java/test/A.java
deleted file mode 100644 (file)
index 9aa5496..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.a;
-
-public class A
-{
-    public static String ASTRING = "A-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-b/pom.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-b/pom.xml
deleted file mode 100644 (file)
index 8aa7bd5..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-check-dependencies-failure</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-module-b</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-b/src/main/java/test/B.java b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-b/src/main/java/test/B.java
deleted file mode 100644 (file)
index b66ddea..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.b;
-
-public class B
-{
-    public static String BSTRING = "B-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-c/pom.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-c/pom.xml
deleted file mode 100644 (file)
index c393257..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-check-dependencies-failure</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-module-c</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-a</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-b</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-c/src/main/java/test/C.java b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-c/src/main/java/test/C.java
deleted file mode 100644 (file)
index 630440f..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.c;
-
-import test.a.*;
-import test.b.*;
-
-public class C
-{
-    public static String createStringWithDependencies() {
-        return A.ASTRING + " " + B.BSTRING + " " + "C-string";
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-d/pom.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-d/pom.xml
deleted file mode 100644 (file)
index b7285d9..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-check-dependencies-failure</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-module-d</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-c</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-d/src/main/java/test/D.java b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/dependency-module-d/src/main/java/test/D.java
deleted file mode 100644 (file)
index 370fad8..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.d;
-
-import test.c.*;
-
-public class D
-{
-    public String createStringWithDependencies() {
-        return C.createStringWithDependencies() + " " + "D-string";
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/invoker.properties b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/invoker.properties
deleted file mode 100644 (file)
index e2abb3d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-invoker.buildResult = failure
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/pom.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/pom.xml
deleted file mode 100644 (file)
index 7802807..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>test</groupId>
-    <artifactId>test-check-dependencies-failure</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <modules>
-        <module>dependency-module-a</module>
-        <module>dependency-module-b</module>
-        <module>dependency-module-c</module>
-        <module>dependency-module-d</module>
-        <module>dependencies-features</module>
-    </modules>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-check-dependencies-failure/verify.bsh
deleted file mode 100644 (file)
index c551535..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "dependencies-features/target/feature/feature.xml" );
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies/control.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies/control.xml
deleted file mode 100644 (file)
index 9e7ef4e..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="check-dependencies-features">
-    <feature description="dependency-module-c" version="1.0.0.SNAPSHOT" name="dependency-module-c">
-        <bundle>mvn:test/dependency-module-a/1.0-SNAPSHOT</bundle>
-        <bundle>mvn:test/dependency-module-b/1.0-SNAPSHOT</bundle>
-    </feature>
-    <feature description="dependency-module-d" version="1.0.0.SNAPSHOT" name="dependency-module-d">
-        <bundle>mvn:test/dependency-module-c/1.0-SNAPSHOT</bundle>
-        <bundle>mvn:test/dependency-module-a/1.0-SNAPSHOT</bundle>
-        <bundle>mvn:test/dependency-module-b/1.0-SNAPSHOT</bundle>
-    </feature>
-    <feature name="check-dependencies-features" description="check-dependencies-features" version="1.0.0.SNAPSHOT">
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">dependency-module-c</feature>
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">dependency-module-d</feature>
-    </feature>
-</features>
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependencies-features/pom.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependencies-features/pom.xml
deleted file mode 100644 (file)
index d6f8506..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-check-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>check-dependencies-features</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>feature</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-a</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-b</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-c</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-d</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <aggregateFeatures>true</aggregateFeatures>
-                            <checkDependencyChange>true</checkDependencyChange>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-a/pom.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-a/pom.xml
deleted file mode 100644 (file)
index 19aa707..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-check-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-module-a</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-a/src/main/java/test/A.java b/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-a/src/main/java/test/A.java
deleted file mode 100644 (file)
index 9aa5496..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.a;
-
-public class A
-{
-    public static String ASTRING = "A-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-b/pom.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-b/pom.xml
deleted file mode 100644 (file)
index 65018c7..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-check-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-module-b</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-b/src/main/java/test/B.java b/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-b/src/main/java/test/B.java
deleted file mode 100644 (file)
index b66ddea..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.b;
-
-public class B
-{
-    public static String BSTRING = "B-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-c/pom.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-c/pom.xml
deleted file mode 100644 (file)
index 8bf290d..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-check-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-module-c</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-a</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-b</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-c/src/main/java/test/C.java b/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-c/src/main/java/test/C.java
deleted file mode 100644 (file)
index 630440f..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.c;
-
-import test.a.*;
-import test.b.*;
-
-public class C
-{
-    public static String createStringWithDependencies() {
-        return A.ASTRING + " " + B.BSTRING + " " + "C-string";
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-d/pom.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-d/pom.xml
deleted file mode 100644 (file)
index 1b3d303..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-check-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-module-d</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-module-c</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-d/src/main/java/test/D.java b/karaf/karaf-maven-plugin/src/it/test-check-dependencies/dependency-module-d/src/main/java/test/D.java
deleted file mode 100644 (file)
index 370fad8..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.d;
-
-import test.c.*;
-
-public class D
-{
-    public String createStringWithDependencies() {
-        return C.createStringWithDependencies() + " " + "D-string";
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies/pom.xml b/karaf/karaf-maven-plugin/src/it/test-check-dependencies/pom.xml
deleted file mode 100644 (file)
index 6c1f2f0..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-check-dependencies</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <modules>
-        <module>dependency-module-a</module>
-        <module>dependency-module-b</module>
-        <module>dependency-module-c</module>
-        <module>dependency-module-d</module>
-        <module>dependencies-features</module>
-    </modules>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-check-dependencies/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-check-dependencies/verify.bsh
deleted file mode 100644 (file)
index c551535..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "dependencies-features/target/feature/feature.xml" );
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/control.xml b/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/control.xml
deleted file mode 100644 (file)
index d0f9b53..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="dependencies-features">
-    <feature name="dependency-feature-a" description="dependency-feature-a" version="1.0.0.SNAPSHOT">
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">dependency-feature-c</feature>
-        <bundle>mvn:test/dependency-bundle-a/1.0-SNAPSHOT</bundle>
-        <bundle>mvn:test/dependency-bundle-b/1.0-SNAPSHOT</bundle>
-    </feature>
-    <feature name="dependency-feature-c" description="dependency-feature-c" version="1.0.0.SNAPSHOT">
-        <bundle>mvn:test/dependency-bundle-c/1.0-SNAPSHOT</bundle>
-    </feature>
-    <feature name="dependencies-features" description="dependencies-features" version="1.0.0.SNAPSHOT">
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">dependency-feature-a</feature>
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">dependency-feature-c</feature>
-    </feature>
-</features>
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependencies-features/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependencies-features/pom.xml
deleted file mode 100644 (file)
index 3b232ab..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-feature-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependencies-features</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>feature</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-feature-a</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <classifier>features</classifier>
-            <type>xml</type>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-feature-c</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <classifier>features</classifier>
-            <type>xml</type>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <aggregateFeatures>true</aggregateFeatures>
-                            <checkDependencyChange>true</checkDependencyChange>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-a/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-a/pom.xml
deleted file mode 100644 (file)
index 4498f53..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-feature-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-bundle-a</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-bundle-b</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-a/src/main/java/test/A.java b/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-a/src/main/java/test/A.java
deleted file mode 100644 (file)
index 9aa5496..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.a;
-
-public class A
-{
-    public static String ASTRING = "A-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-b/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-b/pom.xml
deleted file mode 100644 (file)
index b1c465c..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-feature-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-bundle-b</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-feature-c</artifactId>
-            <version>${project.version}</version>
-            <classifier>features</classifier>
-            <type>xml</type>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-b/src/main/java/test/B.java b/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-b/src/main/java/test/B.java
deleted file mode 100644 (file)
index b66ddea..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.b;
-
-public class B
-{
-    public static String BSTRING = "B-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-c/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-c/pom.xml
deleted file mode 100644 (file)
index 797b1e4..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-feature-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-bundle-c</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-c/src/main/java/test/C.java b/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-bundle-c/src/main/java/test/C.java
deleted file mode 100644 (file)
index ad36cd8..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.c;
-
-public class C
-{
-    public static String CSTRING = "C-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-feature-a/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-feature-a/pom.xml
deleted file mode 100644 (file)
index d11c7ee..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-feature-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-feature-a</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-bundle-a</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-feature-c/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/dependency-feature-c/pom.xml
deleted file mode 100644 (file)
index 6717450..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-feature-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-feature-c</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-bundle-c</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/pom.xml
deleted file mode 100644 (file)
index 143f0c7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-feature-dependencies</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <!-- Feature A contains bundle A, which depends on bundle B, which depends on feature C containing bundle C -->
-
-    <modules>
-        <module>dependency-feature-a</module>
-        <module>dependency-bundle-a</module>
-        <module>dependency-bundle-b</module>
-        <module>dependency-feature-c</module>
-        <module>dependency-bundle-c</module>
-        <module>dependencies-features</module>
-    </modules>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-feature-dependencies/verify.bsh
deleted file mode 100644 (file)
index c551535..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "dependencies-features/target/feature/feature.xml" );
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-base-version/control.xml b/karaf/karaf-maven-plugin/src/it/test-feature-use-base-version/control.xml
deleted file mode 100644 (file)
index 60e46d6..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="test-feature-use-base-version">
-    <feature name="test-feature-use-base-version" description="test-feature-use-base-version" version="1.0.0.SNAPSHOT">
-        <bundle>mvn:org.apache.commons/commons-lang3/3.4</bundle>
-    </feature>
-</features>
-
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-base-version/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-use-base-version/pom.xml
deleted file mode 100644 (file)
index c8b8dc9..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-feature-use-base-version</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-       <dependencies>
-               <dependency>
-               <groupId>org.apache.commons</groupId>
-               <artifactId>commons-lang3</artifactId>
-               <version>3.4</version>
-               </dependency>
-       </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-base-version/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-feature-use-base-version/verify.bsh
deleted file mode 100644 (file)
index 6af1a7c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "target/feature/feature.xml" );
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/control.xml b/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/control.xml
deleted file mode 100644 (file)
index 131f23f..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="feature">
-    <feature name="feature" description="feature" version="1.0.0.SNAPSHOT">
-        <bundle>mvn:test/transitive/[0.9,1.9)</bundle>
-        <bundle>mvn:org.apache.commons/commons-lang3/[3.0,3.4)</bundle>
-    </feature>
-</features>
-
-
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/feature/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/feature/pom.xml
deleted file mode 100644 (file)
index f6d3f1e..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>feature</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-    
-       <dependencies>
-               <dependency>
-                       <groupId>test</groupId>
-               <artifactId>transitive</artifactId>
-               <version>[0.9,1.9)</version>
-               </dependency>
-       </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <configuration>
-                       <useVersionRange>true</useVersionRange>
-                       <includeTransitiveVersionRanges>true</includeTransitiveVersionRanges>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/pom.xml
deleted file mode 100644 (file)
index 117cd73..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-feature-use-version-range-transfer-properties</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-    
-    <modules>
-       <module>transitive</module>
-       <module>feature</module>
-    </modules>
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/transitive/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/transitive/pom.xml
deleted file mode 100644 (file)
index 37c2443..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-       <!-- Licensed to the Apache Software Foundation (ASF) under one or more 
-               contributor license agreements. See the NOTICE file distributed with this 
-               work for additional information regarding copyright ownership. The ASF licenses 
-               this file to You under the Apache License, Version 2.0 (the "License"); you 
-               may not use this file except in compliance with the License. You may obtain 
-               a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless 
-               required by applicable law or agreed to in writing, software distributed 
-               under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 
-               OR CONDITIONS OF ANY KIND, either express or implied. See the License for 
-               the specific language governing permissions and limitations under the License. -->
-
-       <modelVersion>4.0.0</modelVersion>
-
-       <groupId>test</groupId>
-       <artifactId>transitive</artifactId>
-       <version>1.0-SNAPSHOT</version>
-       <packaging>bundle</packaging>
-
-       <dependencies>
-               <dependency>
-                       <groupId>org.apache.commons</groupId>
-                       <artifactId>commons-lang3</artifactId>
-                       <version>[3.0,3.4)</version>
-               </dependency>
-       </dependencies>
-
-       <profiles>
-               <profile>
-                       <activation>
-                               <jdk>1.8</jdk>
-                       </activation>
-                       <build>
-                               <plugins>
-                                       <plugin>
-                                               <extensions>true</extensions>
-                                               <groupId>org.apache.felix</groupId>
-                                               <artifactId>maven-bundle-plugin</artifactId>
-                                               <version>3.0.1</version>
-                                       </plugin>
-                               </plugins>
-                       </build>
-               </profile>
-       </profiles>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transfer-properties/verify.bsh
deleted file mode 100644 (file)
index 1400502..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "feature/target/feature/feature.xml" );
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/control.xml b/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/control.xml
deleted file mode 100644 (file)
index 131f23f..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="feature">
-    <feature name="feature" description="feature" version="1.0.0.SNAPSHOT">
-        <bundle>mvn:test/transitive/[0.9,1.9)</bundle>
-        <bundle>mvn:org.apache.commons/commons-lang3/[3.0,3.4)</bundle>
-    </feature>
-</features>
-
-
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/feature/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/feature/pom.xml
deleted file mode 100644 (file)
index f6d3f1e..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>feature</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-    
-       <dependencies>
-               <dependency>
-                       <groupId>test</groupId>
-               <artifactId>transitive</artifactId>
-               <version>[0.9,1.9)</version>
-               </dependency>
-       </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <configuration>
-                       <useVersionRange>true</useVersionRange>
-                       <includeTransitiveVersionRanges>true</includeTransitiveVersionRanges>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/pom.xml
deleted file mode 100644 (file)
index 20808ac..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-feature-use-version-range-transitive</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-    
-    <modules>
-       <module>transitive</module>
-       <module>feature</module>
-    </modules>
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/transitive/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/transitive/pom.xml
deleted file mode 100644 (file)
index 95a0da4..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>transitive</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-
-       <dependencies>
-               <dependency>
-               <groupId>org.apache.commons</groupId>
-               <artifactId>commons-lang3</artifactId>
-               <version>[3.0,3.4)</version>
-               </dependency>
-       </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-               <extensions>true</extensions>
-                       <groupId>org.apache.felix</groupId>
-                       <artifactId>maven-bundle-plugin</artifactId>
-                       <version>3.0.1</version>
-                       </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range-transitive/verify.bsh
deleted file mode 100644 (file)
index 1400502..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "feature/target/feature/feature.xml" );
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range/control.xml b/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range/control.xml
deleted file mode 100644 (file)
index a29d8c8..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="test-feature-use-version-range">
-    <feature name="test-feature-use-version-range" description="test-feature-use-version-range" version="1.0.0.SNAPSHOT">
-        <bundle>mvn:org.apache.commons/commons-lang3/[3.0,3.4)</bundle>
-    </feature>
-</features>
-
-
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range/pom.xml b/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range/pom.xml
deleted file mode 100644 (file)
index 2c60d55..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-feature-use-version-range</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-       <dependencies>
-               <dependency>
-               <groupId>org.apache.commons</groupId>
-               <artifactId>commons-lang3</artifactId>
-               <version>[3.0,3.4)</version>
-               </dependency>
-       </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <configuration>
-                       <useVersionRange>true</useVersionRange>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-feature-use-version-range/verify.bsh
deleted file mode 100644 (file)
index 6af1a7c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "target/feature/feature.xml" );
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-include-project-artifact/control.xml b/karaf/karaf-maven-plugin/src/it/test-include-project-artifact/control.xml
deleted file mode 100644 (file)
index caf5960..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="test-include-project-artifact">
-    <feature name="test-include-project-artifact" description="test-include-project-artifact" version="1.0.0.SNAPSHOT">
-        <bundle>mvn:test/test-include-project-artifact/1.0-SNAPSHOT</bundle>
-    </feature>
-</features>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-include-project-artifact/pom.xml b/karaf/karaf-maven-plugin/src/it/test-include-project-artifact/pom.xml
deleted file mode 100644 (file)
index 976e5c1..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-include-project-artifact</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <includeProjectArtifact>true</includeProjectArtifact>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-include-project-artifact/src/main/java/test/App.java b/karaf/karaf-maven-plugin/src/it/test-include-project-artifact/src/main/java/test/App.java
deleted file mode 100644 (file)
index c95d245..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package test;
-
-/**
- * Hello world!
- */
-public class App {
-
-    public static void main( String[] args ) {
-        System.out.println( "Hello World!" );
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-include-project-artifact/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-include-project-artifact/verify.bsh
deleted file mode 100644 (file)
index 6af1a7c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "target/feature/feature.xml" );
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-input-file/control.xml b/karaf/karaf-maven-plugin/src/it/test-input-file/control.xml
deleted file mode 100644 (file)
index b881b51..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="test-input-file">
-    <feature description="Test Description" version="1.0.0.SNAPSHOT" name="test-input-file">
-        <details>Test Description</details>
-        <bundle>mvn:test/test-input-file/1.0-SNAPSHOT</bundle>
-    </feature>
-</features>
diff --git a/karaf/karaf-maven-plugin/src/it/test-input-file/pom.xml b/karaf/karaf-maven-plugin/src/it/test-input-file/pom.xml
deleted file mode 100644 (file)
index f8af64a..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-input-file</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-    <description>Test Description</description>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-input-file/src/main/feature/feature.xml b/karaf/karaf-maven-plugin/src/it/test-input-file/src/main/feature/feature.xml
deleted file mode 100644 (file)
index b51748d..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0" name="${project.artifactId}">
-    <feature name="${project.artifactId}" version="${project.version}" description="${project.description}">
-        <bundle>mvn:${project.groupId}/${project.artifactId}/${project.version}</bundle>
-    </feature>
-</features>
diff --git a/karaf/karaf-maven-plugin/src/it/test-input-file/src/main/java/test/App.java b/karaf/karaf-maven-plugin/src/it/test-input-file/src/main/java/test/App.java
deleted file mode 100644 (file)
index fedb5da..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test;
-
-/**
- * Hello world!
- *
- */
-public class App 
-{
-    public static void main( String[] args )
-    {
-        System.out.println( "Hello World!" );
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-input-file/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-input-file/verify.bsh
deleted file mode 100644 (file)
index 6af1a7c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "target/feature/feature.xml" );
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-kar-classifier/pom.xml b/karaf/karaf-maven-plugin/src/it/test-kar-classifier/pom.xml
deleted file mode 100644 (file)
index cea616c..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-kar-classifier</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>kar</id>
-                        <goals>
-                            <goal>kar</goal>
-                        </goals>
-                        <configuration>
-                            <classifier>classy</classifier>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-kar-classifier/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-kar-classifier/verify.bsh
deleted file mode 100644 (file)
index 841f65a..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.*;
-import java.lang.*;
-
-// check that the kar archive has been pushed to the repository
-File generated = new File(basedir, "target/test-kar-classifier-1.0-SNAPSHOT-classy.kar");
-if (generated.exists()) {
-    return true;
-}
-
-return false;
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-kar-multiple-kars/pom.xml b/karaf/karaf-maven-plugin/src/it/test-kar-multiple-kars/pom.xml
deleted file mode 100644 (file)
index 58626d5..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-kar-multiple-kars</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file1</id>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <attachmentArtifactClassifier>feature1</attachmentArtifactClassifier>
-                            <outputFile>${project.build.directory}/feature/feature1.xml</outputFile>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>generate-features-file2</id>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <attachmentArtifactClassifier>feature2</attachmentArtifactClassifier>
-                            <outputFile>${project.build.directory}/feature/feature2.xml</outputFile>
-                        </configuration>
-                    </execution>
-
-                    <execution>
-                        <id>kar1</id>
-                        <goals>
-                            <goal>kar</goal>
-                        </goals>
-                        <configuration>
-                            <classifier>kar1</classifier>
-                            <featuresFile>${project.build.directory}/feature/feature1.xml</featuresFile>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>kar2</id>
-                        <goals>
-                            <goal>kar</goal>
-                        </goals>
-                        <configuration>
-                            <classifier>kar2</classifier>
-                            <featuresFile>${project.build.directory}/feature/feature2.xml</featuresFile>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-kar-multiple-kars/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-kar-multiple-kars/verify.bsh
deleted file mode 100644 (file)
index 13584fb..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.*;
-import java.lang.*;
-
-// check if the kar archives and features XMLs have been pushed to the repository
-File feature1 = new File(basedir, "target/feature/feature1.xml");
-File feature2 = new File(basedir, "target/feature/feature2.xml");
-
-File kar1 = new File(basedir, "target/test-kar-multiple-kars-1.0-SNAPSHOT-kar1.kar");
-File kar2 = new File(basedir, "target/test-kar-multiple-kars-1.0-SNAPSHOT-kar2.kar");
-
-if (feature1.exists() && feature2.exists()  &&  kar1.exists() && kar2.exists()) {
-    return true;
-}
-
-return false;
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-kar-packaging/pom.xml b/karaf/karaf-maven-plugin/src/it/test-kar-packaging/pom.xml
deleted file mode 100644 (file)
index ce2c53a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-kar-packaging</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>kar</packaging>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-kar-packaging/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-kar-packaging/verify.bsh
deleted file mode 100644 (file)
index 5de530c..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.*;
-import java.lang.*;
-
-// check if the kar archive has been pushed to the repository
-File generated = new File(basedir, "target/test-kar-packaging-1.0-SNAPSHOT.kar");
-if (generated.exists()) {
-    return true;
-}
-
-return false;
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-kar-with-pom-packaging/pom.xml b/karaf/karaf-maven-plugin/src/it/test-kar-with-pom-packaging/pom.xml
deleted file mode 100644 (file)
index b7832d7..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-kar-with-pom-packaging</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>kar</id>
-                        <goals>
-                            <goal>kar</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-kar-with-pom-packaging/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-kar-with-pom-packaging/verify.bsh
deleted file mode 100644 (file)
index fce6de3..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.*;
-import java.lang.*;
-
-// check the kar archive was pushed to the repository
-File generated = new File(basedir, "target/test-kar-with-pom-packaging-1.0-SNAPSHOT.kar");
-if (generated.exists()) {
-    return true;
-}
-
-return false;
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-recursive/pom.xml b/karaf/karaf-maven-plugin/src/it/test-recursive/pom.xml
deleted file mode 100644 (file)
index 4fbd790..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-recursive</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <modules>
-        <module>recursive-module-a</module>
-        <module>recursive-module-b</module>
-        <module>recursive-module-c</module>
-        <module>recursive-module-d</module>
-    </modules>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <includeTransitiveDependency>false</includeTransitiveDependency>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-a/pom.xml b/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-a/pom.xml
deleted file mode 100644 (file)
index b68e49e..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-recursive</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>recursive-module-a</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-a/src/main/java/test/A.java b/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-a/src/main/java/test/A.java
deleted file mode 100644 (file)
index 9aa5496..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.a;
-
-public class A
-{
-    public static String ASTRING = "A-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-b/pom.xml b/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-b/pom.xml
deleted file mode 100644 (file)
index 824de19..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-recursive</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>recursive-module-b</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-b/src/main/java/test/B.java b/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-b/src/main/java/test/B.java
deleted file mode 100644 (file)
index b66ddea..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.b;
-
-public class B
-{
-    public static String BSTRING = "B-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-c/pom.xml b/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-c/pom.xml
deleted file mode 100644 (file)
index 664147d..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-recursive</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>recursive-module-c</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>recursive-module-a</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>recursive-module-b</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-c/src/main/java/test/C.java b/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-c/src/main/java/test/C.java
deleted file mode 100644 (file)
index 630440f..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.c;
-
-import test.a.*;
-import test.b.*;
-
-public class C
-{
-    public static String createStringWithDependencies() {
-        return A.ASTRING + " " + B.BSTRING + " " + "C-string";
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-d/pom.xml b/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-d/pom.xml
deleted file mode 100644 (file)
index b1f8097..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-recursive</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>recursive-module-d</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>recursive-module-c</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-d/src/main/java/test/D.java b/karaf/karaf-maven-plugin/src/it/test-recursive/recursive-module-d/src/main/java/test/D.java
deleted file mode 100644 (file)
index 370fad8..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.d;
-
-import test.c.*;
-
-public class D
-{
-    public String createStringWithDependencies() {
-        return C.createStringWithDependencies() + " " + "D-string";
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-recursive/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-recursive/verify.bsh
deleted file mode 100644 (file)
index c2b765a..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-//String control = "<features xmlns=\"http://karaf.apache.org/xmlns/features/v1.0.0\" name=\"test-basic-generation\"/>";
-//
-//File generated = new File( basedir, "target/feature/feature.xml" );
-//StringReader sr = new StringReader(control);
-//try {
-//    XMLAssert.assertXMLEqual(sr, new FileReader(generated));
-//} catch (AssertionError ignored) {
-//    return false;
-//}
-
-return true;
diff --git a/karaf/karaf-maven-plugin/src/it/test-rename-main-feature/control.xml b/karaf/karaf-maven-plugin/src/it/test-rename-main-feature/control.xml
deleted file mode 100644 (file)
index c624790..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="test-rename-project-artifact">
-    <feature name="test-feature" description="test-rename-project-artifact" version="1.0.0.SNAPSHOT">
-        <bundle>mvn:test/test-rename-project-artifact/1.0-SNAPSHOT</bundle>
-    </feature>
-</features>
diff --git a/karaf/karaf-maven-plugin/src/it/test-rename-main-feature/pom.xml b/karaf/karaf-maven-plugin/src/it/test-rename-main-feature/pom.xml
deleted file mode 100644 (file)
index afd6990..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-rename-project-artifact</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <primaryFeatureName>test-feature</primaryFeatureName>
-                            <includeProjectArtifact>true</includeProjectArtifact>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-rename-main-feature/src/main/java/test/App.java b/karaf/karaf-maven-plugin/src/it/test-rename-main-feature/src/main/java/test/App.java
deleted file mode 100644 (file)
index c95d245..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package test;
-
-/**
- * Hello world!
- */
-public class App {
-
-    public static void main( String[] args ) {
-        System.out.println( "Hello World!" );
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-rename-main-feature/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-rename-main-feature/verify.bsh
deleted file mode 100644 (file)
index 6af1a7c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "target/feature/feature.xml" );
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/control.xml b/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/control.xml
deleted file mode 100644 (file)
index 0cde6c9..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="dependency-feature-a">
-    <repository>mvn:test/dependency-feature-b/1.0-SNAPSHOT/xml/features</repository>
-    <feature name="dependency-feature-a" description="dependency-feature-a" version="1.0.0.SNAPSHOT">
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">dependency-feature-b</feature>
-        <bundle>mvn:test/dependency-bundle-a/1.0-SNAPSHOT</bundle>
-    </feature>
-</features>
diff --git a/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-bundle-a/pom.xml b/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-bundle-a/pom.xml
deleted file mode 100644 (file)
index 574d05b..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-repository-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-bundle-a</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-feature-b</artifactId>
-            <version>${project.version}</version>
-            <classifier>features</classifier>
-            <type>xml</type>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-bundle-a/src/main/java/test/A.java b/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-bundle-a/src/main/java/test/A.java
deleted file mode 100644 (file)
index 9aa5496..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.a;
-
-public class A
-{
-    public static String ASTRING = "A-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-bundle-b/pom.xml b/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-bundle-b/pom.xml
deleted file mode 100644 (file)
index 639b73d..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-repository-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-bundle-b</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-bundle-b/src/main/java/test/B.java b/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-bundle-b/src/main/java/test/B.java
deleted file mode 100644 (file)
index b66ddea..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.b;
-
-public class B
-{
-    public static String BSTRING = "B-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-feature-a/pom.xml b/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-feature-a/pom.xml
deleted file mode 100644 (file)
index 4a7e0a2..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-repository-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-feature-a</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-bundle-a</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-feature-b/pom.xml b/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/dependency-feature-b/pom.xml
deleted file mode 100644 (file)
index 8f02f51..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-repository-dependencies</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>dependency-feature-b</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>dependency-bundle-b</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/pom.xml b/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/pom.xml
deleted file mode 100644 (file)
index 063e4ff..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-repository-dependencies</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <!-- Feature A contains bundle A, which depends on feature B containing bundle B -->
-
-    <modules>
-        <module>dependency-feature-a</module>
-        <module>dependency-bundle-a</module>
-        <module>dependency-feature-b</module>
-        <module>dependency-bundle-b</module>
-    </modules>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                    <maxmem>256M</maxmem>
-                    <fork>${compiler.fork}</fork>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-repository-dependencies/verify.bsh
deleted file mode 100644 (file)
index 97f7ccc..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "dependency-feature-a/target/feature/feature.xml" );
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-run-bundle/pom.xml b/karaf/karaf-maven-plugin/src/it/test-run-bundle/pom.xml
deleted file mode 100644 (file)
index b67aefc..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-run-bundle</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.5.4</version>
-                <inherited>true</inherited>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Export-Package>*</Export-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>run</id>
-                        <phase>integration-test</phase>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                        <configuration>
-                            <karafDistribution>mvn:org.apache.karaf/apache-karaf/4.0.3/zip</karafDistribution>
-                            <keepRunning>false</keepRunning>
-                            <deployProjectArtifact>true</deployProjectArtifact>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-run-bundle/src/main/java/test/Dummy.java b/karaf/karaf-maven-plugin/src/it/test-run-bundle/src/main/java/test/Dummy.java
deleted file mode 100644 (file)
index 082d7f2..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package test;
-
-public class Dummy {
-
-    // nothing
-
-}
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-run/pom.xml b/karaf/karaf-maven-plugin/src/it/test-run/pom.xml
deleted file mode 100644 (file)
index d0d4a69..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-run</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>run</id>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                        <configuration>
-                            <karafDistribution>mvn:org.apache.karaf/apache-karaf/4.0.3/zip</karafDistribution>
-                            <keepRunning>false</keepRunning>
-                            <deployProjectArtifact>false</deployProjectArtifact>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/control.xml b/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/control.xml
deleted file mode 100644 (file)
index 94cb36a..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="simplify-features">
-    <repository>mvn:test/simplify-feature-a/1.0-SNAPSHOT/xml/features</repository>
-    <feature name="simplify-feature-as-is" description="simplify-feature-as-is" version="1.0.0.SNAPSHOT">
-        <details>Check that bundles are simplified</details>
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">simplify-feature-a</feature>
-        <bundle>mvn:test/simplify-bundle-b/1.0-SNAPSHOT</bundle>
-        <bundle>mvn:test/simplify-bundle-a/1.0-SNAPSHOT</bundle>
-    </feature>
-    <feature name="simplify-feature-reduced" description="simplify-feature-reduced" version="1.0.0.SNAPSHOT">
-        <details>Check that bundles are simplified</details>
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">simplify-feature-a</feature>
-        <bundle>mvn:test/simplify-bundle-b/1.0-SNAPSHOT</bundle>
-    </feature>
-    <feature name="simplify-features" description="simplify-features" version="1.0.0.SNAPSHOT">
-        <details>Check that bundles are simplified</details>
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">simplify-feature-as-is</feature>
-        <feature version="1.0.0.SNAPSHOT" prerequisite="false" dependency="false">simplify-feature-reduced</feature>
-    </feature>
-</features>
diff --git a/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/pom.xml b/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/pom.xml
deleted file mode 100644 (file)
index b61c6a3..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-simplify-bundles</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>pom</packaging>
-
-    <description>Check that bundles are simplified</description>
-
-    <!--
-    There are two bundles, a and b; b depends on a, and on feature-a which contains a.
-    When simplifying, this should be reduced to a dependency on feature-a only.
-    Two features are produced and aggregated to verify that enabling and disabling the
-    functionality works.
-    -->
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <modules>
-        <module>simplify-bundle-a</module>
-        <module>simplify-bundle-b</module>
-        <module>simplify-feature-a</module>
-        <module>simplify-feature-as-is</module>
-        <module>simplify-feature-reduced</module>
-        <module>simplify-features</module>
-    </modules>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-bundle-a/pom.xml b/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-bundle-a/pom.xml
deleted file mode 100644 (file)
index 27dfccd..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-simplify-bundles</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>simplify-bundle-a</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-bundle-a/src/main/java/test/A.java b/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-bundle-a/src/main/java/test/A.java
deleted file mode 100644 (file)
index 9aa5496..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.a;
-
-public class A
-{
-    public static String ASTRING = "A-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-bundle-b/pom.xml b/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-bundle-b/pom.xml
deleted file mode 100644 (file)
index f84310f..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-simplify-bundles</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>simplify-bundle-b</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>simplify-feature-a</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>simplify-bundle-a</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-bundle-b/src/main/java/test/B.java b/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-bundle-b/src/main/java/test/B.java
deleted file mode 100644 (file)
index b66ddea..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test.b;
-
-public class B
-{
-    public static String BSTRING = "B-string";
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-feature-a/pom.xml b/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-feature-a/pom.xml
deleted file mode 100644 (file)
index abbf8a9..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-simplify-bundles</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>simplify-feature-a</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>feature</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>simplify-bundle-a</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <enableGeneration>true</enableGeneration>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-feature-as-is/pom.xml b/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-feature-as-is/pom.xml
deleted file mode 100644 (file)
index 3bab1f6..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-simplify-bundles</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>simplify-feature-as-is</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>feature</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>simplify-bundle-b</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <enableGeneration>true</enableGeneration>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-feature-reduced/pom.xml b/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-feature-reduced/pom.xml
deleted file mode 100644 (file)
index 0c3247b..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-simplify-bundles</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>simplify-feature-reduced</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>feature</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>simplify-bundle-b</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <enableGeneration>true</enableGeneration>
-                            <simplifyBundleDependencies>true</simplifyBundleDependencies>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-features/pom.xml b/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/simplify-features/pom.xml
deleted file mode 100644 (file)
index da5ca35..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>test</groupId>
-        <artifactId>test-simplify-bundles</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>test</groupId>
-    <artifactId>simplify-features</artifactId>
-    <version>1.0-SNAPSHOT</version>
-
-    <packaging>feature</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>simplify-feature-as-is</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>test</groupId>
-            <artifactId>simplify-feature-reduced</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <enableGeneration>true</enableGeneration>
-                            <aggregateFeatures>true</aggregateFeatures>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-simplify-bundles/verify.bsh
deleted file mode 100644 (file)
index 78f37fd..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-File generated = new File(basedir, "simplify-features/target/feature/feature.xml");
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-return false;
diff --git a/karaf/karaf-maven-plugin/src/it/test-type-classifier/control.xml b/karaf/karaf-maven-plugin/src/it/test-type-classifier/control.xml
deleted file mode 100644 (file)
index 246e2cf..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="test-type-classifier"/>
diff --git a/karaf/karaf-maven-plugin/src/it/test-type-classifier/pom.xml b/karaf/karaf-maven-plugin/src/it/test-type-classifier/pom.xml
deleted file mode 100644 (file)
index eeb048a..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>test</groupId>
-    <artifactId>test-type-classifier</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>@pom.version@</version>
-                <executions>
-                    <execution>
-                        <id>generate-features-file</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>features-generate-descriptor</goal>
-                        </goals>
-                        <configuration>
-                            <attachmentArtifactType>zazzle</attachmentArtifactType>
-                            <attachmentArtifactClassifier>fershizzle</attachmentArtifactClassifier>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/it/test-type-classifier/src/main/java/test/App.java b/karaf/karaf-maven-plugin/src/it/test-type-classifier/src/main/java/test/App.java
deleted file mode 100644 (file)
index fedb5da..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package test;
-
-/**
- * Hello world!
- *
- */
-public class App 
-{
-    public static void main( String[] args )
-    {
-        System.out.println( "Hello World!" );
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/it/test-type-classifier/verify.bsh b/karaf/karaf-maven-plugin/src/it/test-type-classifier/verify.bsh
deleted file mode 100644 (file)
index d82e6ff..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.custommonkey.xmlunit.*;
-import java.io.*;
-import java.lang.*;
-
-Reader r = new FileReader(new File(basedir, "control.xml"));
-
-// load the features file pushed to the repository
-// TODO: we can't actually test the classifier and type unless we install the artifact
-// TODO: but we don't want to pollute the user repo and we can't really use a different
-// TODO: repository and build offline (see KARAF-2927) 
-File generated = new File(basedir, "target/feature/feature.xml");
-if (generated.exists()) {
-    try {
-        XMLAssert.assertXMLEqual(r, new FileReader(generated));
-        return true;
-    } catch (Throwable ignored) { }
-}
-
-return false;
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/ArchiveMojo.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/ArchiveMojo.java
deleted file mode 100644 (file)
index a906dae..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.file.DirectoryStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-
-import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
-import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
-import org.apache.commons.compress.archivers.tar.TarConstants;
-import org.apache.commons.compress.archivers.zip.UnixStat;
-import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
-import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
-import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream;
-import org.apache.karaf.tooling.utils.MojoSupport;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-
-/**
- * Package a server archive from an assembled server
- */
-@Mojo(name = "archive", defaultPhase = LifecyclePhase.PACKAGE, requiresDependencyResolution = ResolutionScope.RUNTIME, threadSafe = true)
-public class ArchiveMojo extends MojoSupport {
-
-    /**
-     * The target directory of the project.
-     */
-    @Parameter(defaultValue="${project.build.directory}")
-    private File destDir;
-
-    /**
-     * The location of the server repository.
-     */
-    @Parameter(defaultValue="${project.build.directory}/assembly")
-    private File targetServerDirectory;
-
-    /**
-     * Path prefix of files in the created archive.
-     */
-    @Parameter(defaultValue="${project.artifactId}-${project.version}")
-    private String pathPrefix;
-
-    /**
-     * Use a path prefix of files in the created archive
-     */
-    @Parameter
-    private boolean usePathPrefix = true;
-
-    /**
-     * The target file to set as the project's artifact.
-     */
-    @Parameter(defaultValue="${project.artifactId}-${project.version}")
-    private File targetFile;
-
-    /**
-     * pack a assembly as a tar.gz archive
-     */
-    @Parameter
-    private boolean archiveTarGz = true;
-
-    /**
-     * pack a assembly as a zip archive
-     */
-    @Parameter
-    private boolean archiveZip = true;
-
-    /**
-     * Whether to attach the resulting assembly to the project as an artifact.
-     */
-    @Parameter(defaultValue="true")
-    private boolean attach = true;
-
-    /**
-     * If supplied, the classifer for the artifact when attached.
-     */
-    @Parameter
-    private String classifier;
-
-    /**
-     * use symbolic links in tar.gz or zip archives
-     *
-     * Symbolic links are not very well supported by windows Platform.
-     * At least, is does not work on WinXP + NTFS, so do not include them
-     * for now. So the default is false.
-     */
-    @Parameter
-    private boolean useSymLinks = false;
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        getLog().debug("Setting artifact file: " + targetFile);
-        org.apache.maven.artifact.Artifact artifact = project.getArtifact();
-        artifact.setFile(targetFile);
-        try {
-            //now pack up the server.
-            if(archiveTarGz){
-                archive("tar.gz");
-            }
-            if(archiveZip) {
-                archive("zip");
-            }
-        } catch (Exception e) {
-            throw new MojoExecutionException("Could not archive plugin", e);
-        }
-    }
-
-    @SuppressWarnings("deprecation")
-       private void archive(String type) throws IOException {
-        Artifact artifact1 = factory.createArtifactWithClassifier(project.getArtifact().getGroupId(), project.getArtifact().getArtifactId(), project.getArtifact().getVersion(), type, "bin");
-        File target1 = archive(targetServerDirectory, destDir, artifact1);
-
-        // artifact1 is created with explicit classifier "bin", which is dropped below when attachArtifact is called
-        // which means we can't use artifact1.equals(artifact) directly with artifact1
-        Artifact artifact2 = factory.createArtifact(artifact1.getGroupId(), artifact1.getArtifactId(), artifact1.getVersion(), artifact1.getScope(), artifact1.getType());
-        for (Artifact artifact : project.getAttachedArtifacts()) {
-            if (artifact2.equals(artifact)) {
-                getLog().debug("Artifact " + artifact2 + " already attached");
-                return;
-            }
-        }
-        if (attach) {
-            projectHelper.attachArtifact(project, artifact1.getType(), classifier, target1);
-        }
-    }
-
-    public File archive(File source, File dest, Artifact artifact) throws //ArchiverException,
-            IOException {
-        String serverName = null;
-        if (targetFile != null) {
-            serverName = targetFile.getName();
-        } else {
-           serverName = artifact.getArtifactId() + "-" + artifact.getVersion();
-        }
-        dest = new File(dest, serverName + "." + artifact.getType());
-        
-        String prefix = "";
-        if (usePathPrefix) {
-               prefix = pathPrefix.trim();
-               if( prefix.length() > 0 && !prefix.endsWith("/") ) {
-                   prefix += "/";
-               }
-        }
-
-        if ("tar.gz".equals(artifact.getType())) {
-            try (
-                    OutputStream fOut = Files.newOutputStream(dest.toPath());
-                    OutputStream bOut = new BufferedOutputStream(fOut);
-                    OutputStream gzOut = new GzipCompressorOutputStream(bOut);
-                    TarArchiveOutputStream tOut = new TarArchiveOutputStream(gzOut);
-                    DirectoryStream<Path> children = Files.newDirectoryStream(source.toPath())
-
-            ) {
-                tOut.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);
-                tOut.setBigNumberMode(TarArchiveOutputStream.BIGNUMBER_POSIX);
-                for (Path child : children) {
-                    addFileToTarGz(tOut, child, prefix);
-                }
-            }
-        } else if ("zip".equals(artifact.getType())) {
-            try (
-                    OutputStream fOut = Files.newOutputStream(dest.toPath());
-                    OutputStream bOut = new BufferedOutputStream(fOut);
-                    ZipArchiveOutputStream tOut = new ZipArchiveOutputStream(bOut);
-                    DirectoryStream<Path> children = Files.newDirectoryStream(source.toPath())
-
-            ) {
-                for (Path child : children) {
-                    addFileToZip(tOut, child, prefix);
-                }
-            }
-        } else {
-            throw new IllegalArgumentException("Unknown target type: " + artifact.getType());
-        }
-
-        return dest;
-    }
-
-    private void addFileToTarGz(TarArchiveOutputStream tOut, Path f, String base) throws IOException {
-        if (Files.isDirectory(f)) {
-            String entryName = base + f.getFileName().toString() + "/";
-            TarArchiveEntry tarEntry = new TarArchiveEntry(entryName);
-            tOut.putArchiveEntry(tarEntry);
-            tOut.closeArchiveEntry();
-            try (DirectoryStream<Path> children = Files.newDirectoryStream(f)) {
-                for (Path child : children) {
-                    addFileToTarGz(tOut, child, entryName);
-                }
-            }
-        } else if (useSymLinks && Files.isSymbolicLink(f)) {
-            String entryName = base + f.getFileName().toString();
-            TarArchiveEntry tarEntry = new TarArchiveEntry(entryName, TarConstants.LF_SYMLINK);
-            tarEntry.setLinkName(Files.readSymbolicLink(f).toString());
-            tOut.putArchiveEntry(tarEntry);
-            tOut.closeArchiveEntry();
-        }  else {
-            String entryName = base + f.getFileName().toString();
-            TarArchiveEntry tarEntry = new TarArchiveEntry(entryName);
-            tarEntry.setSize(Files.size(f));
-            if (entryName.contains("/bin/") || (!usePathPrefix && entryName.startsWith("bin/"))) {
-                if (entryName.endsWith(".bat")) {
-                    tarEntry.setMode(0644);
-                } else {
-                    tarEntry.setMode(0755);
-                }
-            }
-            tOut.putArchiveEntry(tarEntry);
-            Files.copy(f, tOut);
-            tOut.closeArchiveEntry();
-        }
-    }
-
-    private void addFileToZip(ZipArchiveOutputStream tOut, Path f, String base) throws IOException {
-        if (Files.isDirectory(f)) {
-            String entryName = base + f.getFileName().toString() + "/";
-            ZipArchiveEntry zipEntry = new ZipArchiveEntry(entryName);
-            tOut.putArchiveEntry(zipEntry);
-            tOut.closeArchiveEntry();
-            try (DirectoryStream<Path> children = Files.newDirectoryStream(f)) {
-                for (Path child : children) {
-                    addFileToZip(tOut, child, entryName);
-                }
-            }
-        } else if (useSymLinks && Files.isSymbolicLink(f)) {
-            String entryName = base + f.getFileName().toString();
-            ZipArchiveEntry zipEntry = new ZipArchiveEntry(entryName);
-            zipEntry.setUnixMode(UnixStat.LINK_FLAG | UnixStat.DEFAULT_FILE_PERM);
-            tOut.putArchiveEntry(zipEntry);
-            tOut.write(Files.readSymbolicLink(f).toString().getBytes());
-            tOut.closeArchiveEntry();
-        }  else {
-            String entryName = base + f.getFileName().toString();
-            ZipArchiveEntry zipEntry = new ZipArchiveEntry(entryName);
-            zipEntry.setSize(Files.size(f));
-            if (entryName.contains("/bin/") || (!usePathPrefix && entryName.startsWith("bin"))) {
-                if (!entryName.endsWith(".bat")) {
-                    zipEntry.setUnixMode(0755);
-                } else {
-                    zipEntry.setUnixMode(0644);
-                }
-            }
-            tOut.putArchiveEntry(zipEntry);
-            Files.copy(f, tOut);
-            tOut.closeArchiveEntry();
-        }
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/AssemblyMojo.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/AssemblyMojo.java
deleted file mode 100644 (file)
index 8bdfc50..0000000
+++ /dev/null
@@ -1,475 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.attribute.PosixFilePermissions;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.karaf.profile.assembly.Builder;
-import org.apache.karaf.tooling.utils.IoUtils;
-import org.apache.karaf.tooling.utils.MavenUtil;
-import org.apache.karaf.tooling.utils.MojoSupport;
-import org.apache.karaf.tools.utils.model.KarafPropertyEdits;
-import org.apache.karaf.tools.utils.model.io.stax.KarafPropertyInstructionsModelStaxReader;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.attribute.PosixFilePermissions;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Creates a customized Karaf distribution by installing features and setting up
- * configuration files. The plugin gets features from feature.xml files and KAR
- * archives declared as dependencies or as files configured with the
- * featureRespositories parameter. It picks up other files, such as config files,
- * from ${project.build.directory}/classes. Thus, a file in src/main/resources/etc
- * will be copied by the resource plugin to ${project.build.directory}/classes/etc,
- * and then added to the assembly by this goal.
- * <br>
- */
-@Mojo(name = "assembly", defaultPhase = LifecyclePhase.PACKAGE, requiresDependencyResolution = ResolutionScope.RUNTIME, threadSafe = true)
-public class AssemblyMojo extends MojoSupport {
-
-    /**
-     * Base directory used to overwrite resources in generated assembly after the build (resource directory).
-     */
-    @Parameter(defaultValue = "${project.basedir}/src/main/resources/assembly")
-    protected File sourceDirectory;
-
-    /**
-     * Base directory used to copy the resources during the build (working directory).
-     */
-    @Parameter(defaultValue = "${project.build.directory}/assembly")
-    protected File workDirectory;
-
-    /**
-     * Features configuration file (etc/org.apache.karaf.features.cfg).
-     */
-    @Parameter(defaultValue = "${project.build.directory}/assembly/etc/org.apache.karaf.features.cfg")
-    protected File featuresCfgFile;
-
-    /**
-     * startup.properties file.
-     */
-    @Parameter(defaultValue = "${project.build.directory}/assembly/etc/startup.properties")
-    protected File startupPropertiesFile;
-
-    /**
-     * Directory used during build to construction the Karaf system repository.
-     */
-    @Parameter(defaultValue="${project.build.directory}/assembly/system")
-    protected File systemDirectory;
-
-    /**
-     * default start level for bundles in features that don't specify it.
-     */
-    @Parameter
-    protected int defaultStartLevel = 30;
-
-    @Parameter
-    private List<String> startupRepositories;
-    @Parameter
-    private List<String> bootRepositories;
-    @Parameter
-    private List<String> installedRepositories;
-
-    /**
-     * List of features from runtime-scope features xml and kars to be installed into system and listed in startup.properties.
-     */
-    @Parameter
-    private List<String> startupFeatures;
-
-    /**
-     * List of features from runtime-scope features xml and kars to be installed into system repo and listed in features service boot features.
-     */
-    @Parameter
-    private List<String> bootFeatures;
-
-    /**
-     * List of features from runtime-scope features xml and kars to be installed into system repo and not mentioned elsewhere.
-     */
-    @Parameter
-    private List<String> installedFeatures;
-
-    @Parameter
-    private List<String> blacklistedFeatures;
-
-    @Parameter
-    private List<String> startupBundles;
-    @Parameter
-    private List<String> bootBundles;
-    @Parameter
-    private List<String> installedBundles;
-    @Parameter
-    private List<String> blacklistedBundles;
-    
-    @Parameter
-    private String profilesUri;
-
-    @Parameter
-    private List<String> bootProfiles;
-
-    @Parameter
-    private List<String> startupProfiles;
-
-    @Parameter
-    private List<String> installedProfiles;
-
-    @Parameter
-    private List<String> blacklistedProfiles;
-
-    @Parameter
-    private Builder.BlacklistPolicy blacklistPolicy = Builder.BlacklistPolicy.Discard;
-
-    /**
-     * Ignore the dependency attribute (dependency="[true|false]") on bundle
-     */
-    @Parameter(defaultValue = "false")
-    protected boolean ignoreDependencyFlag;
-
-    /**
-     * Additional feature repositories
-     */
-    @Parameter
-    protected List<String> featureRepositories;
-
-    @Parameter
-    protected List<String> libraries;
-
-    /**
-     * Use reference: style urls in startup.properties
-     */
-    @Parameter(defaultValue = "false")
-    protected boolean useReferenceUrls;
-
-    /**
-     * Include project build output directory in the assembly
-     */
-    @Parameter(defaultValue = "true")
-    protected boolean includeBuildOutputDirectory;
-
-    @Parameter
-    protected boolean installAllFeaturesByDefault = true;
-
-    @Parameter
-    protected Builder.KarafVersion karafVersion = Builder.KarafVersion.v4x;
-
-    /**
-     * Specify the version of Java SE to be assumed for osgi.ee.
-     */
-    @Parameter(defaultValue = "1.7")
-    protected String javase;
-
-    /**
-     * Specify an XML file that instructs this goal to apply edits to
-     * one or more standard Karaf property files.
-     * The contents of this file are documented in detail on
-     * <a href="karaf-property-instructions-model.html">this page</a>.
-     * This allows you to
-     * customize these files without making copies in your resources
-     * directories. Here's a simple example:
-     * {@literal
-    <pre>
-      <property-edits xmlns="http://karaf.apache.org/tools/property-edits/1.0.0">
-         <edits>
-          <edit>
-            <file>config.properties</file>
-            <operation>put</operation>
-            <key>karaf.framework</key>
-            <value>equinox</value>
-          </edit>
-          <edit>
-            <file>config.properties</file>
-            <operation>extend</operation>
-            <key>org.osgi.framework.system.capabilities</key>
-            <value>my-magic-capability</value>
-          </edit>
-          <edit>
-            <file>config.properties</file>
-            <operation prepend='true'>extend</operation>
-            <key>some-other-list</key>
-            <value>my-value-goes-first</value>
-            </edit>
-         </edits>
-      </property-edits>
-     </pre>
-    }
-     */
-    @Parameter(defaultValue = "${project.basedir}/src/main/karaf/assembly-property-edits.xml")
-    protected String propertyFileEdits;
-
-    @Override
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        try {
-            doExecute();
-        }
-        catch (MojoExecutionException | MojoFailureException e) {
-            throw e;
-        }
-        catch (Exception e) {
-            throw new MojoExecutionException("Unable to build assembly", e);
-        }
-    }
-
-    protected void doExecute() throws Exception {
-        startupRepositories = nonNullList(startupRepositories);
-        bootRepositories = nonNullList(bootRepositories);
-        installedRepositories = nonNullList(installedRepositories);
-        startupBundles = nonNullList(startupBundles);
-        bootBundles = nonNullList(bootBundles);
-        installedBundles = nonNullList(installedBundles);
-        blacklistedBundles = nonNullList(blacklistedBundles);
-        startupFeatures = nonNullList(startupFeatures);
-        bootFeatures = nonNullList(bootFeatures);
-        installedFeatures = nonNullList(installedFeatures);
-        blacklistedFeatures = nonNullList(blacklistedFeatures);
-        startupProfiles = nonNullList(startupProfiles);
-        bootProfiles = nonNullList(bootProfiles);
-        installedProfiles = nonNullList(installedProfiles);
-        blacklistedProfiles = nonNullList(blacklistedProfiles);
-
-        if (!startupProfiles.isEmpty() || !bootProfiles.isEmpty() || !installedProfiles.isEmpty()) {
-            if (profilesUri == null) {
-                throw new IllegalArgumentException("profilesDirectory must be specified");
-            }
-        }
-
-        if (featureRepositories != null && !featureRepositories.isEmpty()) {
-            getLog().warn("Use of featureRepositories is deprecated, use startupRepositories, bootRepositories or installedRepositories instead");
-            startupRepositories.addAll(featureRepositories);
-            bootRepositories.addAll(featureRepositories);
-            installedRepositories.addAll(featureRepositories);
-        }
-
-        StringBuilder remote = new StringBuilder();
-        for (Object obj : project.getRemoteProjectRepositories()) {
-            if (remote.length() > 0) {
-                remote.append(",");
-            }
-            remote.append(invoke(obj, "getUrl"));
-            remote.append("@id=").append(invoke(obj, "getId"));
-            if (!((Boolean) invoke(getPolicy(obj, false), "isEnabled"))) {
-                remote.append("@noreleases");
-            }
-            if ((Boolean) invoke(getPolicy(obj, true), "isEnabled")) {
-                remote.append("@snapshots");
-            }
-        }
-        getLog().info("Using repositories: " + remote.toString());
-
-        Builder builder = Builder.newInstance();
-        builder.offline(mavenSession.isOffline());
-        builder.localRepository(localRepo.getBasedir());
-        builder.mavenRepositories(remote.toString());
-        builder.javase(javase);
-
-        // Set up blacklisted items
-        builder.blacklistBundles(blacklistedBundles);
-        builder.blacklistFeatures(blacklistedFeatures);
-        builder.blacklistProfiles(blacklistedProfiles);
-        builder.blacklistPolicy(blacklistPolicy);
-
-        if (propertyFileEdits != null) {
-            File file = new File(propertyFileEdits);
-            if (file.exists()) {
-                KarafPropertyEdits edits;
-                try (InputStream editsStream = new FileInputStream(propertyFileEdits)) {
-                    KarafPropertyInstructionsModelStaxReader kipmsr = new KarafPropertyInstructionsModelStaxReader();
-                    edits = kipmsr.read(editsStream, true);
-                }
-                builder.propertyEdits(edits);
-            }
-        }
-
-        // creating system directory
-        getLog().info("Creating work directory");
-        builder.homeDirectory(workDirectory.toPath());
-        IoUtils.deleteRecursive(workDirectory);
-        workDirectory.mkdirs();
-
-        List<String> startupKars = new ArrayList<>();
-        List<String> bootKars = new ArrayList<>();
-        List<String> installedKars = new ArrayList<>();
-
-        // Loading kars and features repositories
-        getLog().info("Loading kar and features repositories dependencies");
-        for (Artifact artifact : project.getDependencyArtifacts()) {
-            Builder.Stage stage;
-            switch (artifact.getScope()) {
-            case "compile":
-                stage = Builder.Stage.Startup;
-                break;
-            case "runtime":
-                stage = Builder.Stage.Boot;
-                break;
-            case "provided":
-                stage = Builder.Stage.Installed;
-                break;
-            default:
-                continue;
-            }
-            if ("kar".equals(artifact.getType())) {
-                String uri = artifactToMvn(artifact);
-                switch (stage) {
-                case Startup:   startupKars.add(uri); break;
-                case Boot:      bootKars.add(uri); break;
-                case Installed: installedKars.add(uri); break;
-                }
-            } else if ("features".equals(artifact.getClassifier())) {
-                String uri = artifactToMvn(artifact);
-                switch (stage) {
-                case Startup:   startupRepositories.add(uri); break;
-                case Boot:      bootRepositories.add(uri); break;
-                case Installed: installedRepositories.add(uri); break;
-                }
-            } else if ("jar".equals(artifact.getType()) || "bundle".equals(artifact.getType())) {
-                String uri = artifactToMvn(artifact);
-                switch (stage) {
-                case Startup:   startupBundles.add(uri); break;
-                case Boot:      bootBundles.add(uri); break;
-                case Installed: installedBundles.add(uri); break;
-                }
-            }
-        }
-
-        builder.karafVersion(karafVersion)
-               .useReferenceUrls(useReferenceUrls)
-               .defaultAddAll(installAllFeaturesByDefault)
-               .ignoreDependencyFlag(ignoreDependencyFlag);
-        if (profilesUri != null) {
-            builder.profilesUris(profilesUri);
-        }
-        if (libraries != null) {
-            builder.libraries(libraries.toArray(new String[libraries.size()]));
-        }
-        // Startup
-        builder.defaultStage(Builder.Stage.Startup)
-               .kars(toArray(startupKars))
-               .repositories(startupFeatures.isEmpty() && startupProfiles.isEmpty() && installAllFeaturesByDefault, toArray(startupRepositories))
-               .features(toArray(startupFeatures))
-               .bundles(toArray(startupBundles))
-               .profiles(toArray(startupProfiles));
-        // Boot
-        builder.defaultStage(Builder.Stage.Boot)
-                .kars(toArray(bootKars))
-                .repositories(bootFeatures.isEmpty() && bootProfiles.isEmpty() && installAllFeaturesByDefault, toArray(bootRepositories))
-                .features(toArray(bootFeatures))
-                .bundles(toArray(bootBundles))
-                .profiles(toArray(bootProfiles));
-        // Installed
-        builder.defaultStage(Builder.Stage.Installed)
-                .kars(toArray(installedKars))
-                .repositories(installedFeatures.isEmpty() && installedProfiles.isEmpty() && installAllFeaturesByDefault, toArray(installedRepositories))
-                .features(toArray(installedFeatures))
-                .bundles(toArray(installedBundles))
-                .profiles(toArray(installedProfiles));
-
-        // Generate the assembly
-        builder.generateAssembly();
-
-        // Include project classes content
-        if (includeBuildOutputDirectory)
-            IoUtils.copyDirectory(new File(project.getBuild().getOutputDirectory()), workDirectory);
-
-        // Overwrite assembly dir contents
-        if (sourceDirectory.exists())
-            IoUtils.copyDirectory(sourceDirectory, workDirectory);
-
-        // Chmod the bin/* scripts
-        File[] files = new File(workDirectory, "bin").listFiles();
-        if( files!=null ) {
-            for (File file : files) {
-                if( !file.getName().endsWith(".bat") ) {
-                    try {
-                        Files.setPosixFilePermissions(file.toPath(), PosixFilePermissions.fromString("rwxr-xr-x"));
-                    } catch (Throwable ignore) {
-                        // we tried our best, perhaps the OS does not support posix file perms.
-                    }
-                }
-            }
-        }
-    }
-
-    private Object invoke(Object object, String getter) throws MojoExecutionException {
-        try {
-            return object.getClass().getMethod(getter).invoke(object);
-        } catch (Exception e) {
-            throw new MojoExecutionException("Unable to build remote repository from " + object.toString(), e);
-        }
-    }
-
-    private Object getPolicy(Object object, boolean snapshots) throws MojoExecutionException {
-        return invoke(object, "getPolicy", new Class[] { Boolean.TYPE }, new Object[] { snapshots });
-    }
-
-    private Object invoke(Object object, String getter, Class[] types, Object[] params) throws MojoExecutionException {
-        try {
-            return object.getClass().getMethod(getter, types).invoke(object, params);
-        } catch (Exception e) {
-            throw new MojoExecutionException("Unable to build remote repository from " + object.toString(), e);
-        }
-    }
-
-    private String artifactToMvn(Artifact artifact) throws MojoExecutionException {
-        String uri;
-
-        String groupId = artifact.getGroupId();
-        String artifactId = artifact.getArtifactId();
-        String version = artifact.getBaseVersion();
-        String type = artifact.getArtifactHandler().getExtension();
-        String classifier = artifact.getClassifier();
-
-        if (MavenUtil.isEmpty(classifier)) {
-            if ("jar".equals(type)) {
-                uri = String.format("mvn:%s/%s/%s", groupId, artifactId, version);
-            } else {
-                uri = String.format("mvn:%s/%s/%s/%s", groupId, artifactId, version, type);
-            }
-        } else {
-            uri = String.format("mvn:%s/%s/%s/%s/%s", groupId, artifactId, version, type, classifier);
-        }
-        return uri;
-    }
-
-    private String[] toArray(List<String> strings) {
-        return strings.toArray(new String[strings.size()]);
-    }
-
-    private List<String> nonNullList(List<String> list) {
-        return list == null ? new ArrayList<String>() : list;
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/KarMojo.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/KarMojo.java
deleted file mode 100644 (file)
index db383eb..0000000
+++ /dev/null
@@ -1,403 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.karaf.deployer.kar.KarArtifactInstaller;
-import org.apache.karaf.features.BundleInfo;
-import org.apache.karaf.features.ConfigFileInfo;
-import org.apache.karaf.features.internal.model.Feature;
-import org.apache.karaf.features.internal.model.Features;
-import org.apache.karaf.features.internal.model.JaxbUtil;
-import org.apache.karaf.tooling.utils.MavenUtil;
-import org.apache.karaf.tooling.utils.MojoSupport;
-import org.apache.maven.archiver.MavenArchiveConfiguration;
-import org.apache.maven.archiver.MavenArchiver;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.apache.maven.artifact.repository.metadata.Snapshot;
-import org.apache.maven.artifact.repository.metadata.SnapshotVersion;
-import org.apache.maven.artifact.repository.metadata.Versioning;
-import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Component;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.codehaus.plexus.archiver.Archiver;
-import org.codehaus.plexus.archiver.jar.JarArchiver;
-
-/**
- * Assemble a kar archive from a features.xml file
- */
-@Mojo(name = "kar", defaultPhase = LifecyclePhase.PACKAGE, requiresDependencyResolution = ResolutionScope.RUNTIME, threadSafe = true)
-public class KarMojo extends MojoSupport {
-
-    /**
-     * The maven archive configuration to use.
-     * <p/>
-     * See <a href="http://maven.apache.org/ref/current/maven-archiver/apidocs/org/apache/maven/archiver/MavenArchiveConfiguration.html">the Javadocs for MavenArchiveConfiguration</a>.
-     */
-    @Parameter
-    private MavenArchiveConfiguration archive = new MavenArchiveConfiguration();
-
-    /**
-     * The Jar archiver.
-     */
-    @Component(role = Archiver.class, hint="jar")
-    private JarArchiver jarArchiver = null;
-
-    /**
-     * Directory containing the generated archive.
-     */
-    @Parameter(defaultValue = "${project.build.directory}")
-    private File outputDirectory = null;
-
-    /**
-     * Name of the generated archive.
-     */
-    @Parameter(defaultValue = "${project.build.finalName}")
-    private String finalName = null;
-
-    /**
-     * Ignore the dependency flag on the bundles in the features XML
-     */
-    @Parameter(defaultValue = "false")
-    private boolean ignoreDependencyFlag;
-
-    /**
-     * Classifier to add to the artifact generated. If given, the artifact will be attached.
-     * If it's not given, it will merely be written to the output directory according to the finalName.
-     */
-    @Parameter
-    protected String classifier;
-
-    /**
-     * Location of resources directory for additional content to include in the kar.
-     * Note that it includes everything under classes so as to include maven-remote-resources
-     */
-    @Parameter(defaultValue = "${project.build.directory}/classes")
-    private File resourcesDir;
-
-
-    /**
-     * The features file to use as instructions
-     */
-    @Parameter(defaultValue = "${project.build.directory}/feature/feature.xml")
-    private String featuresFile;
-
-
-    /**
-     * The wrapper repository in the kar.
-     */
-    @Parameter(defaultValue = "${repositoryPath}")
-    private String repositoryPath = "repository/";
-
-    private static final Pattern mvnPattern = Pattern.compile("mvn:([^/ ]+)/([^/ ]+)/([^/ ]*)(/([^/ ]+)(/([^/ ]+))?)?");
-
-
-    //
-    // Mojo
-    //
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        File featuresFileResolved = resolveFile(featuresFile);
-        String groupId = project.getGroupId();
-        String artifactId = project.getArtifactId();
-        String version = project.getVersion();
-
-        if (isMavenUrl(featuresFile)) {
-            Artifact artifactTemp = resourceToArtifact(featuresFile, false);
-            if (artifactTemp.getGroupId() != null)
-                groupId = artifactTemp.getGroupId();
-            if (artifactTemp.getArtifactHandler() != null)
-                artifactId = artifactTemp.getArtifactId();
-            if (artifactTemp.getVersion() != null)
-                version = artifactTemp.getVersion();
-        }
-
-        List<Artifact> resources = readResources(featuresFileResolved);
-
-        // Build the archive
-        File archive = createArchive(resources, featuresFileResolved, groupId, artifactId, version);
-
-        // if no classifier is specified and packaging is not kar, display a warning
-        // and attach artifact
-        if (classifier == null && !this.getProject().getPackaging().equals("kar")) {
-            this.getLog().warn("Your project should use the \"kar\" packaging or configure a \"classifier\" for kar attachment");
-            projectHelper.attachArtifact(getProject(), "kar", null, archive);
-            return;
-        }
-
-        // Attach the generated archive for install/deploy
-        if (classifier != null) {
-            projectHelper.attachArtifact(getProject(), "kar", classifier, archive);
-        } else {
-            getProject().getArtifact().setFile(archive);
-        }
-    }
-
-    private File resolveFile(String file) {
-        File fileResolved = null;
-
-        if (isMavenUrl(file)) {
-            fileResolved = new File(fromMaven(file));
-            try {
-                Artifact artifactTemp = resourceToArtifact(file, false);
-                if (!fileResolved.exists()) {
-                    try {
-                        artifactResolver.resolve(artifactTemp, remoteRepos, localRepo);
-                        fileResolved = artifactTemp.getFile();
-                    } catch (ArtifactResolutionException e) {
-                        getLog().error("Artifact was not resolved", e);
-                    } catch (ArtifactNotFoundException e) {
-                        getLog().error("Artifact was not found", e);
-                    }
-                }
-            } catch (MojoExecutionException e) {
-                getLog().error(e);
-            }
-        } else {
-            fileResolved = new File(file);
-        }
-
-        return fileResolved;
-    }
-
-    /**
-     * Read bundles and configuration files in the features file.
-     *
-     * @return
-     * @throws MojoExecutionException
-     */
-    private List<Artifact> readResources(File featuresFile) throws MojoExecutionException {
-        List<Artifact> resources = new ArrayList<Artifact>();
-        try {
-            Features features = JaxbUtil.unmarshal(featuresFile.toURI().toASCIIString(), false);
-            for (Feature feature : features.getFeature()) {
-                for (BundleInfo bundle : feature.getBundles()) {
-                    if (ignoreDependencyFlag || (!ignoreDependencyFlag && !bundle.isDependency())) {
-                        resources.add(resourceToArtifact(bundle.getLocation(), false));
-                    }
-                }
-                for (ConfigFileInfo configFile : feature.getConfigurationFiles()) {
-                    resources.add(resourceToArtifact(configFile.getLocation(), false));
-                }
-            }
-            return resources;
-        } catch (MojoExecutionException e) {
-            throw e;
-        } catch (Exception e) {
-            throw new MojoExecutionException("Could not interpret features.xml", e);
-        }
-    }
-
-    /**
-     * Generates the configuration archive.
-     *
-     * @param bundles
-     */
-    @SuppressWarnings("deprecation")
-       private File createArchive(List<Artifact> bundles, File featuresFile, String groupId, String artifactId, String version) throws MojoExecutionException {
-        ArtifactRepositoryLayout layout = new DefaultRepositoryLayout();
-        File archiveFile = getArchiveFile(outputDirectory, finalName, classifier);
-
-        MavenArchiver archiver = new MavenArchiver();
-        archiver.setArchiver(jarArchiver);
-        archiver.setOutputFile(archiveFile);
-
-        try {
-            //TODO should .kar be a bundle?
-//            archive.addManifestEntry(Constants.BUNDLE_NAME, project.getName());
-//            archive.addManifestEntry(Constants.BUNDLE_VENDOR, project.getOrganization().getName());
-//            ArtifactVersion version = project.getArtifact().getSelectedVersion();
-//            String versionString = "" + version.getMajorVersion() + "." + version.getMinorVersion() + "." + version.getIncrementalVersion();
-//            if (version.getQualifier() != null) {
-//                versionString += "." + version.getQualifier();
-//            }
-//            archive.addManifestEntry(Constants.BUNDLE_VERSION, versionString);
-//            archive.addManifestEntry(Constants.BUNDLE_MANIFESTVERSION, "2");
-//            archive.addManifestEntry(Constants.BUNDLE_DESCRIPTION, project.getDescription());
-//            // NB, no constant for this one
-//            archive.addManifestEntry("Bundle-License", ((License) project.getLicenses().get(0)).getUrl());
-//            archive.addManifestEntry(Constants.BUNDLE_DOCURL, project.getUrl());
-//            //TODO this might need some help
-//            archive.addManifestEntry(Constants.BUNDLE_SYMBOLICNAME, project.getArtifactId());
-
-            //include the feature.xml
-                       Artifact featureArtifact = factory.createArtifactWithClassifier(groupId, artifactId, version, "xml", KarArtifactInstaller.FEATURE_CLASSIFIER);
-            jarArchiver.addFile(featuresFile, repositoryPath + layout.pathOf(featureArtifact));
-
-            if (featureArtifact.isSnapshot()) {
-                // the artifact is a snapshot, create the maven-metadata-local.xml
-                getLog().debug("Feature artifact is a SNAPSHOT, handling the maven-metadata-local.xml");
-                File metadataTarget = new File(featuresFile.getParentFile(), "maven-metadata-local.xml");
-                getLog().debug("Looking for " + metadataTarget.getAbsolutePath());
-                if (!metadataTarget.exists()) {
-                    // the maven-metadata-local.xml doesn't exist, create it
-                    getLog().debug(metadataTarget.getAbsolutePath() + " doesn't exist, create it");
-                    Metadata metadata = new Metadata();
-                    metadata.setGroupId(featureArtifact.getGroupId());
-                    metadata.setArtifactId(featureArtifact.getArtifactId());
-                    metadata.setVersion(featureArtifact.getVersion());
-                    metadata.setModelVersion("1.1.0");
-
-                    Versioning versioning = new Versioning();
-                    versioning.setLastUpdatedTimestamp(new Date(System.currentTimeMillis()));
-                    Snapshot snapshot = new Snapshot();
-                    snapshot.setLocalCopy(true);
-                    versioning.setSnapshot(snapshot);
-                    SnapshotVersion snapshotVersion = new SnapshotVersion();
-                    snapshotVersion.setClassifier(featureArtifact.getClassifier());
-                    snapshotVersion.setVersion(featureArtifact.getVersion());
-                    snapshotVersion.setExtension(featureArtifact.getType());
-                    snapshotVersion.setUpdated(versioning.getLastUpdated());
-                    versioning.addSnapshotVersion(snapshotVersion);
-
-                    metadata.setVersioning(versioning);
-
-                    MetadataXpp3Writer metadataWriter = new MetadataXpp3Writer();
-                    try {
-                        Writer writer = new FileWriter(metadataTarget);
-                        metadataWriter.write(writer, metadata);
-                    } catch (Exception e) {
-                        getLog().warn("Could not create maven-metadata-local.xml", e);
-                        getLog().warn("It means that this SNAPSHOT could be overwritten by an older one present on remote repositories");
-                    }
-                }
-                getLog().debug("Adding file " + metadataTarget.getAbsolutePath() + " in the jar path " + repositoryPath + layout.pathOf(featureArtifact).substring(0, layout.pathOf(featureArtifact).lastIndexOf('/')) + "/maven-metadata-local.xml");
-                jarArchiver.addFile(metadataTarget, repositoryPath + layout.pathOf(featureArtifact).substring(0, layout.pathOf(featureArtifact).lastIndexOf('/')) + "/maven-metadata-local.xml");
-            }
-
-            for (Artifact artifact : bundles) {
-                artifactResolver.resolve(artifact, remoteRepos, localRepo);
-
-                //TODO this may not be reasonable, but... resolved snapshot artifacts have timestamped versions
-                //which do not work in startup.properties.
-                artifact.setVersion(artifact.getBaseVersion());
-
-                if (artifact.isSnapshot()) {
-                    // the artifact is a snapshot, create the maven-metadata-local.xml
-                    final File metadataTmp = File.createTempFile("maven-metadata-local.xml", ".tmp");
-
-                    try {
-                        MavenUtil.generateMavenMetadata(artifact, metadataTmp);
-                    } catch (Exception e) {
-                        getLog().warn("Could not create maven-metadata-local.xml", e);
-                        getLog().warn("It means that this SNAPSHOT could be overwritten by an older one present on remote repositories");
-                    }
-
-                    jarArchiver.addFile(metadataTmp, repositoryPath + layout.pathOf(artifact).substring(0, layout.pathOf(artifact).lastIndexOf('/')) + "/maven-metadata-local.xml");
-
-                    try {
-                        metadataTmp.delete();
-                    } catch (final Exception ex) {
-                        getLog().warn("Cannot delete temporary created file.", ex);
-                    }
-                }
-
-                String targetFileName = repositoryPath + layout.pathOf(artifact);
-                jarArchiver.addFile(artifact.getFile(), targetFileName);
-            }
-
-            if (resourcesDir.isDirectory()) {
-                archiver.getArchiver().addDirectory(resourcesDir);
-            }
-            archiver.createArchive(project, archive);
-
-            return archiveFile;
-        } catch (Exception e) {
-            throw new MojoExecutionException("Failed to create archive", e);
-        }
-    }
-
-    protected static boolean isMavenUrl(String name) {
-        Matcher m = mvnPattern.matcher(name);
-        return m.matches();
-    }
-
-    /**
-     * Return a path for an artifact:
-     * - if the input is already a path (doesn't contain ':'), the same path is returned.
-     * - if the input is a Maven URL, the input is converted to a default repository location path, type and classifier
-     *   are optional.
-     *
-     * @param name artifact data
-     * @return path as supplied or a default Maven repository path
-     */
-    private static String fromMaven(String name) {
-        Matcher m = mvnPattern.matcher(name);
-        if (!m.matches()) {
-            return name;
-        }
-
-        StringBuilder b = new StringBuilder();
-        b.append(m.group(1));
-        for (int i = 0; i < b.length(); i++) {
-            if (b.charAt(i) == '.') {
-                b.setCharAt(i, '/');
-            }
-        }
-        b.append("/"); // groupId
-        String artifactId = m.group(2);
-        String version = m.group(3);
-        String extension = m.group(5);
-        String classifier = m.group(7);
-        b.append(artifactId).append("/"); // artifactId
-        b.append(version).append("/"); // version
-        b.append(artifactId).append("-").append(version);
-        if (present(classifier)) {
-            b.append("-").append(classifier);
-        }
-        if (present(classifier)) {
-            b.append(".").append(extension);
-        } else {
-            b.append(".jar");
-        }
-        return b.toString();
-    }
-
-    private static boolean present(String part) {
-        return part != null && !part.isEmpty();
-    }
-
-    protected static File getArchiveFile(final File basedir, final String finalName, String classifier) {
-        if (classifier == null) {
-            classifier = "";
-        } else if (classifier.trim().length() > 0 && !classifier.startsWith("-")) {
-            classifier = "-" + classifier;
-        }
-
-        return new File(basedir, finalName + classifier + ".kar");
-    }
-
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/RunMojo.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/RunMojo.java
deleted file mode 100644 (file)
index 16023bf..0000000
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling;
-
-import org.apache.commons.compress.archivers.ArchiveEntry;
-import org.apache.commons.compress.archivers.ArchiveInputStream;
-import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
-import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
-import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;
-import org.apache.commons.compress.utils.IOUtils;
-import org.apache.commons.io.FileUtils;
-import org.apache.karaf.features.BootFinished;
-import org.apache.karaf.features.Feature;
-import org.apache.karaf.features.FeaturesListener;
-import org.apache.karaf.features.FeaturesService;
-import org.apache.karaf.main.Main;
-import org.apache.karaf.tooling.utils.MojoSupport;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.util.tracker.ServiceTracker;
-
-import java.io.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * Run a Karaf instance
- */
-@Mojo(name = "run", defaultPhase = LifecyclePhase.PACKAGE, requiresDependencyResolution = ResolutionScope.RUNTIME, threadSafe = false)
-public class RunMojo extends MojoSupport {
-
-    /**
-     * Directory containing Karaf container base directory.
-     */
-    @Parameter(defaultValue = "${project.build.directory}/karaf")
-    private File karafDirectory = null;
-
-    /**
-     * Location where to download the Karaf distribution
-     */
-    @Parameter(defaultValue = "mvn:org.apache.karaf/apache-karaf/LATEST/zip")
-    private String karafDistribution = null;
-
-    /**
-     * Define if the project artifact should be deployed in the started container or not
-     */
-    @Parameter(defaultValue = "true")
-    private boolean deployProjectArtifact = true;
-
-    /**
-     * Define if the Karaf container keep running or stop just after the goal execution
-     */
-    @Parameter(defaultValue = "true")
-    private boolean keepRunning = true;
-
-    /**
-     * Define if the Karaf embedded sshd should be started or not
-     */
-    @Parameter(defaultValue = "false")
-    private String startSsh = "false";
-
-    private static final Pattern mvnPattern = Pattern.compile("mvn:([^/ ]+)/([^/ ]+)/([^/ ]*)(/([^/ ]+)(/([^/ ]+))?)?");
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        if (karafDirectory.exists()) {
-            getLog().info("Using Karaf container located " + karafDirectory.getAbsolutePath());
-        } else {
-            getLog().info("Extracting Karaf container");
-            try {
-                File karafArchiveFile = resolveFile(karafDistribution);
-                extract(karafArchiveFile, karafDirectory);
-            } catch (Exception e) {
-                throw new MojoFailureException("Can't extract Karaf container", e);
-            }
-        }
-
-        getLog().info("Starting Karaf container");
-        System.setProperty("karaf.home", karafDirectory.getAbsolutePath());
-        System.setProperty("karaf.base", karafDirectory.getAbsolutePath());
-        System.setProperty("karaf.data", karafDirectory.getAbsolutePath() + "/data");
-        System.setProperty("karaf.etc", karafDirectory.getAbsolutePath() + "/etc");
-        System.setProperty("karaf.instances", karafDirectory.getAbsolutePath() + "/instances");
-        System.setProperty("karaf.startLocalConsole", "false");
-        System.setProperty("karaf.startRemoteShell", startSsh);
-        System.setProperty("karaf.lock", "false");
-        Main main = new Main(new String[0]);
-        try {
-            main.launch();
-            while (main.getFramework().getState() != Bundle.ACTIVE) {
-                Thread.sleep(1000);
-            }
-            BundleContext bundleContext = main.getFramework().getBundleContext();
-            Object bootFinished = null;
-            while (bootFinished == null) {
-                Thread.sleep(1000);
-                ServiceReference ref = bundleContext.getServiceReference(BootFinished.class);
-                if (ref != null) {
-                    bootFinished = bundleContext.getService(ref);
-                }
-            }
-            deploy(bundleContext);
-            if (keepRunning)
-                main.awaitShutdown();
-            main.destroy();
-        } catch (Throwable e) {
-            throw new MojoExecutionException("Can't start container", e);
-        } finally {
-            System.gc();
-        }
-    }
-
-    private void deploy(BundleContext bundleContext) throws MojoExecutionException {
-        if (deployProjectArtifact) {
-            File artifact = project.getArtifact().getFile();
-            if (artifact != null && artifact.exists()) {
-                if (project.getPackaging().equals("bundle")) {
-                    try {
-                        Bundle bundle = bundleContext.installBundle(artifact.toURI().toURL().toString());
-                        bundle.start();
-                    } catch (Exception e) {
-                        throw new MojoExecutionException("Can't deploy project artifact in container", e);
-                    }
-                } else {
-                    throw new MojoExecutionException("Packaging " + project.getPackaging() + " is not supported");
-                }
-            } else {
-                throw new MojoExecutionException("Project artifact doesn't exist");
-            }
-        }
-    }
-
-    public static void extract(File sourceFile, File targetFolder) throws IOException {
-        if (sourceFile.getAbsolutePath().indexOf(".zip") > 0) {
-            extractZipDistribution(sourceFile, targetFolder);
-        } else if (sourceFile.getAbsolutePath().indexOf(".tar.gz") > 0) {
-            extractTarGzDistribution(sourceFile, targetFolder);
-        } else {
-            throw new IllegalStateException("Unknown packaging of distribution; only zip or tar.gz could be handled.");
-        }
-        return;
-    }
-
-    private static void extractTarGzDistribution(File sourceDistribution, File _targetFolder)
-            throws IOException {
-        File uncompressedFile = File.createTempFile("uncompressedTarGz-", ".tar");
-        extractGzArchive(new FileInputStream(sourceDistribution), uncompressedFile);
-        extract(new TarArchiveInputStream(new FileInputStream(uncompressedFile)), _targetFolder);
-        FileUtils.forceDelete(uncompressedFile);
-    }
-
-    private static void extractZipDistribution(File sourceDistribution, File _targetFolder)
-            throws IOException {
-        extract(new ZipArchiveInputStream(new FileInputStream(sourceDistribution)), _targetFolder);
-    }
-
-    private static void extractGzArchive(InputStream tarGz, File tar) throws IOException {
-        BufferedInputStream in = new BufferedInputStream(tarGz);
-        FileOutputStream out = new FileOutputStream(tar);
-        GzipCompressorInputStream gzIn = new GzipCompressorInputStream(in);
-        final byte[] buffer = new byte[1000];
-        int n = 0;
-        while (-1 != (n = gzIn.read(buffer))) {
-            out.write(buffer, 0, n);
-        }
-        out.close();
-        gzIn.close();
-    }
-
-    private static void extract(ArchiveInputStream is, File targetDir) throws IOException {
-        try {
-            if (targetDir.exists()) {
-                FileUtils.forceDelete(targetDir);
-            }
-            targetDir.mkdirs();
-            ArchiveEntry entry = is.getNextEntry();
-            while (entry != null) {
-                String name = entry.getName();
-                name = name.substring(name.indexOf("/") + 1);
-                File file = new File(targetDir, name);
-                if (entry.isDirectory()) {
-                    file.mkdirs();
-                }
-                else {
-                    file.getParentFile().mkdirs();
-                    OutputStream os = new FileOutputStream(file);
-                    try {
-                        IOUtils.copy(is, os);
-                    }
-                    finally {
-                        IOUtils.closeQuietly(os);
-                    }
-                }
-                entry = is.getNextEntry();
-            }
-        }
-        finally {
-            is.close();
-        }
-    }
-
-    protected static boolean isMavenUrl(String name) {
-        Matcher m = mvnPattern.matcher(name);
-        return m.matches();
-    }
-
-    private File resolveFile(String file) {
-        File fileResolved = null;
-
-        if (isMavenUrl(file)) {
-            fileResolved = new File(fromMaven(file));
-            try {
-                Artifact artifactTemp = resourceToArtifact(file, false);
-                if (!fileResolved.exists()) {
-                    try {
-                        artifactResolver.resolve(artifactTemp, remoteRepos, localRepo);
-                        fileResolved = artifactTemp.getFile();
-                    } catch (ArtifactResolutionException e) {
-                        getLog().error("Artifact was not resolved", e);
-                    } catch (ArtifactNotFoundException e) {
-                        getLog().error("Artifact was not found", e);
-                    }
-                }
-            } catch (MojoExecutionException e) {
-                getLog().error(e);
-            }
-        } else {
-            fileResolved = new File(file);
-        }
-
-        return fileResolved;
-    }
-
-    /**
-     * Return a path for an artifact:
-     * - if the input is already a path (doesn't contain ':'), the same path is returned.
-     * - if the input is a Maven URL, the input is converted to a default repository location path, type and classifier
-     *   are optional.
-     *
-     * @param name artifact data
-     * @return path as supplied or a default Maven repository path
-     */
-    private static String fromMaven(String name) {
-        Matcher m = mvnPattern.matcher(name);
-        if (!m.matches()) {
-            return name;
-        }
-
-        StringBuilder b = new StringBuilder();
-        b.append(m.group(1));
-        for (int i = 0; i < b.length(); i++) {
-            if (b.charAt(i) == '.') {
-                b.setCharAt(i, '/');
-            }
-        }
-        b.append("/"); // groupId
-        String artifactId = m.group(2);
-        String version = m.group(3);
-        String extension = m.group(5);
-        String classifier = m.group(7);
-        b.append(artifactId).append("/"); // artifactId
-        b.append(version).append("/"); // version
-        b.append(artifactId).append("-").append(version);
-        if (present(classifier)) {
-            b.append("-").append(classifier);
-        }
-        if (present(classifier)) {
-            b.append(".").append(extension);
-        } else {
-            b.append(".jar");
-        }
-        return b.toString();
-    }
-
-    private static boolean present(String part) {
-        return part != null && !part.isEmpty();
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/VerifyMojo.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/VerifyMojo.java
deleted file mode 100644 (file)
index 5d8c2a7..0000000
+++ /dev/null
@@ -1,811 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.EnumSet;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.jar.Attributes;
-import java.util.jar.Manifest;
-import java.util.regex.Pattern;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-
-import aQute.bnd.osgi.Macro;
-import aQute.bnd.osgi.Processor;
-import org.apache.felix.resolver.Logger;
-import org.apache.felix.resolver.ResolverImpl;
-import org.apache.felix.utils.version.VersionRange;
-import org.apache.felix.utils.version.VersionTable;
-import org.apache.karaf.features.FeatureEvent;
-import org.apache.karaf.features.FeaturesService;
-import org.apache.karaf.features.internal.download.DownloadCallback;
-import org.apache.karaf.features.internal.download.DownloadManager;
-import org.apache.karaf.features.internal.download.Downloader;
-import org.apache.karaf.features.internal.download.StreamProvider;
-import org.apache.karaf.features.internal.model.Conditional;
-import org.apache.karaf.features.internal.model.ConfigFile;
-import org.apache.karaf.features.internal.model.Feature;
-import org.apache.karaf.features.internal.model.Features;
-import org.apache.karaf.features.internal.model.JaxbUtil;
-import org.apache.karaf.features.internal.resolver.ResourceBuilder;
-import org.apache.karaf.features.internal.resolver.ResourceImpl;
-import org.apache.karaf.features.internal.resolver.ResourceUtils;
-import org.apache.karaf.features.internal.service.Deployer;
-import org.apache.karaf.features.internal.service.State;
-import org.apache.karaf.features.internal.util.MapUtils;
-import org.apache.karaf.features.internal.util.MultiException;
-import org.apache.karaf.profile.assembly.CustomDownloadManager;
-import org.apache.karaf.tooling.utils.MojoSupport;
-import org.apache.karaf.util.config.PropertiesLoader;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Component;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.settings.Settings;
-import org.ops4j.pax.url.mvn.MavenResolver;
-import org.ops4j.pax.url.mvn.MavenResolvers;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.Version;
-import org.osgi.framework.namespace.IdentityNamespace;
-import org.osgi.framework.startlevel.BundleStartLevel;
-import org.osgi.framework.wiring.BundleCapability;
-import org.osgi.framework.wiring.BundleRequirement;
-import org.osgi.framework.wiring.BundleRevision;
-import org.osgi.framework.wiring.BundleWiring;
-import org.osgi.resource.Requirement;
-import org.osgi.resource.Resource;
-import org.osgi.resource.Wire;
-import org.osgi.service.resolver.ResolutionException;
-
-import static java.util.jar.JarFile.MANIFEST_NAME;
-
-@Mojo(name = "verify", requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME, threadSafe = true)
-public class VerifyMojo extends MojoSupport {
-
-    @Parameter(property = "descriptors")
-    protected Set<String> descriptors;
-
-    @Parameter(property = "features")
-    protected Set<String> features;
-
-    @Parameter(property = "framework")
-    protected Set<String> framework;
-
-    @Parameter(property = "configuration")
-    protected String configuration;
-
-    @Parameter(property = "distribution", defaultValue = "org.apache.karaf:apache-karaf")
-    protected String distribution;
-
-    @Parameter(property = "javase")
-    protected String javase;
-
-    @Parameter(property = "dist-dir")
-    protected String distDir;
-
-    @Parameter(property = "additional-metadata")
-    protected File additionalMetadata;
-
-    @Parameter(property = "ignore-missing-conditions")
-    protected boolean ignoreMissingConditions;
-
-    @Parameter(property = "fail")
-    protected String fail = "end";
-
-    @Parameter(property = "verify-transitive")
-    protected boolean verifyTransitive = false;
-
-    @Parameter(defaultValue = "${project}", readonly = true)
-    protected MavenProject project;
-
-    protected MavenResolver resolver;
-
-    @Override
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        Hashtable<String, String> config = new Hashtable<>();
-        StringBuilder remote = new StringBuilder();
-        for (Object obj : project.getRemoteProjectRepositories()) {
-            if (remote.length() > 0) {
-                remote.append(",");
-            }
-            remote.append(invoke(obj, "getUrl"));
-            remote.append("@id=").append(invoke(obj, "getId"));
-            if (!((Boolean) invoke(getPolicy(obj, false), "isEnabled"))) {
-                remote.append("@noreleases");
-            }
-            if ((Boolean) invoke(getPolicy(obj, true), "isEnabled")) {
-                remote.append("@snapshots");
-            }
-        }
-        getLog().info("Using repositories: " + remote.toString());
-        config.put("maven.repositories", remote.toString());
-        config.put("maven.localRepository", localRepo.getBasedir());
-        config.put("maven.settings", mavenSession.getRequest().getUserSettingsFile().toString());
-        // TODO: add more configuration bits ?
-        resolver = MavenResolvers.createMavenResolver(config, "maven");
-        doExecute();
-    }
-
-    private Object invoke(Object object, String getter) throws MojoExecutionException {
-        try {
-            return object.getClass().getMethod(getter).invoke(object);
-        } catch (Exception e) {
-            throw new MojoExecutionException("Unable to build remote repository from " + object.toString(), e);
-        }
-    }
-
-    private Object getPolicy(Object object, boolean snapshots) throws MojoExecutionException {
-        return invoke(object, "getPolicy", new Class[] { Boolean.TYPE }, new Object[] { snapshots });
-    }
-
-    private Object invoke(Object object, String getter, Class[] types, Object[] params) throws MojoExecutionException {
-        try {
-            return object.getClass().getMethod(getter, types).invoke(object, params);
-        } catch (Exception e) {
-            throw new MojoExecutionException("Unable to build remote repository from " + object.toString(), e);
-        }
-    }
-
-    protected void doExecute() throws MojoExecutionException, MojoFailureException {
-        System.setProperty("karaf.home", "target/karaf");
-        System.setProperty("karaf.data", "target/karaf/data");
-
-        Hashtable<String, String> properties = new Hashtable<>();
-
-        if (additionalMetadata != null) {
-            try (Reader reader = new FileReader(additionalMetadata)) {
-                Properties metadata = new Properties();
-                metadata.load(reader);
-                for (Enumeration<?> e = metadata.propertyNames(); e.hasMoreElements(); ) {
-                    Object key = e.nextElement();
-                    Object val = metadata.get(key);
-                    properties.put(key.toString(), val.toString());
-                }
-            } catch (IOException e) {
-                throw new MojoExecutionException("Unable to load additional metadata from " + additionalMetadata, e);
-            }
-        }
-
-        // TODO: allow using external configuration ?
-        ScheduledExecutorService executor = Executors.newScheduledThreadPool(8);
-        DownloadManager manager = new CustomDownloadManager(resolver, executor);
-        final Map<String, Features> repositories;
-        Map<String, List<Feature>> allFeatures = new HashMap<>();
-        try {
-            repositories = loadRepositories(manager, descriptors);
-            for (String repoUri : repositories.keySet()) {
-                List<Feature> features = repositories.get(repoUri).getFeature();
-                // Ack features to inline configuration files urls
-                for (Feature feature : features) {
-                    for (org.apache.karaf.features.internal.model.Bundle bi : feature.getBundle()) {
-                        String loc = bi.getLocation();
-                        String nloc = null;
-                        if (loc.contains("file:")) {
-                            for (ConfigFile cfi : feature.getConfigfile()) {
-                                if (cfi.getFinalname().substring(1)
-                                        .equals(loc.substring(loc.indexOf("file:") + "file:".length()))) {
-                                    nloc = cfi.getLocation();
-                                }
-                            }
-                        }
-                        if (nloc != null) {
-                            Field field = bi.getClass().getDeclaredField("location");
-                            field.setAccessible(true);
-                            field.set(bi, loc.substring(0, loc.indexOf("file:")) + nloc);
-                        }
-                    }
-                }
-                allFeatures.put(repoUri, features);
-            }
-        } catch (Exception e) {
-            throw new MojoExecutionException("Unable to load features descriptors", e);
-        }
-
-        List<Feature> featuresToTest = new ArrayList<>();
-        if (verifyTransitive) {
-            for (List<Feature> features : allFeatures.values()) {
-                featuresToTest.addAll(features);
-            }
-        } else {
-            for (String uri : descriptors) {
-                featuresToTest.addAll(allFeatures.get(uri));
-            }
-        }
-        if (features != null && !features.isEmpty()) {
-            StringBuilder sb = new StringBuilder();
-            for (String feature : features) {
-                if (sb.length() > 0) {
-                    sb.append("|");
-                }
-                String p = feature.replaceAll("\\.", "\\\\.").replaceAll("\\*", ".*");
-                sb.append(p);
-                if (!feature.contains("/")) {
-                    sb.append("/.*");
-                }
-            }
-            Pattern pattern = Pattern.compile(sb.toString());
-            for (Iterator<Feature> iterator = featuresToTest.iterator(); iterator.hasNext();) {
-                Feature feature = iterator.next();
-                String id = feature.getName() + "/" + feature.getVersion();
-                if (!pattern.matcher(id).matches()) {
-                    iterator.remove();
-                }
-            }
-        }
-
-        for (String fmk : framework) {
-            properties.put("feature.framework." + fmk, fmk);
-        }
-        List<Exception> failures = new ArrayList<>();
-        for (Feature feature : featuresToTest) {
-            try {
-                String id = feature.getName() + "/" + feature.getVersion();
-                verifyResolution(new CustomDownloadManager(resolver, executor),
-                                 repositories, Collections.singleton(id), properties);
-                getLog().info("Verification of feature " + id + " succeeded");
-            } catch (Exception e) {
-                if (e.getCause() instanceof ResolutionException) {
-                    getLog().warn(e.getMessage());
-                } else {
-                    getLog().warn(e);
-                }
-                failures.add(e);
-                if ("first".equals(fail)) {
-                    throw e;
-                }
-            }
-            for (Conditional cond : feature.getConditional()) {
-                Set<String> ids = new LinkedHashSet<>();
-                ids.add(feature.getId());
-                ids.addAll(cond.getCondition());
-                try {
-                    verifyResolution(manager, repositories, ids, properties);
-                    getLog().info("Verification of feature " + ids + " succeeded");
-                } catch (Exception e) {
-                    if (ignoreMissingConditions && e.getCause() instanceof ResolutionException) {
-                        boolean ignore = true;
-                        Collection<Requirement> requirements = ((ResolutionException) e.getCause()).getUnresolvedRequirements();
-                        for (Requirement req : requirements) {
-                            ignore &= (IdentityNamespace.IDENTITY_NAMESPACE.equals(req.getNamespace())
-                                    && ResourceUtils.TYPE_FEATURE.equals(req.getAttributes().get("type"))
-                                    && cond.getCondition().contains(req.getAttributes().get(IdentityNamespace.IDENTITY_NAMESPACE).toString()));
-                        }
-                        if (ignore) {
-                            getLog().warn("Feature resolution failed for " + ids
-                                    + "\nMessage: " + e.getCause().getMessage());
-                            continue;
-                        }
-                    }
-                    if (e.getCause() instanceof ResolutionException) {
-                        getLog().warn(e.getMessage());
-                    } else {
-                        getLog().warn(e);
-                    }
-                    failures.add(e);
-                    if ("first".equals(fail)) {
-                        throw e;
-                    }
-                }
-            }
-        }
-        if ("end".equals(fail) && !failures.isEmpty()) {
-            throw new MojoExecutionException("Verification failures", new MultiException("Verification failures", failures));
-        }
-    }
-
-    private void verifyResolution(DownloadManager manager, final Map<String, Features> repositories, Set<String> features, Hashtable<String, String> properties) throws MojoExecutionException {
-        try {
-            Bundle systemBundle = getSystemBundle(getMetadata(properties, "metadata#"));
-            DummyDeployCallback callback = new DummyDeployCallback(systemBundle, repositories.values());
-            Deployer deployer = new Deployer(manager, new ResolverImpl(new MavenResolverLog()), callback);
-
-
-            // Install framework
-            Deployer.DeploymentRequest request = createDeploymentRequest();
-
-            for (String fmwk : framework) {
-                MapUtils.addToMapSet(request.requirements, FeaturesService.ROOT_REGION, fmwk);
-            }
-            try {
-                deployer.deploy(callback.getDeploymentState(), request);
-            } catch (Exception e) {
-                throw new MojoExecutionException("Unable to resolve framework features", e);
-            }
-
-
-            /*
-            boolean resolveOptionalImports = getResolveOptionalImports(properties);
-
-            DeploymentBuilder builder = new DeploymentBuilder(
-                    manager,
-                    null,
-                    repositories.values(),
-                    -1 // Disable url handlers
-            );
-            Map<String, Resource> downloadedResources = builder.download(
-                    getPrefixedProperties(properties, "feature."),
-                    getPrefixedProperties(properties, "bundle."),
-                    getPrefixedProperties(properties, "fab."),
-                    getPrefixedProperties(properties, "req."),
-                    getPrefixedProperties(properties, "override."),
-                    getPrefixedProperties(properties, "optional."),
-                    getMetadata(properties, "metadata#")
-            );
-
-            for (String uri : getPrefixedProperties(properties, "resources.")) {
-                builder.addResourceRepository(new MetadataRepository(new HttpMetadataProvider(uri)));
-            }
-            */
-
-
-            // Install features
-            for (String feature : features) {
-                MapUtils.addToMapSet(request.requirements, FeaturesService.ROOT_REGION, feature);
-            }
-            try {
-                Set<String> prereqs = new HashSet<>();
-                while (true) {
-                    try {
-                        deployer.deploy(callback.getDeploymentState(), request);
-                        break;
-                    } catch (Deployer.PartialDeploymentException e) {
-                        if (!prereqs.containsAll(e.getMissing())) {
-                            prereqs.addAll(e.getMissing());
-                        } else {
-                            throw new Exception("Deployment aborted due to loop in missing prerequisites: " + e.getMissing());
-                        }
-                    }
-                }
-                // TODO: find unused resources ?
-            } catch (Exception e) {
-                throw new MojoExecutionException("Feature resolution failed for " + features
-                        + "\nMessage: " + e.getMessage()
-                        + "\nRepositories: " + toString(new TreeSet<>(repositories.keySet()))
-                        + "\nResources: " + toString(new TreeSet<>(manager.getProviders().keySet())), e);
-            }
-
-
-        } catch (MojoExecutionException e) {
-            throw e;
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error verifying feature " + features + "\nMessage: " + e.getMessage(), e);
-        }
-    }
-
-    private Deployer.DeploymentRequest createDeploymentRequest() {
-        Deployer.DeploymentRequest request = new Deployer.DeploymentRequest();
-        request.bundleUpdateRange = FeaturesService.DEFAULT_BUNDLE_UPDATE_RANGE;
-        request.featureResolutionRange = FeaturesService.DEFAULT_FEATURE_RESOLUTION_RANGE;
-        request.serviceRequirements = FeaturesService.SERVICE_REQUIREMENTS_DEFAULT;
-        request.overrides = new HashSet<>();
-        request.requirements = new HashMap<>();
-        request.stateChanges = new HashMap<>();
-        request.options = EnumSet.noneOf(FeaturesService.Option.class);
-        return request;
-    }
-
-    private String toString(Collection<String> collection) {
-        StringBuilder sb = new StringBuilder();
-        sb.append("{\n");
-        for (String s : collection) {
-            sb.append("\t").append(s).append("\n");
-        }
-        sb.append("}");
-        return sb.toString();
-    }
-
-    private Bundle getSystemBundle(Map<String, Map<VersionRange, Map<String, String>>> metadata) throws Exception {
-        URL configPropURL;
-        if (configuration != null) {
-            configPropURL = new URL(configuration);
-        } else {
-            Artifact karafDistro = project.getArtifactMap().get(distribution);
-            if (karafDistro == null) {
-                throw new MojoFailureException("The karaf distribution " + distribution + " is not a dependency");
-            }
-            if ("kar".equals(karafDistro.getType()) && distDir == null) {
-                distDir = "resources";
-            }
-            String dir = distDir;
-            if (dir == null) {
-                dir = karafDistro.getArtifactId() + "-" + karafDistro.getBaseVersion();
-            }
-            configPropURL = new URL("jar:file:" + karafDistro.getFile() + "!/" + dir + "/etc/config.properties");
-        }
-        org.apache.felix.utils.properties.Properties configProps = PropertiesLoader.loadPropertiesFile(configPropURL, true);
-//        copySystemProperties(configProps);
-        if (javase == null) {
-            configProps.put("java.specification.version", System.getProperty("java.specification.version"));
-        } else {
-            configProps.put("java.specification.version", javase);
-        }
-        configProps.substitute();
-
-        Attributes attributes = new Attributes();
-        attributes.putValue(Constants.BUNDLE_MANIFESTVERSION, "2");
-        attributes.putValue(Constants.BUNDLE_SYMBOLICNAME, "system.bundle");
-        attributes.putValue(Constants.BUNDLE_VERSION, "0.0.0");
-
-        String exportPackages = configProps.getProperty("org.osgi.framework.system.packages");
-        if (configProps.containsKey("org.osgi.framework.system.packages.extra")) {
-            exportPackages += "," + configProps.getProperty("org.osgi.framework.system.packages.extra");
-        }
-        exportPackages = exportPackages.replaceAll(",\\s*,", ",");
-        attributes.putValue(Constants.EXPORT_PACKAGE, exportPackages);
-
-        String systemCaps = configProps.getProperty("org.osgi.framework.system.capabilities");
-        attributes.putValue(Constants.PROVIDE_CAPABILITY, systemCaps);
-
-        // TODO: support metadata overrides on system bundle
-//        attributes = DeploymentBuilder.overrideAttributes(attributes, metadata);
-
-        final Hashtable<String, String> headers = new Hashtable<>();
-        for (Map.Entry attr : attributes.entrySet()) {
-            headers.put(attr.getKey().toString(), attr.getValue().toString());
-        }
-
-        final FakeBundleRevision resource = new FakeBundleRevision(headers, "system-bundle", 0l);
-        return resource.getBundle();
-    }
-
-
-    public static Map<String, Features> loadRepositories(DownloadManager manager, Set<String> uris) throws Exception {
-        final Map<String, Features> loaded = new HashMap<>();
-        final Downloader downloader = manager.createDownloader();
-        for (String repository : uris) {
-            downloader.download(repository, new DownloadCallback() {
-                @Override
-                public void downloaded(final StreamProvider provider) throws Exception {
-                    try (InputStream is = provider.open()) {
-                        Features featuresModel = JaxbUtil.unmarshal(provider.getUrl(), is, false);
-                        synchronized (loaded) {
-                            loaded.put(provider.getUrl(), featuresModel);
-                            for (String innerRepository : featuresModel.getRepository()) {
-                                downloader.download(innerRepository, this);
-                            }
-                        }
-                    }
-                }
-            });
-        }
-        downloader.await();
-        return loaded;
-    }
-
-    public static Set<String> getPrefixedProperties(Map<String, String> properties, String prefix) {
-        Set<String> result = new HashSet<>();
-        for (String key : properties.keySet()) {
-            if (key.startsWith(prefix)) {
-                String url = properties.get(key);
-                if (url == null || url.length() == 0) {
-                    url = key.substring(prefix.length());
-                }
-                if (!url.isEmpty()) {
-                    result.add(url);
-                }
-            }
-        }
-        return result;
-    }
-
-    public static Map<String, Map<VersionRange, Map<String, String>>> getMetadata(Map<String, String> properties, String prefix) {
-        Map<String, Map<VersionRange, Map<String, String>>> result = new HashMap<>();
-        for (String key : properties.keySet()) {
-            if (key.startsWith(prefix)) {
-                String val = properties.get(key);
-                key = key.substring(prefix.length());
-                String[] parts = key.split("#");
-                if (parts.length == 3) {
-                    Map<VersionRange, Map<String, String>> ranges = result.get(parts[0]);
-                    if (ranges == null) {
-                        ranges = new HashMap<>();
-                        result.put(parts[0], ranges);
-                    }
-                    String version = parts[1];
-                    if (!version.startsWith("[") && !version.startsWith("(")) {
-                        Processor processor = new Processor();
-                        processor.setProperty("@", VersionTable.getVersion(version).toString());
-                        Macro macro = new Macro(processor);
-                        version = macro.process("${range;[==,=+)}");
-                    }
-                    VersionRange range = new VersionRange(version);
-                    Map<String, String> hdrs = ranges.get(range);
-                    if (hdrs == null) {
-                        hdrs = new HashMap<>();
-                        ranges.put(range, hdrs);
-                    }
-                    hdrs.put(parts[2], val);
-                }
-            }
-        }
-        return result;
-    }
-
-    public static class FakeBundleRevision extends ResourceImpl implements BundleRevision, BundleStartLevel {
-
-        private final Bundle bundle;
-        private int startLevel;
-
-        public FakeBundleRevision(final Hashtable<String, String> headers, final String location, final long bundleId) throws BundleException {
-            ResourceBuilder.build(this, location, headers);
-            this.bundle = (Bundle) Proxy.newProxyInstance(
-                    getClass().getClassLoader(),
-                    new Class[] { Bundle.class },
-                    new InvocationHandler() {
-                        @Override
-                        public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
-                            if (method.getName().equals("hashCode")) {
-                                return FakeBundleRevision.this.hashCode();
-                            } else if (method.getName().equals("equals")) {
-                                return proxy == args[0];
-                            } else if (method.getName().equals("toString")) {
-                                return bundle.getSymbolicName() + "/" + bundle.getVersion();
-                            } else if (method.getName().equals("adapt")) {
-                                if (args.length == 1 && args[0] == BundleRevision.class) {
-                                    return FakeBundleRevision.this;
-                                } else if (args.length == 1 && args[0] == BundleStartLevel.class) {
-                                    return FakeBundleRevision.this;
-                                }
-                            } else if (method.getName().equals("getHeaders")) {
-                                return headers;
-                            } else if (method.getName().equals("getBundleId")) {
-                                return bundleId;
-                            } else if (method.getName().equals("getLocation")) {
-                                return location;
-                            } else if (method.getName().equals("getSymbolicName")) {
-                                String name = headers.get(Constants.BUNDLE_SYMBOLICNAME);
-                                int idx = name.indexOf(';');
-                                if (idx > 0) {
-                                    name = name.substring(0, idx).trim();
-                                }
-                                return name;
-                            } else if (method.getName().equals("getVersion")) {
-                                return new Version(headers.get(Constants.BUNDLE_VERSION));
-                            } else if (method.getName().equals("getState")) {
-                                return Bundle.ACTIVE;
-                            } else if (method.getName().equals("getLastModified")) {
-                                return 0l;
-                            }
-                            return null;
-                        }
-                    });
-        }
-
-        @Override
-        public int getStartLevel() {
-            return startLevel;
-        }
-
-        @Override
-        public void setStartLevel(int startLevel) {
-            this.startLevel = startLevel;
-        }
-
-        @Override
-        public boolean isPersistentlyStarted() {
-            return true;
-        }
-
-        @Override
-        public boolean isActivationPolicyUsed() {
-            return false;
-        }
-
-        @Override
-        public String getSymbolicName() {
-            return bundle.getSymbolicName();
-        }
-
-        @Override
-        public Version getVersion() {
-            return bundle.getVersion();
-        }
-
-        @Override
-        public List<BundleCapability> getDeclaredCapabilities(String namespace) {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public List<BundleRequirement> getDeclaredRequirements(String namespace) {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public int getTypes() {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public BundleWiring getWiring() {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public Bundle getBundle() {
-            return bundle;
-        }
-    }
-
-    public static class DummyDeployCallback implements Deployer.DeployCallback {
-
-        private final Bundle systemBundle;
-        private final Deployer.DeploymentState dstate;
-        private final AtomicLong nextBundleId = new AtomicLong(0);
-
-        public DummyDeployCallback(Bundle sysBundle, Collection<Features> repositories) throws Exception {
-            systemBundle = sysBundle;
-            dstate = new Deployer.DeploymentState();
-            dstate.bundles = new HashMap<>();
-            dstate.features = new HashMap<>();
-            dstate.bundlesPerRegion = new HashMap<>();
-            dstate.filtersPerRegion = new HashMap<>();
-            dstate.state = new State();
-
-            MapUtils.addToMapSet(dstate.bundlesPerRegion, FeaturesService.ROOT_REGION, 0l);
-            dstate.bundles.put(0l, systemBundle);
-            for (Features repo : repositories) {
-                for (Feature f : repo.getFeature()) {
-                    dstate.features.put(f.getId(), f);
-                }
-            }
-        }
-
-        public Deployer.DeploymentState getDeploymentState() {
-            return dstate;
-        }
-
-        @Override
-        public void print(String message, boolean verbose) {
-        }
-
-        @Override
-        public void saveState(State state) {
-            dstate.state.replace(state);
-        }
-
-        @Override
-        public void persistResolveRequest(Deployer.DeploymentRequest request) throws IOException {
-        }
-
-        @Override
-        public void installFeature(org.apache.karaf.features.Feature feature) throws IOException, InvalidSyntaxException {
-        }
-
-        @Override
-        public void callListeners(FeatureEvent featureEvent) {
-        }
-
-        @Override
-        public Bundle installBundle(String region, String uri, InputStream is) throws BundleException {
-            try {
-                Hashtable<String, String> headers = new Hashtable<>();
-                ZipInputStream zis = new ZipInputStream(is);
-                ZipEntry entry;
-                while ((entry = zis.getNextEntry()) != null) {
-                    if (MANIFEST_NAME.equals(entry.getName())) {
-                        Attributes attributes = new Manifest(zis).getMainAttributes();
-                        for (Map.Entry attr : attributes.entrySet()) {
-                            headers.put(attr.getKey().toString(), attr.getValue().toString());
-                        }
-                    }
-                }
-                BundleRevision revision = new FakeBundleRevision(headers, uri, nextBundleId.incrementAndGet());
-                Bundle bundle = revision.getBundle();
-                MapUtils.addToMapSet(dstate.bundlesPerRegion, region, bundle.getBundleId());
-                dstate.bundles.put(bundle.getBundleId(), bundle);
-                return bundle;
-            } catch (IOException e) {
-                throw new BundleException("Unable to install bundle", e);
-            }
-        }
-
-        @Override
-        public void updateBundle(Bundle bundle, String uri, InputStream is) throws BundleException {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void uninstall(Bundle bundle) throws BundleException {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void startBundle(Bundle bundle) throws BundleException {
-        }
-
-        @Override
-        public void stopBundle(Bundle bundle, int options) throws BundleException {
-        }
-
-        @Override
-        public void setBundleStartLevel(Bundle bundle, int startLevel) {
-        }
-
-        @Override
-        public void refreshPackages(Collection<Bundle> bundles) throws InterruptedException {
-        }
-
-        @Override
-        public void resolveBundles(Set<Bundle> bundles, Map<Resource, List<Wire>> wiring, Map<Resource, Bundle> resToBnd) {
-        }
-
-        @Override
-        public void replaceDigraph(Map<String, Map<String, Map<String, Set<String>>>> policies, Map<String, Set<Long>> bundles) throws BundleException, InvalidSyntaxException {
-        }
-    }
-
-    public class MavenResolverLog extends org.apache.felix.resolver.Logger {
-
-        public MavenResolverLog() {
-            super(Logger.LOG_DEBUG);
-        }
-
-        @Override
-        protected void doLog(int level, String msg, Throwable throwable) {
-            switch (level) {
-            case LOG_DEBUG:
-                getLog().debug(msg, throwable);
-                break;
-            case LOG_INFO:
-                getLog().info(msg, throwable);
-                break;
-            case LOG_WARNING:
-                getLog().warn(msg, throwable);
-                break;
-            case LOG_ERROR:
-                getLog().error(msg, throwable);
-                break;
-            }
-        }
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/client/ClientMojo.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/client/ClientMojo.java
deleted file mode 100644 (file)
index 930be6c..0000000
+++ /dev/null
@@ -1,258 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.tooling.client;
-
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.sshd.ClientChannel;
-import org.apache.sshd.ClientSession;
-import org.apache.sshd.SshClient;
-import org.apache.sshd.agent.SshAgent;
-import org.apache.sshd.agent.local.AgentImpl;
-import org.apache.sshd.agent.local.LocalAgentFactory;
-import org.apache.sshd.client.UserInteraction;
-import org.apache.sshd.client.future.ConnectFuture;
-import org.apache.sshd.common.RuntimeSshException;
-import org.apache.sshd.common.keyprovider.FileKeyPairProvider;
-
-import org.fusesource.jansi.Ansi;
-import org.fusesource.jansi.Ansi.Color;
-import org.fusesource.jansi.AnsiConsole;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.Console;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOError;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.URL;
-import java.security.KeyPair;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-/**
- * Client MOJO to deployWithSsh command on a running Karaf instance
- */
-@Mojo(name = "client", defaultPhase = LifecyclePhase.PACKAGE, requiresDependencyResolution = ResolutionScope.RUNTIME, threadSafe = true)
-public class ClientMojo extends AbstractMojo {
-
-    @Parameter(defaultValue = "8101")
-    private int port;
-
-    @Parameter(defaultValue = "localhost")
-    private String host;
-
-    @Parameter(defaultValue = "karaf")
-    private String user;
-
-    @Parameter(defaultValue = "karaf")
-    private String password;
-
-    @Parameter(defaultValue = "0")
-    private int attempts;
-
-    @Parameter(defaultValue = "2")
-    private int delay;
-
-    @Parameter
-    private List<String> commands;
-
-    @Parameter
-    private List<File> scripts;
-
-    @Parameter
-    private File keyFile;
-
-    private static final String NEW_LINE = System.getProperty("line.separator");
-
-    public void execute() throws MojoExecutionException {
-        // Add commands from scripts to already declared commands
-        if (scripts != null) {
-            for (File script : scripts) {
-                try (BufferedReader br = new BufferedReader(new FileReader(script))) {
-                    String line;
-                    while ((line = br.readLine()) != null) {
-                        line = line.trim();
-                        if (line.isEmpty()) {
-                            continue;
-                        }
-                        commands.add(line);
-                    }
-                } catch (Exception e) {
-                    throw new MojoExecutionException(e, e.getMessage(), e.toString());
-                }
-            }
-        }
-
-        if (commands == null || commands.isEmpty()) {
-            getLog().warn("No OSGi command was specified");
-            return;
-        }
-
-        StringWriter sw = new StringWriter();
-        PrintWriter pw = new PrintWriter(sw, true);
-        for (String cmd : commands) {
-            getLog().info(cmd);
-            pw.println(cmd);
-        }
-        execute(sw.toString());
-    }
-
-    protected void execute(String cmd) throws MojoExecutionException {
-        SshClient client = null;
-        try {
-            final Console console = System.console();
-            client = SshClient.setUpDefaultClient();
-            setupAgent(user, keyFile, client);
-
-            client.setUserInteraction( new UserInteraction() {
-                public void welcome(String banner) {
-                    console.printf(banner);
-                }
-
-                public String[] interactive(String destination, String name, String instruction, String[] prompt, boolean[] echo)
-                {
-                    String[] answers = new String[prompt.length];
-                    try {
-                        for (int i = 0; i < prompt.length; i++) {
-                            if (console != null) {
-                                if (echo[i]) {
-                                    answers[i] = console.readLine(prompt[i] + " ");
-                                }
-                                else {
-                                    answers[i] = new String( console.readPassword(prompt[i] + " "));
-                                }
-                            }
-                        }
-                    }
-                    catch (IOError e) {
-                    }
-                    return answers;
-                }
-            });
-            client.start();
-            if (console != null) {
-                console.printf("Logging in as %s\n", user);
-            }
-            ClientSession session = connect(client);
-            if (password != null) {
-                session.addPasswordIdentity(password);
-            }
-            session.auth().verify();
-
-            final ClientChannel channel = session.createChannel("exec", cmd.concat(NEW_LINE));
-            channel.setIn(new ByteArrayInputStream(new byte[0]));
-            final ByteArrayOutputStream sout = new ByteArrayOutputStream();
-            final ByteArrayOutputStream serr = new ByteArrayOutputStream();
-            channel.setOut( AnsiConsole.wrapOutputStream(sout));
-            channel.setErr( AnsiConsole.wrapOutputStream(serr));
-            channel.open();
-            channel.waitFor(ClientChannel.CLOSED, 0);
-
-            sout.writeTo(System.out);
-            serr.writeTo(System.err);
-
-            // Expects issue KARAF-2623 is fixed
-            final boolean isError = (channel.getExitStatus() != null && channel.getExitStatus().intValue() != 0);
-            if (isError) {
-                final String errorMarker = Ansi.ansi().fg(Color.RED).toString();
-                final int fromIndex = sout.toString().indexOf(errorMarker) + errorMarker.length();
-                final int toIndex = sout.toString().lastIndexOf(Ansi.ansi().fg(Color.DEFAULT ).toString());
-                throw new MojoExecutionException(NEW_LINE + sout.toString().substring(fromIndex, toIndex));
-            }
-        }
-        catch (MojoExecutionException e) {
-            throw e;
-        }
-        catch (Throwable t) {
-            throw new MojoExecutionException(t, t.getMessage(), t.toString());
-        }
-        finally {
-            try {
-                client.stop();
-            }
-            catch (Throwable t) {
-                throw new MojoExecutionException(t, t.getMessage(), t.toString());
-            }
-        }
-    }
-
-    private void setupAgent(String user, File keyFile, SshClient client) {
-        URL builtInPrivateKey = ClientMojo.class.getClassLoader().getResource("karaf.key");
-        SshAgent agent = startAgent(user, builtInPrivateKey, keyFile);
-        client.setAgentFactory( new LocalAgentFactory(agent));
-        client.getProperties().put(SshAgent.SSH_AUTHSOCKET_ENV_NAME, "local");
-    }
-
-    private SshAgent startAgent(String user, URL privateKeyUrl, File keyFile) {
-        try (InputStream is = privateKeyUrl.openStream())
-        {
-            SshAgent agent = new AgentImpl();
-            ObjectInputStream r = new ObjectInputStream(is);
-            KeyPair keyPair = (KeyPair) r.readObject();
-            is.close();
-            agent.addIdentity(keyPair, user);
-            if (keyFile != null) {
-                String[] keyFiles = new String[] { keyFile.getAbsolutePath() };
-                FileKeyPairProvider fileKeyPairProvider = new FileKeyPairProvider(keyFiles);
-                for (KeyPair key : fileKeyPairProvider.loadKeys()) {
-                    agent.addIdentity(key, user);
-                }
-            }
-            return agent;
-        }
-        catch (Throwable e) {
-            getLog().error("Error starting ssh agent for: " + e.getMessage(), e);
-            return null;
-        }
-    }
-
-    private ClientSession connect(SshClient client) throws IOException, InterruptedException {
-        int retries = 0;
-        ClientSession session = null;
-        do {
-            final ConnectFuture future = client.connect(user, host, port);
-            future.await();
-            try {
-                session = future.getSession();
-            }
-            catch (RuntimeSshException ex) {
-                if (retries++ < attempts) {
-                    Thread.sleep(TimeUnit.SECONDS.toMillis(delay));
-                    getLog().info("retrying (attempt " + retries + ") ...");
-                }
-                else {
-                    throw ex;
-                }
-            }
-        } while (session == null);
-        return session;
-    }
-
-}
-
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/client/DeployMojo.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/client/DeployMojo.java
deleted file mode 100644 (file)
index 308ec0e..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.tooling.client;
-
-import org.apache.karaf.tooling.utils.MojoSupport;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.sshd.ClientChannel;
-import org.apache.sshd.ClientSession;
-import org.apache.sshd.SshClient;
-import org.apache.sshd.agent.SshAgent;
-import org.apache.sshd.agent.local.AgentImpl;
-import org.apache.sshd.agent.local.LocalAgentFactory;
-import org.apache.sshd.client.UserInteraction;
-import org.apache.sshd.client.future.ConnectFuture;
-import org.apache.sshd.common.RuntimeSshException;
-import org.apache.sshd.common.keyprovider.FileKeyPairProvider;
-
-import org.fusesource.jansi.Ansi;
-import org.fusesource.jansi.Ansi.Color;
-import org.fusesource.jansi.AnsiConsole;
-
-import javax.management.MBeanServerConnection;
-import javax.management.ObjectName;
-import javax.management.remote.JMXConnector;
-import javax.management.remote.JMXConnectorFactory;
-import javax.management.remote.JMXServiceURL;
-import javax.management.remote.MBeanServerForwarder;
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.Console;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOError;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.URL;
-import java.security.KeyPair;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-/**
- * Deploy MOJO to deploy an artifact remotely on a running Karaf instance, using ssh or JMX
- */
-@Mojo(name = "deploy", defaultPhase = LifecyclePhase.PACKAGE, requiresDependencyResolution = ResolutionScope.RUNTIME, threadSafe = true)
-public class DeployMojo extends MojoSupport {
-
-    @Parameter(defaultValue = "8101")
-    private int port;
-
-    @Parameter(defaultValue = "localhost")
-    private String host;
-
-    @Parameter(defaultValue = "karaf")
-    private String user;
-
-    @Parameter(defaultValue = "karaf")
-    private String password;
-
-    @Parameter(defaultValue = "karaf-root")
-    private String instance = "karaf-root";
-
-    @Parameter(defaultValue = "0")
-    private int attempts;
-
-    @Parameter(defaultValue = "2")
-    private int delay;
-
-    @Parameter(defaultValue = "true")
-    private boolean useSsh = true;
-
-    @Parameter(defaultValue = "true")
-    private boolean useProjectArtifact = true;
-
-    @Parameter
-    List<String> artifactLocations;
-
-    @Parameter
-    private File keyFile;
-
-    private static final String NEW_LINE = System.getProperty("line.separator");
-
-    public void execute() throws MojoExecutionException {
-        List<String> artifacts = new ArrayList<>();
-        if (useProjectArtifact) {
-            Artifact projectArtifact = project.getArtifact();
-            artifacts.add("mvn:" + projectArtifact.getGroupId() + "/" + projectArtifact.getArtifactId() + "/" + projectArtifact.getVersion());
-        }
-        artifacts.addAll(artifactLocations);
-        if (useSsh)
-            deployWithSsh(artifactLocations);
-        else deployWithJmx(artifactLocations);
-    }
-
-    protected void deployWithJmx(List<String> locations) throws MojoExecutionException {
-        try {
-            JMXServiceURL jmxServiceURL = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + host + ":" + port + "/" + instance);
-            ArrayList<String> list = new ArrayList<>();
-            if (user != null)
-                list.add(user);
-            if (password != null)
-                list.add(password);
-            HashMap env = new HashMap();
-            String[] credentials = list.toArray(new String[list.size()]);
-            env.put(JMXConnector.CREDENTIALS, credentials);
-            JMXConnector jmxConnector = null;
-            if (credentials.length > 0)
-                jmxConnector = JMXConnectorFactory.connect(jmxServiceURL, env);
-            else jmxConnector = JMXConnectorFactory.connect(jmxServiceURL);
-            MBeanServerConnection mBeanServerConnection = jmxConnector.getMBeanServerConnection();
-            for (String location : locations) {
-                mBeanServerConnection.invoke(new ObjectName("org.apache.karaf:type=bundle,name=*"), "install", new Object[]{ location, true }, new String[]{ "java.lang.String", "boolean" });
-            }
-        } catch (Exception e) {
-            throw new MojoExecutionException("Can't deploy using JMX", e);
-        }
-    }
-
-    protected void deployWithSsh(List<String> locations) throws MojoExecutionException {
-        SshClient client = null;
-        try {
-            final Console console = System.console();
-            client = SshClient.setUpDefaultClient();
-            setupAgent(user, keyFile, client);
-
-            client.setUserInteraction( new UserInteraction() {
-                public void welcome(String banner) {
-                    console.printf(banner);
-                }
-
-                public String[] interactive(String destination, String name, String instruction, String[] prompt, boolean[] echo)
-                {
-                    String[] answers = new String[prompt.length];
-                    try {
-                        for (int i = 0; i < prompt.length; i++) {
-                            if (console != null) {
-                                if (echo[i]) {
-                                    answers[i] = console.readLine(prompt[i] + " ");
-                                }
-                                else {
-                                    answers[i] = new String( console.readPassword(prompt[i] + " "));
-                                }
-                            }
-                        }
-                    }
-                    catch (IOError e) {
-                    }
-                    return answers;
-                }
-            });
-            client.start();
-            if (console != null) {
-                console.printf("Logging in as %s\n", user);
-            }
-            ClientSession session = connect(client);
-            if (password != null) {
-                session.addPasswordIdentity(password);
-            }
-            session.auth().verify();
-
-            StringWriter writer = new StringWriter();
-            PrintWriter print = new PrintWriter(writer, true);
-            for (String location : locations) {
-                print.println("bundle:install -s " + location);
-            }
-
-            final ClientChannel channel = session.createChannel("exec", print.toString().concat(NEW_LINE));
-            channel.setIn(new ByteArrayInputStream(new byte[0]));
-            final ByteArrayOutputStream sout = new ByteArrayOutputStream();
-            final ByteArrayOutputStream serr = new ByteArrayOutputStream();
-            channel.setOut( AnsiConsole.wrapOutputStream(sout));
-            channel.setErr( AnsiConsole.wrapOutputStream(serr));
-            channel.open();
-            channel.waitFor(ClientChannel.CLOSED, 0);
-
-            sout.writeTo(System.out);
-            serr.writeTo(System.err);
-
-            // Expects issue KARAF-2623 is fixed
-            final boolean isError = (channel.getExitStatus() != null && channel.getExitStatus().intValue() != 0);
-            if (isError) {
-                final String errorMarker = Ansi.ansi().fg(Color.RED).toString();
-                final int fromIndex = sout.toString().indexOf(errorMarker) + errorMarker.length();
-                final int toIndex = sout.toString().lastIndexOf(Ansi.ansi().fg(Color.DEFAULT ).toString());
-                throw new MojoExecutionException(NEW_LINE + sout.toString().substring(fromIndex, toIndex));
-            }
-        }
-        catch (MojoExecutionException e) {
-            throw e;
-        }
-        catch (Throwable t) {
-            throw new MojoExecutionException(t, t.getMessage(), t.toString());
-        }
-        finally {
-            try {
-                client.stop();
-            }
-            catch (Throwable t) {
-                throw new MojoExecutionException(t, t.getMessage(), t.toString());
-            }
-        }
-    }
-
-    private void setupAgent(String user, File keyFile, SshClient client) {
-        URL builtInPrivateKey = ClientMojo.class.getClassLoader().getResource("karaf.key");
-        SshAgent agent = startAgent(user, builtInPrivateKey, keyFile);
-        client.setAgentFactory( new LocalAgentFactory(agent));
-        client.getProperties().put(SshAgent.SSH_AUTHSOCKET_ENV_NAME, "local");
-    }
-
-    private SshAgent startAgent(String user, URL privateKeyUrl, File keyFile) {
-        try (InputStream is = privateKeyUrl.openStream())
-        {
-            SshAgent agent = new AgentImpl();
-            ObjectInputStream r = new ObjectInputStream(is);
-            KeyPair keyPair = (KeyPair) r.readObject();
-            is.close();
-            agent.addIdentity(keyPair, user);
-            if (keyFile != null) {
-                String[] keyFiles = new String[] { keyFile.getAbsolutePath() };
-                FileKeyPairProvider fileKeyPairProvider = new FileKeyPairProvider(keyFiles);
-                for (KeyPair key : fileKeyPairProvider.loadKeys()) {
-                    agent.addIdentity(key, user);
-                }
-            }
-            return agent;
-        }
-        catch (Throwable e) {
-            getLog().error("Error starting ssh agent for: " + e.getMessage(), e);
-            return null;
-        }
-    }
-
-    private ClientSession connect(SshClient client) throws IOException, InterruptedException {
-        int retries = 0;
-        ClientSession session = null;
-        do {
-            final ConnectFuture future = client.connect(user, host, port);
-            future.await();
-            try {
-                session = future.getSession();
-            }
-            catch (RuntimeSshException ex) {
-                if (retries++ < attempts) {
-                    Thread.sleep(TimeUnit.SECONDS.toMillis(delay));
-                    getLog().info("retrying (attempt " + retries + ") ...");
-                }
-                else {
-                    throw ex;
-                }
-            }
-        } while (session == null);
-        return session;
-    }
-
-}
-
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/AbstractCommandHelpPrinter.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/AbstractCommandHelpPrinter.java
deleted file mode 100644 (file)
index dee1eb9..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling.commands;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Field;
-
-import org.apache.karaf.shell.api.action.Action;
-import org.apache.karaf.shell.api.action.Argument;
-
-public abstract class AbstractCommandHelpPrinter implements CommandHelpPrinter {
-
-    protected Argument replaceDefaultArgument(Field field, Argument argument) {
-        if (Argument.DEFAULT.equals(argument.name())) {
-            final Argument delegate = argument;
-            final String name = field.getName();
-            argument = new Argument() {
-                public String name() {
-                    return name;
-                }
-
-                public String description() {
-                    return delegate.description();
-                }
-
-                public boolean required() {
-                    return delegate.required();
-                }
-
-                public int index() {
-                    return delegate.index();
-                }
-
-                public boolean multiValued() {
-                    return delegate.multiValued();
-                }
-
-                public String valueToShowInHelp() {
-                    return delegate.valueToShowInHelp();
-                }
-
-                public Class<? extends Annotation> annotationType() {
-                    return delegate.annotationType();
-                }
-            };
-        }
-        return argument;
-    }
-
-    protected Object getDefaultValue(Action action, Field field) {
-        try {
-            field.setAccessible(true);
-            return field.get(action);
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
-    protected String getDefaultValueString(Object o) {
-        if (o != null
-                && (!(o instanceof Boolean) || ((Boolean) o))
-                && (!(o instanceof Number) || ((Number) o).doubleValue() != 0.0)) {
-            return o.toString();
-        } else {
-            return null;
-        }
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/AsciiDoctorCommandHelpPrinter.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/AsciiDoctorCommandHelpPrinter.java
deleted file mode 100644 (file)
index c2699b8..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling.commands;
-
-import org.apache.karaf.shell.api.action.Action;
-import org.apache.karaf.shell.api.action.Argument;
-import org.apache.karaf.shell.api.action.Command;
-import org.apache.karaf.shell.api.action.Option;
-import org.apache.karaf.shell.impl.action.command.HelpOption;
-
-import java.io.PrintStream;
-import java.lang.reflect.Field;
-import java.util.*;
-
-/**
- * Prints documentation in asciidoc syntax
- */
-public class AsciiDoctorCommandHelpPrinter extends AbstractCommandHelpPrinter {
-
-    @Override
-    public void printHelp(Action action, PrintStream out, boolean includeHelpOption) {
-        Command command = action.getClass().getAnnotation(Command.class);
-        Set<Option> options = new HashSet<>();
-        List<Argument> arguments = new ArrayList<Argument>();
-        Map<Argument, Field> argFields = new HashMap<>();
-        Map<Option, Field> optFields = new HashMap<>();
-        for (Class<?> type = action.getClass(); type != null; type = type.getSuperclass()) {
-            for (Field field : type.getDeclaredFields()) {
-                Option option = field.getAnnotation(Option.class);
-                if (option != null) {
-                    options.add(option);
-                }
-
-                Argument argument = field.getAnnotation(Argument.class);
-                if (argument != null) {
-                    argument = replaceDefaultArgument(field, argument);
-                    argFields.put(argument, field);
-                    int index = argument.index();
-                    while (arguments.size() <= index) {
-                        arguments.add(null);
-                    }
-                    if (arguments.get(index) != null) {
-                        throw new IllegalArgumentException("Duplicate argument index: " + index + " on Action " + action.getClass().getName());
-                    }
-                    arguments.set(index, argument);
-                }
-            }
-        }
-        if (includeHelpOption)
-            options.add(HelpOption.HELP);
-
-        out.println("= " + command.scope() + ":" + command.name());
-        out.println();
-
-        out.println("== Description");
-        out.println();
-        out.println(command.description());
-        out.println();
-
-        StringBuffer syntax = new StringBuffer();
-        syntax.append(String.format("%s:%s", command.scope(), command.name()));
-        if (options.size() > 0) {
-            syntax.append(" [options]");
-        }
-        if (arguments.size() > 0) {
-            syntax.append(' ');
-            for (Argument argument : arguments) {
-                syntax.append(String.format(argument.required() ? "%s " : "[%s] ", argument.name()));
-            }
-        }
-        out.println("== Syntax");
-        out.println();
-        out.println(syntax.toString());
-        out.println();
-
-        if (arguments.size() > 0) {
-            out.println("== Arguments");
-            out.println();
-            out.println("|===");
-            out.println("|Name |Description");
-            for (Argument argument : arguments) {
-                String description = argument.description();
-                if (!argument.required()) {
-                    Object o = getDefaultValue(action, argFields.get(argument));
-                    String defaultValue = getDefaultValueString(o);
-                    if (defaultValue != null) {
-                        description += " (defaults to " + o.toString() + ")";
-                    }
-                }
-                out.println();
-                out.println("| " + argument.name());
-                out.println("| " + description);
-            }
-            out.println("|===");
-            out.println();
-        }
-        if (options.size() > 0) {
-            out.println("== Options");
-            out.println();
-            out.println("|===");
-            out.println("|Name |Description");
-            for (Option option : options) {
-                String opt = option.name();
-                String desc = option.description();
-                for (String alias : option.aliases()) {
-                    opt += ", " + alias;
-                }
-                Object o = getDefaultValue(action, optFields.get(option));
-                String defaultValue = getDefaultValueString(o);
-                if (defaultValue != null) {
-                    desc += " (defaults to " + defaultValue + ")";
-                }
-                out.println();
-                out.println("|" + opt);
-                out.println("|" + desc);
-            }
-            out.println("|===");
-            out.println();
-        }
-        if (command.detailedDescription().length() > 0) {
-            out.println("== Details");
-            out.println();
-            out.println(command.detailedDescription());
-        }
-        out.println();
-    }
-
-    @Override
-    public void printOverview(Map<String, Set<String>> commands, PrintStream writer) {
-        writer.println("= Commands");
-        writer.println();
-        for (String key : commands.keySet()) {
-            writer.println("== " + key);
-            writer.println();
-            for (String cmd : commands.get(key)) {
-                writer.println("* [" + key + ":" + cmd + "|" + key + "-" + cmd + "]");
-            }
-            writer.println();
-        }
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/CommandHelpPrinter.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/CommandHelpPrinter.java
deleted file mode 100644 (file)
index e5915d5..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling.commands;
-
-import java.io.PrintStream;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.karaf.shell.api.action.Action;
-
-public interface CommandHelpPrinter {
-
-    /**
-     * Print help for a single action to the out stream
-     * 
-     * @param action
-     * @param out stream to write to
-     * @param includeHelpOption include the help option in the doc
-     */
-    void printHelp(Action action, PrintStream out, boolean includeHelpOption);
-    
-    /**
-     * Print the overview of all given commands to the out stream 
-     * 
-     * @param commands
-     * @param out
-     */
-    void printOverview(Map<String, Set<String>> commands, PrintStream out);
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/DocBookCommandHelpPrinter.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/DocBookCommandHelpPrinter.java
deleted file mode 100644 (file)
index 7d729b6..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling.commands;
-
-import java.io.PrintStream;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.karaf.shell.api.action.Action;
-import org.apache.karaf.shell.api.action.Argument;
-import org.apache.karaf.shell.api.action.Command;
-import org.apache.karaf.shell.api.action.Option;
-import org.apache.karaf.shell.impl.action.command.HelpOption;
-
-/**
- * Prints documentation in docbook syntax
- */
-public class DocBookCommandHelpPrinter extends AbstractCommandHelpPrinter {
-
-    @Override
-    public void printHelp(Action action, PrintStream out, boolean includeHelpOption) {
-        Command command = action.getClass().getAnnotation(Command.class);
-        Set<Option> options = new HashSet<>();
-        List<Argument> arguments = new ArrayList<Argument>();
-        Map<Argument, Field> argFields = new HashMap<>();
-        Map<Option, Field> optFields = new HashMap<>();
-        for (Class<?> type = action.getClass(); type != null; type = type.getSuperclass()) {
-            for (Field field : type.getDeclaredFields()) {
-                Option option = field.getAnnotation(Option.class);
-                if (option != null) {
-                    options.add(option);
-                }
-
-                Argument argument = field.getAnnotation(Argument.class);
-                if (argument != null) {
-                    argument = replaceDefaultArgument(field, argument);
-                    argFields.put(argument, field);
-                    int index = argument.index();
-                    while (arguments.size() <= index) {
-                        arguments.add(null);
-                    }
-                    if (arguments.get(index) != null) {
-                        throw new IllegalArgumentException("Duplicate argument index: " + index + " on Action " + action.getClass().getName());
-                    }
-                    arguments.set(index, argument);
-                }
-            }
-        }
-        if (includeHelpOption)
-            options.add(HelpOption.HELP);
-
-        out.println("<section>");
-        out.println("  <title>" + command.scope() + ":" + command.name() + "</title>");
-        out.println("  <section>");
-        out.println("    <title>Description</title>");
-        out.println("    <para>");
-        out.println(command.description());
-        out.println("    </para>");
-        out.println("  </section>");
-
-        StringBuffer syntax = new StringBuffer();
-        syntax.append(String.format("%s:%s", command.scope(), command.name()));
-        if (options.size() > 0) {
-            syntax.append(" [options]");
-        }
-        if (arguments.size() > 0) {
-            syntax.append(' ');
-            for (Argument argument : arguments) {
-                syntax.append(String.format(argument.required() ? "%s " : "[%s] ", argument.name()));
-            }
-        }
-        out.println("  <section>");
-        out.println("    <title>Syntax</title>");
-        out.println("    <para>");
-        out.println(syntax.toString());
-        out.println("    </para>");
-        out.println("  </section>");
-
-        if (arguments.size() > 0) {
-            out.println("  <section>");
-            out.println("    <title>Arguments</title>");
-            out.println("    <informaltable>");
-            for (Argument argument : arguments) {
-                out.println("    <tr>");
-                out.println("      <td>" + argument.name() + "</td>");
-                String description = argument.description();
-                if (!argument.required()) {
-                    if (argument.valueToShowInHelp() != null && argument.valueToShowInHelp().length() != 0) {
-                        if (Argument.DEFAULT_STRING.equals(argument.valueToShowInHelp())) {
-                            Object o = getDefaultValue(action, argFields.get(argument));
-                            String defaultValue = getDefaultValueString(o);
-                            if (defaultValue != null) {
-                                description += " (defaults to " + o.toString() + ")";
-                            }
-                        }
-                    }
-                }
-                out.println("      <td>" + description + "</td>");
-                out.println("    </tr>");
-            }
-
-            out.println("    </informaltable>");
-            out.println("  </section>");
-        }
-
-        if (options.size() > 0) {
-            out.println("  <section>");
-            out.println("    <title>Options</title>");
-            out.println("    <informaltable>");
-
-            for (Option option : options) {
-                String opt = option.name();
-                String description = option.description();
-                for (String alias : option.aliases()) {
-                    opt += ", " + alias;
-                }
-                Object o = getDefaultValue(action, optFields.get(option));
-                String defaultValue = getDefaultValueString(o);
-                if (defaultValue != null) {
-                    description += " (defaults to " + o.toString() + ")";
-                }
-                out.println("    <tr>");
-                out.println("      <td>" + opt + "</td>");
-                out.println("      <td>" + description + "</td>");
-                out.println("    </tr>");
-            }
-
-            out.println("    </informaltable>");
-            out.println("  </section>");
-        }
-
-        if (command.detailedDescription().length() > 0) {
-            out.println("  <section>");
-            out.println("    <title>Details</title>");
-            out.println("    <para>");
-            out.println(command.detailedDescription());
-            out.println("    </para>");
-            out.println("  </section>");
-        }
-        out.println("</section>");
-    }
-
-    @Override
-    public void printOverview(Map<String, Set<String>> commands, PrintStream writer) {
-        writer.println("<chapter id='commands' xmlns:xi=\"http://www.w3.org/2001/XInclude\">");
-        writer.println("  <title>Commands</title>");
-        writer.println("  <toc></toc>");
-        for (String key : commands.keySet()) {
-            writer.println("  <section id='commands-" + key + "'>");
-            writer.println("    <title>" + key + "</title>");
-            for (String cmd : commands.get(key)) {
-                writer.println("    <xi:include href='" + key + "-" + cmd + ".xml' parse='xml'/>");
-            }
-            writer.println("  </section>");
-        }
-        writer.println("</chapter>");
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/GenerateHelpMojo.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/GenerateHelpMojo.java
deleted file mode 100644 (file)
index c8a19d7..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.tooling.commands;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.PrintStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-import org.apache.karaf.shell.api.action.Action;
-import org.apache.karaf.shell.api.action.Command;
-import org.apache.maven.artifact.DependencyResolutionRequiredException;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.MavenProject;
-import org.apache.xbean.finder.ClassFinder;
-
-/**
- * Generates help documentation for Karaf commands
- */
-@Mojo(name = "commands-generate-help", defaultPhase = LifecyclePhase.GENERATE_RESOURCES,
-        requiresDependencyResolution = ResolutionScope.RUNTIME, inheritByDefault = false, threadSafe = true)
-public class GenerateHelpMojo extends AbstractMojo {
-
-    /**
-     * The output folder
-     */
-    @Parameter(defaultValue = "${project.build.directory}/docbkx/sources")
-    protected File targetFolder;
-
-    /**
-     * The output format
-     */
-    @Parameter(defaultValue = "docbx")
-    protected String format;
-
-    /**
-     * The classloader to use for loading the commands.
-     * Can be "project" or "plugin"
-     */
-    @Parameter(defaultValue = "project")
-    protected String classLoader;
-
-    /**
-     * Includes the --help command output in the generated documentation
-     */
-    @Parameter(defaultValue = "true")
-    protected boolean includeHelpOption;
-
-    /**
-     * The maven project.
-     */
-    @Parameter(defaultValue = "${project}")
-    protected MavenProject project;
-
-    private static final String FORMAT_CONF = "conf";
-    private static final String FORMAT_DOCBX = "docbx";
-    private static final String FORMAT_ASCIIDOC = "asciidoc";
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        try {
-            if (!FORMAT_DOCBX.equals(format) && !FORMAT_CONF.equals(format) && !FORMAT_ASCIIDOC.equals(format)) {
-                throw new MojoFailureException("Unsupported format: " + format + ". Supported formats are: asciidoc, docbx, or conf.");
-            }
-            if (!targetFolder.exists()) {
-                targetFolder.mkdirs();
-            }
-
-            ClassFinder finder = createFinder(classLoader);
-            List<Class<?>> classes = finder.findAnnotatedClasses(Command.class);
-            if (classes.isEmpty()) {
-                throw new MojoFailureException("No command found");
-            }
-
-            CommandHelpPrinter helpPrinter = null;
-            if (FORMAT_ASCIIDOC.equals(format)) {
-                helpPrinter = new AsciiDoctorCommandHelpPrinter();
-            }
-            if (FORMAT_CONF.equals(format)) {
-                helpPrinter = new UserConfCommandHelpPrinter();
-            }
-            if (FORMAT_DOCBX.equals(format)) {
-                helpPrinter = new DocBookCommandHelpPrinter();
-            }
-
-            Map<String, Set<String>> commands = new TreeMap<String, Set<String>>();
-
-            String commandSuffix = null;
-            if (FORMAT_ASCIIDOC.equals(format)) {
-                commandSuffix = "adoc";
-            }
-            if (FORMAT_CONF.equals(format)) {
-                commandSuffix = "conf";
-            }
-            if (FORMAT_DOCBX.equals(format)) {
-                commandSuffix = "xml";
-            }
-            for (Class<?> clazz : classes) {
-                try {
-                    Action action = (Action) clazz.newInstance();
-                    Command cmd = clazz.getAnnotation(Command.class);
-
-                    // skip the *-help command
-                    if (cmd.scope().equals("*")) continue;
-
-                    File output = new File(targetFolder, cmd.scope() + "-" + cmd.name() + "." + commandSuffix);
-                    FileOutputStream outStream = new FileOutputStream(output);
-                    PrintStream out = new PrintStream(outStream);
-                    helpPrinter.printHelp(action, out, includeHelpOption);
-                    out.close();
-                    outStream.close();
-
-                    Set<String> cmds = commands.get(cmd.scope());
-                    if (cmds == null) {
-                        cmds = new TreeSet<String>();
-                        commands.put(cmd.scope(), cmds);
-                    }
-                    cmds.add(cmd.name());
-                    getLog().info("Found command: " + cmd.scope() + ":" + cmd.name());
-                } catch (Exception e) {
-                    getLog().warn("Unable to write help for " + clazz.getName(), e);
-                }
-            }
-
-            String overViewSuffix = null;
-            if (FORMAT_ASCIIDOC.equals(format)) {
-                overViewSuffix = "adoc";
-            }
-            if (FORMAT_CONF.equals(format)) {
-                overViewSuffix = "conf";
-            }
-            if (FORMAT_DOCBX.equals(format)) {
-                overViewSuffix = "xml";
-            }
-            PrintStream writer = new PrintStream(new FileOutputStream(new File(targetFolder, "commands." + overViewSuffix)));
-            helpPrinter.printOverview(commands, writer);
-            writer.close();
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error building commands help", e);
-        }
-    }
-
-    private ClassFinder createFinder(String classloaderType) throws DependencyResolutionRequiredException, MalformedURLException,
-        Exception, MojoFailureException {
-        ClassFinder finder;
-        if ("project".equals(classloaderType)) {
-            List<URL> urls = new ArrayList<URL>();
-            for (Object object : project.getCompileClasspathElements()) {
-                String path = (String) object;
-                urls.add(new File(path).toURI().toURL());
-            }
-            ClassLoader loader = new URLClassLoader(urls.toArray(new URL[urls.size()]), getClass().getClassLoader());
-            finder = new ClassFinder(loader, urls);
-        } else if ("plugin".equals(classLoader)) {
-            finder = new ClassFinder(getClass().getClassLoader());
-        } else {
-            throw new MojoFailureException("classLoader attribute must be 'project' or 'plugin'");
-        }
-        return finder;
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/UserConfCommandHelpPrinter.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/commands/UserConfCommandHelpPrinter.java
deleted file mode 100644 (file)
index 669f5b2..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling.commands;
-
-import java.io.PrintStream;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.karaf.shell.api.action.Action;
-import org.apache.karaf.shell.api.action.Argument;
-import org.apache.karaf.shell.api.action.Command;
-import org.apache.karaf.shell.api.action.Option;
-import org.apache.karaf.shell.impl.action.command.HelpOption;
-
-/**
- * Prints documentation in wiki syntax
- */
-public class UserConfCommandHelpPrinter extends AbstractCommandHelpPrinter {
-
-    @Override
-    public void printHelp(Action action, PrintStream out, boolean includeHelpOption) {
-        Command command = action.getClass().getAnnotation(Command.class);
-        Set<Option> options = new HashSet<>();
-        List<Argument> arguments = new ArrayList<Argument>();
-        Map<Argument, Field> argFields = new HashMap<>();
-        Map<Option, Field> optFields = new HashMap<>();
-        for (Class<?> type = action.getClass(); type != null; type = type.getSuperclass()) {
-            for (Field field : type.getDeclaredFields()) {
-                Option option = field.getAnnotation(Option.class);
-                if (option != null) {
-                    options.add(option);
-                }
-
-                Argument argument = field.getAnnotation(Argument.class);
-                if (argument != null) {
-                    argument = replaceDefaultArgument(field, argument);
-                    argFields.put(argument, field);
-                    int index = argument.index();
-                    while (arguments.size() <= index) {
-                        arguments.add(null);
-                    }
-                    if (arguments.get(index) != null) {
-                        throw new IllegalArgumentException("Duplicate argument index: " + index + " on Action " + action.getClass().getName());
-                    }
-                    arguments.set(index, argument);
-                }
-            }
-        }
-        if (includeHelpOption)
-            options.add(HelpOption.HELP);
-
-        out.println("h1. " + command.scope() + ":" + command.name());
-        out.println();
-
-        out.println("h2. Description");
-        out.println(command.description());
-        out.println();
-
-        StringBuffer syntax = new StringBuffer();
-        syntax.append(String.format("%s:%s", command.scope(), command.name()));
-        if (options.size() > 0) {
-            syntax.append(" \\[options\\]");
-        }
-        if (arguments.size() > 0) {
-            syntax.append(' ');
-            for (Argument argument : arguments) {
-                syntax.append(String.format(argument.required() ? "%s " : "\\[%s\\] ", argument.name()));
-            }
-        }
-        out.println("h2. Syntax");
-        out.println(syntax.toString());
-        out.println();
-
-        if (arguments.size() > 0) {
-            out.println("h2. Arguments");
-            out.println("|| Name || Description ||");
-            for (Argument argument : arguments) {
-                String description = argument.description();
-                if (!argument.required()) {
-                    Object o = getDefaultValue(action, argFields.get(argument));
-                    String defaultValue = getDefaultValueString(o);
-                    if (defaultValue != null) {
-                        description += " (defaults to " + o.toString() + ")";
-                    }
-                }
-                out.println("| " + argument.name() + " | " + description + " |");
-            }
-            out.println();
-        }
-        if (options.size() > 0) {
-            out.println("h2. Options");
-            out.println("|| Name || Description ||");
-            for (Option option : options) {
-                String opt = option.name();
-                String desc = option.description();
-                for (String alias : option.aliases()) {
-                    opt += ", " + alias;
-                }
-                Object o = getDefaultValue(action, optFields.get(option));
-                String defaultValue = getDefaultValueString(o);
-                if (defaultValue != null) {
-                    desc += " (defaults to " + defaultValue + ")";
-                }
-                out.println("| " + opt + " | " + desc + " |");
-            }
-            out.println();
-        }
-        if (command.detailedDescription().length() > 0) {
-            out.println("h2. Details");
-            out.println(command.detailedDescription());
-        }
-        out.println();
-    }
-
-    @Override
-    public void printOverview(Map<String, Set<String>> commands, PrintStream writer) {
-        writer.println("h1. Commands");
-        writer.println();
-        for (String key : commands.keySet()) {
-            writer.println("h2. " + key);
-            writer.println();
-            for (String cmd : commands.get(key)) {
-                writer.println("* [" + key + ":" + cmd + "|" + key + "-" + cmd + "]");
-            }
-            writer.println();
-        }
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java
deleted file mode 100644 (file)
index 93d823d..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.tooling.features;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.felix.utils.version.VersionRange;
-import org.apache.felix.utils.version.VersionTable;
-import org.apache.karaf.features.BundleInfo;
-import org.apache.karaf.features.Conditional;
-import org.apache.karaf.features.internal.model.Bundle;
-import org.apache.karaf.features.internal.model.ConfigFile;
-import org.apache.karaf.features.internal.model.Dependency;
-import org.apache.karaf.features.internal.model.Feature;
-import org.apache.karaf.features.internal.model.Features;
-import org.apache.karaf.features.internal.model.JaxbUtil;
-import org.apache.karaf.tooling.utils.MojoSupport;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.plugin.MojoExecutionException;
-
-import org.apache.maven.plugins.annotations.Parameter;
-import org.osgi.framework.Version;
-
-/**
- * Common functionality for mojos that need to resolve features
- */
-public abstract class AbstractFeatureMojo extends MojoSupport {
-    
-    @Parameter
-    protected List<String> descriptors;
-    
-    protected Set<Artifact> descriptorArtifacts;
-
-    @Parameter
-    protected List<String> features;
-
-    @Parameter
-    protected boolean addTransitiveFeatures = true;
-
-    @Parameter
-    private boolean includeMvnBasedDescriptors = false;
-
-    @Parameter
-    private boolean failOnArtifactResolutionError = true;
-
-    @Parameter
-    private boolean resolveDefinedRepositoriesRecursively = true;
-
-    @Parameter
-    protected boolean skipNonMavenProtocols = true;
-
-    /**
-     * Ignore the dependency flag on the bundles in the features XML
-     */
-    @Parameter(defaultValue = "false")
-    protected boolean ignoreDependencyFlag;
-    
-    /**
-     * The start level exported when no explicit start level is set for a bundle
-     */
-    @Parameter
-    private int defaultStartLevel = 80;
-
-    /**
-     * Internal counter for garbage collection
-     */
-    private int resolveCount = 0;
-
-    public AbstractFeatureMojo() {
-        super();
-        descriptorArtifacts = new HashSet<Artifact>();
-    }
-
-    protected void addFeatureRepo(String featureUrl) throws MojoExecutionException {
-        Artifact featureDescArtifact = resourceToArtifact(featureUrl, true);
-        if (featureDescArtifact == null) {
-            return;
-        }
-        try {
-            resolveArtifact(featureDescArtifact, remoteRepos);
-            descriptors.add(0, featureUrl);
-        } catch (Exception e) {
-            getLog().warn("Can't add " + featureUrl + " in the descriptors set");
-            getLog().debug(e);
-        }
-    }
-
-    protected void retrieveDescriptorsRecursively(String uri, Set<String> bundles, Map<String, Feature> featuresMap) {
-        // let's ensure a mvn: based url is sitting in the local repo before we try reading it
-        Artifact descriptor;
-        try {
-            descriptor = resourceToArtifact(uri, true);
-        } catch (MojoExecutionException e) {
-            throw new RuntimeException(e.getMessage(), e);
-        }
-        if (descriptor != null) {
-            resolveArtifact(descriptor, remoteRepos);
-            descriptorArtifacts.add(descriptor);
-        }
-        if (includeMvnBasedDescriptors) {
-            bundles.add(uri);
-        }
-        Features repo = JaxbUtil.unmarshal(translateFromMaven(uri.replaceAll(" ", "%20")), true);
-        for (Feature f : repo.getFeature()) {
-            featuresMap.put(f.getId(), f);
-        }
-        if (resolveDefinedRepositoriesRecursively) {
-            for (String r : repo.getRepository()) {
-                retrieveDescriptorsRecursively(r, bundles, featuresMap);
-            }
-        }
-    }
-
-    /**
-     * Resolves and copies the given artifact to the repository path.
-     * Prefers to resolve using the repository of the artifact if present.
-     * 
-     * @param artifact
-     * @param remoteRepos
-     */
-    @SuppressWarnings("deprecation")
-    protected void resolveArtifact(Artifact artifact, List<ArtifactRepository> remoteRepos) {
-        try {
-            if (artifact == null) {
-                return;
-            }
-            List<ArtifactRepository> usedRemoteRepos = artifact.getRepository() != null ? 
-                    Collections.singletonList(artifact.getRepository())
-                    : remoteRepos;
-            artifactResolver.resolve(artifact, usedRemoteRepos, localRepo);
-        } catch (Exception e) {
-            if (failOnArtifactResolutionError) {
-                throw new RuntimeException("Can't resolve artifact " + artifact, e);
-            }
-            getLog().warn("Can't resolve artifact " + artifact);
-            getLog().debug(e);
-        }
-    }
-
-
-    /**
-     * Populate the features by traversing the listed features and their
-     * dependencies if transitive is true
-     *  
-     * @param featureNames
-     * @param features
-     * @param featuresMap
-     * @param transitive
-     */
-    protected void addFeatures(List<String> featureNames, Set<Feature> features, Map<String, Feature> featuresMap, boolean transitive) {
-        for (String feature : featureNames) {
-            String[] split = feature.split("/");
-            Feature f = getMatchingFeature(featuresMap, split[0], split.length > 1 ? split[1] : null);
-            features.add(f);
-            if (transitive) {
-                addFeaturesDependencies(f.getFeature(), features, featuresMap, true);
-            }
-        }
-    }
-
-    protected void addFeaturesDependencies(List<Dependency> featureNames, Set<Feature> features, Map<String, Feature> featuresMap, boolean transitive) {
-        for (Dependency dependency : featureNames) {
-            Feature f = getMatchingFeature(featuresMap, dependency.getName(), dependency.getVersion());
-            features.add(f);
-            if (transitive) {
-                addFeaturesDependencies(f.getFeature(), features, featuresMap, true);
-            }
-        }
-    }
-
-    private Feature getMatchingFeature(Map<String, Feature> featuresMap, String feature, String version) {
-        Feature f = null;
-        if (version != null && !version.equals(Feature.DEFAULT_VERSION)) {
-            // looking for a specific feature with name and version
-            f = featuresMap.get(feature + "/" + version);
-            if (f == null) {
-                //it's probably is a version range so try to use VersionRange Utils
-                VersionRange versionRange = new VersionRange(version);
-                for (String key : featuresMap.keySet()) {
-                    String[] nameVersion = key.split("/");
-                    if (feature.equals(nameVersion[0])) {
-                        String verStr = featuresMap.get(key).getVersion();
-                        Version ver = VersionTable.getVersion(verStr);
-                        if (versionRange.contains(ver)) {
-                            if (f == null || VersionTable.getVersion(f.getVersion()).compareTo(VersionTable.getVersion(featuresMap.get(key).getVersion())) < 0) {    
-                                f = featuresMap.get(key);
-                            }
-                        }
-                    }
-                }
-            }
-        } else {
-            // looking for the first feature name (whatever the version is)
-            for (String key : featuresMap.keySet()) {
-                String[] nameVersion = key.split("/");
-                if (feature.equals(nameVersion[0])) {
-                    f = featuresMap.get(key);
-                    break;
-                }
-            }
-        }
-        if (f == null) {
-            throw new IllegalArgumentException("Unable to find the feature '" + feature + "'");
-        }
-        return f;
-    }
-
-    protected Set<Feature> resolveFeatures() throws MojoExecutionException {
-        Set<Feature> featuresSet = new HashSet<Feature>();
-        try {
-            Set<String> artifactsToCopy = new HashSet<String>();
-            Map<String, Feature> featuresMap = new HashMap<String, Feature>();
-            for (String uri : descriptors) {
-                retrieveDescriptorsRecursively(uri, artifactsToCopy, featuresMap);
-            }
-    
-            // no features specified, handle all of them
-            if (features == null) {
-                features = new ArrayList<String>(featuresMap.keySet());
-            }
-            
-            addFeatures(features, featuresSet, featuresMap, addTransitiveFeatures);
-    
-            getLog().info("Using local repository at: " + localRepo.getUrl());
-            for (Feature feature : featuresSet) {
-                try {
-                    for (Bundle bundle : feature.getBundle()) {
-                        resolveArtifact(bundle.getLocation());
-                    }
-                    for (Conditional conditional : feature.getConditional()) {
-                        for (BundleInfo bundle : conditional.getBundles()) {
-                            if (ignoreDependencyFlag || (!ignoreDependencyFlag && !bundle.isDependency())) {
-                                resolveArtifact(bundle.getLocation());
-                            }
-                        }
-                    }
-                    for (ConfigFile configfile : feature.getConfigfile()) {
-                        resolveArtifact(configfile.getLocation());
-                    }
-                } catch (RuntimeException e) {
-                    throw new RuntimeException("Error resolving feature " + feature.getName() + "/" + feature.getVersion(), e);
-                }
-            }            
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error populating repository", e);
-        }
-        return featuresSet;
-    }
-
-    private Artifact resolveArtifact(String location) throws MojoExecutionException {
-        Artifact artifact = resourceToArtifact(location, skipNonMavenProtocols);
-        if (artifact != null) {
-            try {
-                resolveArtifact(artifact, remoteRepos);
-            } catch (RuntimeException e) {
-                throw new RuntimeException("Error resolving artifact " + location, e);
-            }
-        }
-        checkDoGarbageCollect();
-        return artifact;
-    }
-
-    /**
-     * Maven ArtifactResolver leaves file handles around so need to clean up
-     * or we will run out of file descriptors
-     */
-    protected void checkDoGarbageCollect() {
-        if (this.resolveCount++ % 100 == 0) {
-            System.gc();
-            System.runFinalization();
-        }
-    }
-
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java
deleted file mode 100644 (file)
index dfa9447..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.tooling.features;
-
-import java.io.File;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.karaf.features.BundleInfo;
-import org.apache.karaf.features.Conditional;
-import org.apache.karaf.features.internal.model.Bundle;
-import org.apache.karaf.features.internal.model.ConfigFile;
-import org.apache.karaf.features.internal.model.Feature;
-import org.apache.karaf.tooling.utils.MavenUtil;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-
-/**
- * Add features to a repository directory
- */
-@Mojo(name = "features-add-to-repository", defaultPhase = LifecyclePhase.COMPILE, requiresDependencyResolution = ResolutionScope.RUNTIME, threadSafe = true)
-public class AddToRepositoryMojo extends AbstractFeatureMojo {
-
-    @Parameter(defaultValue = "${project.build.directory}/features-repo")
-    protected File repository;
-
-    /**
-     * If set to true the exported bundles will be directly copied into the repository dir.
-     * If set to false the default maven repository layout will be used
-     */
-    @Parameter
-    private boolean flatRepoLayout;
-
-    @Parameter
-    protected List<CopyFileBasedDescriptor> copyFileBasedDescriptors;
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        Set<Feature> featuresSet = resolveFeatures();
-        
-        for (Artifact descriptor : descriptorArtifacts) {
-            copy(descriptor, repository);
-        }
-
-        for (Feature feature : featuresSet) {
-            copyBundlesToDestRepository(feature.getBundle());
-            for(Conditional conditional : feature.getConditional()) {
-                copyBundlesConditionalToDestRepository(conditional.getBundles());
-            }
-            copyConfigFilesToDestRepository(feature.getConfigfile());
-        }
-        
-        copyFileBasedDescriptorsToDestRepository();
-        
-    }
-
-    private void copyBundlesConditionalToDestRepository(List<? extends BundleInfo> artifactRefsConditional) throws MojoExecutionException {
-        for (BundleInfo artifactRef : artifactRefsConditional) {
-            if (ignoreDependencyFlag || (!ignoreDependencyFlag && !artifactRef.isDependency())) {
-                Artifact artifact = resourceToArtifact(artifactRef.getLocation(), skipNonMavenProtocols);
-                // Avoid getting NPE on artifact.getFile in some cases 
-                resolveArtifact(artifact, remoteRepos);
-                if (artifact != null) {
-                    copy(artifact, repository);
-                }
-            }
-        }
-    }
-    
-    private void copyBundlesToDestRepository(List<? extends Bundle> artifactRefs) throws MojoExecutionException {
-        for (Bundle artifactRef : artifactRefs) {
-            Artifact artifact = resourceToArtifact(artifactRef.getLocation(), skipNonMavenProtocols);
-            // Avoid getting NPE on artifact.getFile in some cases 
-            resolveArtifact(artifact, remoteRepos);
-            if (artifact != null) {
-                copy(artifact, repository);
-            }
-        }
-    }
-
-    private void copyConfigFilesToDestRepository(List<? extends ConfigFile> artifactRefs) throws MojoExecutionException {
-        for (ConfigFile artifactRef : artifactRefs) {
-            Artifact artifact = resourceToArtifact(artifactRef.getLocation(), skipNonMavenProtocols);
-            // Avoid getting NPE on artifact.getFile in some cases
-            resolveArtifact(artifact, remoteRepos);
-            if (artifact != null) {
-                copy(artifact, repository);
-            }
-        }
-    }
-
-    protected void copy(Artifact artifact, File destRepository) {
-        try {
-            getLog().info("Copying artifact: " + artifact);
-            File destFile = new File(destRepository, getRelativePath(artifact));
-            if (artifact.getFile() == null) {
-                throw new IllegalStateException("Artifact is not present in local repo."); 
-            }
-            copy(artifact.getFile(), destFile);
-        } catch (Exception e) {
-            getLog().warn("Error copying artifact " + artifact, e);
-        }
-    }
-
-    /**
-     * Get relative path for artifact
-     * TODO consider DefaultRepositoryLayout
-     * @param artifact
-     * @return relative path of the given artifact in a default repo layout
-     */
-    private String getRelativePath(Artifact artifact) {
-        String dir = (this.flatRepoLayout) ? "" : MavenUtil.getDir(artifact);
-        String name = MavenUtil.getFileName(artifact);
-        return dir + name;
-    }
-
-    private void copyFileBasedDescriptorsToDestRepository() {
-        if (copyFileBasedDescriptors != null) {
-            for (CopyFileBasedDescriptor fileBasedDescriptor : copyFileBasedDescriptors) {
-                File destDir = new File(repository, fileBasedDescriptor.getTargetDirectory());
-                File destFile = new File(destDir, fileBasedDescriptor.getTargetFileName());
-                copy(fileBasedDescriptor.getSourceFile(), destFile);
-            }
-        }
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/CopyFileBasedDescriptor.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/CopyFileBasedDescriptor.java
deleted file mode 100644 (file)
index 857adfd..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.tooling.features;
-
-import java.io.File;
-
-public class CopyFileBasedDescriptor {
-
-    private File sourceFile;
-    private String targetDirectory;
-    private String targetFileName;
-
-    public File getSourceFile() {
-        return sourceFile;
-    }
-
-    public void setSourceFile(File sourceFile) {
-        this.sourceFile = sourceFile;
-    }
-
-    public String getTargetDirectory() {
-        return targetDirectory;
-    }
-
-    public void setTargetDirectory(String targetDirectory) {
-        this.targetDirectory = targetDirectory;
-    }
-
-    public String getTargetFileName() {
-        return targetFileName;
-    }
-
-    public void setTargetFileName(String targetFileName) {
-        this.targetFileName = targetFileName;
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/ExportFeatureMetaDataMojo.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/ExportFeatureMetaDataMojo.java
deleted file mode 100644 (file)
index 71e8082..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.tooling.features;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.jar.Attributes;
-import java.util.jar.JarInputStream;
-import java.util.jar.Manifest;
-
-import org.apache.karaf.features.internal.model.Bundle;
-import org.apache.karaf.features.internal.model.Feature;
-import org.apache.karaf.features.internal.model.Features;
-import org.apache.karaf.features.internal.model.JaxbUtil;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.osgi.framework.Version;
-
-/**
- * Export meta data about features
- */
-@Mojo(name = "features-export-meta-data", defaultPhase = LifecyclePhase.COMPILE, requiresDependencyResolution = ResolutionScope.RUNTIME, threadSafe = true)
-public class ExportFeatureMetaDataMojo extends AbstractFeatureMojo {
-    
-    /**
-     * If set to true then all bundles will be merged into one combined feature.
-     * In this case duplicates will be eliminated
-     */
-    @Parameter
-    private boolean mergedFeature;
-    
-    /**
-     * If set to true then for each bundle symbolic name only the highest version will be used
-     */
-    @Parameter
-    protected boolean oneVersion;
-
-    /**
-     * Name of the file for exported feature meta data
-     */
-    @Parameter(defaultValue = "${project.build.directory}/features.xml")
-    private File metaDataFile;
-    
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        Set<Feature> featuresSet = resolveFeatures();
-        if (mergedFeature) {
-            Feature feature = oneVersion ? mergeFeatureOneVersion(featuresSet) : mergeFeature(featuresSet);
-            featuresSet = new HashSet<Feature>();
-            featuresSet.add(feature);
-        }
-        try {
-            metaDataFile.getParentFile().mkdirs();
-            Features features = new Features();
-            features.getFeature().addAll(featuresSet);
-            try (OutputStream os = new FileOutputStream(metaDataFile)) {
-                JaxbUtil.marshal(features, os);
-            }
-        } catch (Exception e) {
-            throw new RuntimeException("Error writing feature meta data to " + metaDataFile + ": " + e.getMessage(), e);
-        }
-    }
-
-    private Feature mergeFeature(Set<Feature> featuresSet) throws MojoExecutionException {
-        Feature merged = new Feature("merged");
-        Set<String> bundleIds = new HashSet<String>();
-        for (Feature feature : featuresSet) {
-            for (Bundle bundle : feature.getBundle()) {
-                String symbolicName = getBundleSymbolicName(bundle);
-                if (symbolicName == null) {
-                    logIgnored(bundle);
-                    continue;
-                }
-                String bundleId = symbolicName + ":" + getBundleVersion(bundle);
-                if (!bundleIds.contains(bundleId)) {
-                    bundleIds.add(bundleId);
-                    merged.getBundle().add(bundle);
-                }
-            }
-        }
-        return merged;
-    }
-    
-    private Feature mergeFeatureOneVersion(Set<Feature> featuresSet) throws MojoExecutionException {
-        Feature merged = new Feature("merged");
-        Map<String, Bundle> bundleVersions = new HashMap<>();
-        for (Feature feature : featuresSet) {
-            for (Bundle bundle : feature.getBundle()) {
-                String symbolicName = getBundleSymbolicName(bundle);
-                if (symbolicName == null) {
-                    logIgnored(bundle);
-                    continue;
-                }
-                Bundle existingBundle = bundleVersions.get(symbolicName);
-                if (existingBundle != null) {
-                    Version existingVersion = new Version(getBundleVersion(existingBundle));
-                    Version newVersion = new Version(getBundleVersion(bundle));
-                    if (newVersion.compareTo(existingVersion) > 0) {
-                        bundleVersions.put(symbolicName, bundle);
-                    }
-                } else {
-                    bundleVersions.put(symbolicName, bundle);
-                }
-            }
-        }
-        for (Bundle bundle : bundleVersions.values()) {
-            merged.getBundle().add(bundle);
-        }
-        return merged;
-    }
-
-    private void logIgnored(Bundle bundle) {
-        getLog().warn("Ignoring jar without BundleSymbolicName: " + bundle.getLocation());
-    }
-
-    private Map<String, Attributes> manifests = new HashMap<>();
-
-    private String getBundleVersion(Bundle bundle) throws MojoExecutionException {
-        return getManifest(bundle).getValue("Bundle-Version");
-    }
-
-    private String getBundleSymbolicName(Bundle bundle) throws MojoExecutionException {
-        return getManifest(bundle).getValue("Bundle-SymbolicName");
-    }
-
-    private Attributes getManifest(Bundle bundle) throws MojoExecutionException {
-        Attributes attributes = manifests.get(bundle.getLocation());
-        if (attributes == null) {
-            Artifact artifact = resourceToArtifact(bundle.getLocation(), skipNonMavenProtocols);
-            if (artifact.getFile() == null) {
-                resolveArtifact(artifact, remoteRepos);
-            }
-            try (JarInputStream jis = new JarInputStream(new FileInputStream(artifact.getFile()))) {
-                Manifest manifest = jis.getManifest();
-                if (manifest != null) {
-                    attributes = manifest.getMainAttributes();
-                } else {
-                    attributes = new Attributes();
-                }
-                manifests.put(bundle.getLocation(), attributes);
-            } catch (IOException e) {
-                throw new MojoExecutionException("Error reading bundle manifest from " + bundle.getLocation(), e);
-            }
-        }
-        return attributes;
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateDescriptorMojo.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateDescriptorMojo.java
deleted file mode 100644 (file)
index 8643d8f..0000000
+++ /dev/null
@@ -1,916 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.tooling.features;
-
-import static java.lang.String.format;
-import static org.apache.karaf.deployer.kar.KarArtifactInstaller.FEATURE_CLASSIFIER;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.PrintStream;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.jar.JarInputStream;
-import java.util.jar.Manifest;
-
-import javax.xml.bind.JAXBException;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.stream.XMLStreamException;
-
-import org.apache.karaf.features.internal.model.Bundle;
-import org.apache.karaf.features.internal.model.Dependency;
-import org.apache.karaf.features.internal.model.Feature;
-import org.apache.karaf.features.internal.model.Features;
-import org.apache.karaf.features.internal.model.JaxbUtil;
-import org.apache.karaf.features.internal.model.ObjectFactory;
-import org.apache.karaf.tooling.utils.DependencyHelper;
-import org.apache.karaf.tooling.utils.DependencyHelperFactory;
-import org.apache.karaf.tooling.utils.LocalDependency;
-import org.apache.karaf.tooling.utils.ManifestUtils;
-import org.apache.karaf.tooling.utils.MavenUtil;
-import org.apache.karaf.tooling.utils.MojoSupport;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.plugin.logging.SystemStreamLog;
-import org.apache.maven.plugins.annotations.Component;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.DefaultProjectBuildingRequest;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuilder;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.project.ProjectBuildingRequest;
-import org.apache.maven.repository.RepositorySystem;
-import org.apache.maven.shared.filtering.MavenFileFilter;
-import org.apache.maven.shared.filtering.MavenFilteringException;
-import org.apache.maven.shared.filtering.MavenResourcesExecution;
-import org.apache.maven.shared.filtering.MavenResourcesFiltering;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.StringUtils;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.xml.sax.SAXException;
-
-/**
- * Generates the features XML file starting with an optional source feature.xml and adding
- * project dependencies as bundles and feature/car dependencies.
- * 
- * NB this requires a recent maven-install-plugin such as 2.3.1
- */
-@Mojo(name = "features-generate-descriptor", defaultPhase = LifecyclePhase.COMPILE, requiresDependencyResolution = ResolutionScope.RUNTIME, threadSafe = true)
-public class GenerateDescriptorMojo extends MojoSupport {
-
-    /**
-     * An (optional) input feature file to extend. The plugin reads this file, and uses it as a template
-     * to create the output.
-     * This is highly recommended as it is the only way to add <code>&lt;feature/&gt;</code>
-     * elements to the individual features that are generated.  Note that this file is filtered using standard Maven
-     * resource interpolation, allowing attributes of the input file to be set with information such as ${project.version}
-     * from the current build.
-     * <p/>
-     * When dependencies are processed, if they are duplicated in this file, the dependency here provides the baseline
-     * information and is supplemented by additional information from the dependency.
-     */
-    @Parameter(defaultValue = "${project.basedir}/src/main/feature/feature.xml")
-    private File inputFile;
-
-    /**
-     * (wrapper) The filtered input file. This file holds the result of Maven resource interpolation and is generally
-     * not necessary to change, although it may be helpful for debugging.
-     */
-    @Parameter(defaultValue = "${project.build.directory}/feature/filteredInputFeature.xml")
-    private File filteredInputFile;
-
-    /**
-     * The file to generate.  This file is attached as a project output artifact with the classifier specified by
-     * <code>attachmentArtifactClassifier</code>.
-     */
-    @Parameter(defaultValue = "${project.build.directory}/feature/feature.xml")
-    private File outputFile;
-
-    /**
-     * Exclude some artifacts from the generated feature.
-     * See addBundlesToPrimaryFeature for more details.
-     *
-     */
-    @Parameter
-    private List<String> excludedArtifactIds = new ArrayList<String>();
-
-    /**
-     * The resolver to use for the feature.  Normally null or "OBR" or "(OBR)"
-     */
-    @Parameter(defaultValue = "${resolver}")
-    private String resolver;
-
-    /**
-     * The artifact type for attaching the generated file to the project
-     */
-    @Parameter(defaultValue = "xml")
-    private String attachmentArtifactType = "xml";
-
-    /**
-     * (wrapper) The artifact classifier for attaching the generated file to the project
-     */
-    @Parameter(defaultValue = "features")
-    private String attachmentArtifactClassifier = "features";
-
-    /**
-     * Specifies whether features dependencies of this project will be included inline in the
-     * final output (<code>true</code>), or simply referenced as output artifact dependencies (<code>false</code>).
-     * If <code>true</code>, feature dependencies' xml descriptors are read and their contents added to the features descriptor under assembly.
-     * If <code>false</code>, feature dependencies are added to the assembled feature as dependencies.
-     * Setting this value to <code>true</code> is especially helpful in multiproject builds where subprojects build their own features
-     * using <code>aggregateFeatures = false</code>, then combined with <code>aggregateFeatures = true</code> in an
-     * aggregation project with explicit dependencies to the child projects.
-     */
-    @Parameter(defaultValue = "false")
-    private boolean aggregateFeatures = false;
-
-    /**
-     * If present, the bundles added to the feature constructed from the dependencies will be marked with this default
-     * startlevel.  If this parameter is not present, no startlevel attribute will be created. Finer resolution for specific
-     * dependencies can be obtained by specifying the dependency in the file referenced by the <code>inputFile</code> parameter.
-     */
-    @Parameter
-    private Integer startLevel;
-
-    /**
-     * Installation mode. If present, generate "feature.install" attribute:
-     * <p/>
-     * <a href="http://karaf.apache.org/xmlns/features/v1.1.0">Installation mode</a>
-     * <p/>
-     * Can be either manual or auto. Specifies whether the feature should be automatically installed when
-     * dropped inside the deploy folder. Note: this attribute doesn't affect feature descriptors that are installed
-     * from the feature:install command or as part of the etc/org.apache.karaf.features.cfg file.
-     */
-    @Parameter
-    private String installMode;
-
-    /**
-     * Flag indicating whether transitive dependencies should be included (<code>true</code>) or not (<code>false</code>).
-     * <p/>
-     * N.B. Note the default value of this is true, but is suboptimal in cases where specific <code>&lt;feature/&gt;</code> dependencies are
-     * provided by the <code>inputFile</code> parameter.
-     */
-    @Parameter(defaultValue = "true")
-    private boolean includeTransitiveDependency;
-
-    /**
-     * The standard behavior is to add dependencies as <code>&lt;bundle&gt;</code> elements to a <code>&lt;feature&gt;</code>
-     * with the same name as the artifactId of the project.  This flag disables that behavior.
-     * If this parameter is <code>true</code>, then two other parameters refine the list of bundles added to the primary feature:
-     * <code>excludedArtifactIds</code> and <code>ignoreScopeProvided</code>. Each of these specifies dependent artifacts
-     * that should <strong>not</strong> be added to the primary feature.
-     * <p>
-     *     Note that you may tune the <code>bundle</code> elements by including them in the <code>inputFile</code>.
-     *     If the <code>inputFile</code> has a <code>feature</code> element for the primary feature, the plugin will
-     *     respect it, so that you can, for example, set the <code>startLevel</code> or <code>start</code> attribute.
-     * </p>
-     *
-     */
-    @Parameter(defaultValue = "true")
-    private boolean addBundlesToPrimaryFeature;
-
-    /**
-     * The standard behavior is to add any dependencies other than those in the <code>runtime</code> scope to the feature bundle.
-     * Setting this flag to "true" disables adding any dependencies (transient or otherwise) that are in
-     * <code>&lt;scope&gt;provided&lt;/scope&gt;</code>. See <code>addBundlesToPrimaryFeature</code> for more details.
-     */
-    @Parameter(defaultValue = "false")
-    private boolean ignoreScopeProvided;
-
-    /**
-     * Flag indicating whether the main project artifact should be included (<code>true</code>) or not (<code>false</code>).
-     * This parameter is useful when you add an execution of this plugin to a project with some packaging that is <strong>not</strong>
-     * <code>feature</code>. If you don't set this, then you will get a feature that contains the dependencies but
-     * not the primary artifact itself.
-     * <p/>
-     * Assumes the main project artifact is a bundle and the feature will be attached alongside using <code>attachmentArtifactClassifier</code>.
-     */
-    @Parameter(defaultValue = "false")
-    private boolean includeProjectArtifact;
-
-    /**
-     * The name of the primary feature. This is the feature that will be created or modified to include the
-     * main project artifact and/or the bundles.
-     * @see #addBundlesToPrimaryFeature
-     * @see #includeProjectArtifact
-     */
-    @Parameter(defaultValue = "${project.artifactId}")
-    private String primaryFeatureName;
-    
-    /**
-     * Flag indicating whether bundles should use the version range declared in the POM. If <code>false</code>,
-     * the actual version of the resolved artifacts will be used.
-     */
-    @Parameter(defaultValue = "false")
-    private boolean useVersionRange;
-    
-    /**
-     * Flag indicating whether the plugin should determine whether transitive dependencies are declared with
-     * a version range. If this flag is set to <code>true</code> and a transitive dependency has been found
-     * which had been declared with a version range, that version range will be used to build the appropriate
-     * bundle element instead of the newest version. This flag has only an effect when {@link #useVersionRange}
-     * is <code>true</code>
-     */
-    @Parameter(defaultValue = "false")
-    private boolean includeTransitiveVersionRanges;
-
-    /**
-     * Flag indicating whether the plugin should simplify bundle dependencies. If the flag is set to {@code true}
-     * and a bundle dependency is determined to be included in a feature dependency, the bundle dependency is
-     * dropped.
-     */
-    @Parameter(defaultValue = "false")
-    private boolean simplifyBundleDependencies;
-
-    /**
-     * Names of features which are prerequisites (they still need to be defined separately).
-     */
-    @Parameter
-    private List<String> prerequisiteFeatures = new ArrayList<>();
-
-    /**
-     * Names of features which are dependencies (they still need to be defined separately).
-     */
-    @Parameter
-    private List<String> dependencyFeatures = new ArrayList<>();
-
-    // *************************************************
-    // READ-ONLY MAVEN PLUGIN PARAMETERS
-    // *************************************************
-
-    /**
-     * We can't autowire strongly typed RepositorySystem from Aether because it may be Sonatype (Maven 3.0.x)
-     * or Eclipse (Maven 3.1.x/3.2.x) implementation, so we switch to service locator.
-     */
-    @Component
-    private PlexusContainer container;
-    
-    @Component
-    private RepositorySystem repoSystem;
-
-    @Component
-    protected MavenResourcesFiltering mavenResourcesFiltering;
-
-    @Component
-    protected MavenFileFilter mavenFileFilter;
-    
-       @Component
-       private ProjectBuilder mavenProjectBuilder;
-
-    // dependencies we are interested in
-    protected Collection<LocalDependency> localDependencies;
-
-    // log of what happened during search
-    protected String treeListing;
-
-    // an access layer for available Aether implementation
-    protected DependencyHelper dependencyHelper;
-
-    // maven log
-    private Log log;
-    
-    // If useVersionRange is true, this map will be used to cache
-    // resolved MavenProjects
-    private final Map<Artifact, MavenProject> resolvedProjects = new HashMap<>();
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        try {
-            this.dependencyHelper = DependencyHelperFactory.createDependencyHelper(this.container, this.project, this.mavenSession, getLog());
-            this.dependencyHelper.getDependencies(project, includeTransitiveDependency);
-            this.localDependencies = dependencyHelper.getLocalDependencies();
-            this.treeListing = dependencyHelper.getTreeListing();
-            File dir = outputFile.getParentFile();
-            if (dir.isDirectory() || dir.mkdirs()) {
-                PrintStream out = new PrintStream(new FileOutputStream(outputFile));
-                try {
-                    writeFeatures(out);
-                } finally {
-                    out.close();
-                }
-                // now lets attach it
-                projectHelper.attachArtifact(project, attachmentArtifactType, attachmentArtifactClassifier, outputFile);
-
-            } else {
-                throw new MojoExecutionException("Could not create directory for features file: " + dir);
-            }
-        } catch (Exception e) {
-            getLog().error(e.getMessage());
-            throw new MojoExecutionException("Unable to create features.xml file: " + e, e);
-        }
-    }
-
-       private MavenProject resolveProject(final Object artifact) throws MojoExecutionException {
-               MavenProject resolvedProject = project;
-               if (includeTransitiveVersionRanges) {
-                       resolvedProject = resolvedProjects.get(artifact);
-                       if (resolvedProject == null) {
-                               final ProjectBuildingRequest request = new DefaultProjectBuildingRequest();
-                               
-                               // Fixes KARAF-4626; if the system properties are not transferred to the request, 
-                               // test-feature-use-version-range-transfer-properties will fail
-                               request.setSystemProperties(System.getProperties());
-                               
-                               request.setResolveDependencies(true);
-                               request.setRemoteRepositories(project.getPluginArtifactRepositories());
-                               request.setLocalRepository(localRepo);
-                               request.setProfiles(new ArrayList<>(mavenSession.getRequest().getProfiles()));
-                               request.setActiveProfileIds(new ArrayList<>(mavenSession.getRequest().getActiveProfiles()));
-                               dependencyHelper.setRepositorySession(request);
-                               final Artifact pomArtifact = repoSystem.createArtifact(dependencyHelper.getGroupId(artifact),
-                                               dependencyHelper.getArtifactId(artifact), dependencyHelper.getBaseVersion(artifact), "pom");
-                               try {
-                                       resolvedProject = mavenProjectBuilder.build(pomArtifact, request).getProject();
-                                       resolvedProjects.put(pomArtifact, resolvedProject);
-                               } catch (final ProjectBuildingException e) {
-                                       throw new MojoExecutionException(
-                                                       format("Maven-project could not be built for artifact %s", pomArtifact), e);
-                               }
-                       }
-               }
-               return resolvedProject;
-       }
-
-       private String getVersionOrRange(final Object parent, final Object artifact) throws MojoExecutionException {
-               String versionOrRange = dependencyHelper.getBaseVersion(artifact);
-               if (useVersionRange) {
-                       for (final org.apache.maven.model.Dependency dependency : resolveProject(parent).getDependencies()) {
-
-                               if (dependency.getGroupId().equals(dependencyHelper.getGroupId(artifact))
-                                               && dependency.getArtifactId().equals(dependencyHelper.getArtifactId(artifact))) {
-                                       versionOrRange = dependency.getVersion();
-                                       break;
-                               }
-                       }
-               }
-               return versionOrRange;
-       }
-    
-    /*
-     * Write all project dependencies as feature
-     */
-    private void writeFeatures(PrintStream out) throws ArtifactResolutionException, ArtifactNotFoundException,
-            IOException, JAXBException, SAXException, ParserConfigurationException, XMLStreamException, MojoExecutionException {
-        getLog().info("Generating feature descriptor file " + outputFile.getAbsolutePath());
-        //read in an existing feature.xml
-        ObjectFactory objectFactory = new ObjectFactory();
-        Features features;
-        if (inputFile.exists()) {
-            filter(inputFile, filteredInputFile);
-            features = readFeaturesFile(filteredInputFile);
-        } else {
-            features = objectFactory.createFeaturesRoot();
-        }
-        if (features.getName() == null) {
-            features.setName(project.getArtifactId());
-        }
-
-        Feature feature = null;
-        for (Feature test : features.getFeature()) {
-            if (test.getName().equals(primaryFeatureName)) {
-                feature = test;
-            }
-        }
-        if (feature == null) {
-            feature = objectFactory.createFeature();
-            feature.setName(primaryFeatureName);
-        }
-        if (!feature.hasVersion()) {
-            feature.setVersion(project.getArtifact().getBaseVersion());
-        }
-        if (feature.getDescription() == null) {
-            feature.setDescription(project.getName());
-        }
-        if (installMode != null) {
-            feature.setInstall(installMode);
-        }
-        if (project.getDescription() != null && feature.getDetails() == null) {
-            feature.setDetails(project.getDescription());
-        }
-        if (includeProjectArtifact) {
-            Bundle bundle = objectFactory.createBundle();
-            bundle.setLocation(this.dependencyHelper.artifactToMvn(project.getArtifact(), project.getVersion()));
-            if (startLevel != null) {
-                bundle.setStartLevel(startLevel);
-            }
-            feature.getBundle().add(bundle);
-        }
-        boolean needWrap = false;
-
-        // First pass to look for features
-        // Track other features we depend on and their repositories (we track repositories instead of building them from
-        // the feature's Maven artifact to allow for multi-feature repositories)
-        // TODO Initialise the repositories from the existing feature file if any
-        Map<Dependency, Feature> otherFeatures = new HashMap<>();
-        Map<Feature, String> featureRepositories = new HashMap<Feature, String>();
-        for (final LocalDependency entry : localDependencies) {
-            Object artifact = entry.getArtifact();
-
-            if (excludedArtifactIds.contains(this.dependencyHelper.getArtifactId(artifact))) {
-                continue;
-            }
-
-            processFeatureArtifact(features, feature, otherFeatures, featureRepositories, artifact, entry.getParent(),
-                    true);
-        }
-
-        // Second pass to look for bundles
-        if (addBundlesToPrimaryFeature) {
-            for (final LocalDependency entry : localDependencies) {
-                Object artifact = entry.getArtifact();
-
-                if (excludedArtifactIds.contains(this.dependencyHelper.getArtifactId(artifact))) {
-                    continue;
-                }
-
-                if (!this.dependencyHelper.isArtifactAFeature(artifact)) {
-                    String bundleName = this.dependencyHelper.artifactToMvn(artifact, getVersionOrRange(entry.getParent(), artifact));
-                    File bundleFile = this.dependencyHelper.resolve(artifact, getLog());
-                    Manifest manifest = getManifest(bundleFile);
-
-                    if (manifest == null || !ManifestUtils.isBundle(getManifest(bundleFile))) {
-                        bundleName = "wrap:" + bundleName;
-                        needWrap = true;
-                    }
-
-                    Bundle bundle = null;
-                    for (Bundle b : feature.getBundle()) {
-                        if (bundleName.equals(b.getLocation())) {
-                            bundle = b;
-                            break;
-                        }
-                    }
-                    if (bundle == null) {
-                        bundle = objectFactory.createBundle();
-                        bundle.setLocation(bundleName);
-                        // Check the features this feature depends on don't already contain the dependency
-                        // TODO Perhaps only for transitive dependencies?
-                        boolean includedTransitively =
-                            simplifyBundleDependencies && isBundleIncludedTransitively(feature, otherFeatures, bundle);
-                        if (!includedTransitively && (!"provided".equals(entry.getScope()) || !ignoreScopeProvided)) {
-                            feature.getBundle().add(bundle);
-                        }
-                    }
-                    if ("runtime".equals(entry.getScope())) {
-                        bundle.setDependency(true);
-                    }
-                    if (startLevel != null && bundle.getStartLevel() == 0) {
-                        bundle.setStartLevel(startLevel);
-                    }
-                }
-            }
-        }
-
-        if (needWrap) {
-            Dependency wrapDependency = new Dependency();
-            wrapDependency.setName("wrap");
-            wrapDependency.setDependency(false);
-            wrapDependency.setPrerequisite(true);
-            feature.getFeature().add(wrapDependency);
-        }
-        
-        if ((!feature.getBundle().isEmpty() || !feature.getFeature().isEmpty()) && !features.getFeature().contains(feature)) {
-            features.getFeature().add(feature);
-        }
-
-        // Add any missing repositories for the included features
-        for (Feature includedFeature : features.getFeature()) {
-            for (Dependency dependency : includedFeature.getFeature()) {
-                Feature dependedFeature = otherFeatures.get(dependency);
-                if (dependedFeature != null && !features.getFeature().contains(dependedFeature)) {
-                    String repository = featureRepositories.get(dependedFeature);
-                    if (repository != null && !features.getRepository().contains(repository)) {
-                        features.getRepository().add(repository);
-                    }
-                }
-            }
-        }
-
-        JaxbUtil.marshal(features, out);
-        try {
-            checkChanges(features, objectFactory);
-        } catch (Exception e) {
-            throw new MojoExecutionException("Features contents have changed", e);
-        }
-        getLog().info("...done!");
-    }
-
-    private void processFeatureArtifact(Features features, Feature feature, Map<Dependency, Feature> otherFeatures,
-                                        Map<Feature, String> featureRepositories,
-                                        Object artifact, Object parent, boolean add)
-            throws MojoExecutionException, XMLStreamException, JAXBException, IOException {
-        if (this.dependencyHelper.isArtifactAFeature(artifact) && FEATURE_CLASSIFIER.equals(
-                this.dependencyHelper.getClassifier(artifact))) {
-            File featuresFile = this.dependencyHelper.resolve(artifact, getLog());
-            if (featuresFile == null || !featuresFile.exists()) {
-                throw new MojoExecutionException(
-                        "Cannot locate file for feature: " + artifact + " at " + featuresFile);
-            }
-            Features includedFeatures = readFeaturesFile(featuresFile);
-            for (String repository : includedFeatures.getRepository()) {
-                processFeatureArtifact(features, feature, otherFeatures, featureRepositories,
-                        new DefaultArtifact(MavenUtil.mvnToAether(repository)), parent, false);
-            }
-            for (Feature includedFeature : includedFeatures.getFeature()) {
-                Dependency dependency = new Dependency(includedFeature.getName(), includedFeature.getVersion());
-                dependency.setPrerequisite(prerequisiteFeatures.contains(dependency.getName()));
-                dependency.setDependency(dependencyFeatures.contains(dependency.getName()));
-                // Determine what dependency we're actually going to use
-                Dependency matchingDependency = findMatchingDependency(feature.getFeature(), dependency);
-                if (matchingDependency != null) {
-                    // The feature already has a matching dependency, merge them
-                    mergeDependencies(matchingDependency, dependency);
-                    dependency = matchingDependency;
-                }
-                // We mustn't de-duplicate here, we may have seen a feature in !add mode
-                otherFeatures.put(dependency, includedFeature);
-                if (add) {
-                    if (!feature.getFeature().contains(dependency)) {
-                        feature.getFeature().add(dependency);
-                    }
-                    if (aggregateFeatures) {
-                        features.getFeature().add(includedFeature);
-                    }
-                }
-                if (!featureRepositories.containsKey(includedFeature)) {
-                    featureRepositories.put(includedFeature,
-                            this.dependencyHelper.artifactToMvn(artifact, getVersionOrRange(parent, artifact)));
-                }
-            }
-        }
-    }
-
-    private Dependency findMatchingDependency(List<Dependency> dependencies, Dependency reference) {
-        String referenceName = reference.getName();
-        for (Dependency dependency : dependencies) {
-            if (referenceName.equals(dependency.getName())) {
-                return dependency;
-            }
-        }
-        return null;
-    }
-
-    private void mergeDependencies(Dependency target, Dependency source) {
-        if (target.getVersion() == null || Feature.DEFAULT_VERSION.equals(target.getVersion())) {
-            target.setVersion(source.getVersion());
-        }
-        if (source.isDependency()) {
-            target.setDependency(true);
-        }
-        if (source.isPrerequisite()) {
-            target.setPrerequisite(true);
-        }
-    }
-
-    private boolean isBundleIncludedTransitively(Feature feature, Map<Dependency, Feature> otherFeatures,
-                                                 Bundle bundle) {
-        for (Dependency dependency : feature.getFeature()) {
-            Feature otherFeature = otherFeatures.get(dependency);
-            if (otherFeature != null) {
-                if (otherFeature.getBundle().contains(bundle) || isBundleIncludedTransitively(otherFeature,
-                    otherFeatures, bundle)) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Extract the MANIFEST from the give file.
-     */
-
-    private Manifest getManifest(File file) throws IOException {
-        InputStream is;
-        try {
-            is = new BufferedInputStream(new FileInputStream(file));
-        } catch (Exception e) {
-            getLog().warn("Error while opening artifact", e);
-            return null;
-        }
-
-        try {
-            is.mark(256 * 1024);
-            JarInputStream jar = new JarInputStream(is);
-            Manifest m = jar.getManifest();
-            if (m == null) {
-                getLog().warn("Manifest not present in the first entry of the zip - " + file.getName());
-            }
-            jar.close();
-            return m;
-        } finally {
-            // just in case when we did not open bundle
-            is.close();
-        }
-    }
-
-    private Features readFeaturesFile(File featuresFile) throws XMLStreamException, JAXBException, IOException {
-        return JaxbUtil.unmarshal(featuresFile.toURI().toASCIIString(), false);
-    }
-
-    public void setLog(Log log) {
-        this.log = log;
-    }
-
-    public Log getLog() {
-        if (log == null) {
-            setLog(new SystemStreamLog());
-        }
-        return log;
-    }
-
-    //------------------------------------------------------------------------//
-    // dependency change detection
-
-    /**
-     * Master switch to look for and log changed dependencies.  If this is set to <code>true</code> and the file referenced by
-     * <code>dependencyCache</code> does not exist, it will be unconditionally generated.  If the file does exist, it is
-     * used to detect changes from previous builds and generate logs of those changes.  In that case,
-     * <code>failOnDependencyChange = true</code> will cause the build to fail.
-     */
-    @Parameter(defaultValue = "false")
-    private boolean checkDependencyChange;
-
-    /**
-     * (wrapper) Location of dependency cache.  This file is generated to contain known dependencies and is generally
-     * located in SCM so that it may be used across separate developer builds. This is parameter is ignored unless
-     * <code>checkDependencyChange</code> is set to <code>true</code>.
-     */
-    @Parameter(defaultValue = "${basedir}/src/main/history/dependencies.xml")
-    private File dependencyCache;
-
-    /**
-     * Location of filtered dependency file.
-     */
-    @Parameter(defaultValue = "${basedir}/target/history/dependencies.xml", readonly = true)
-    private File filteredDependencyCache;
-
-    /**
-     * Whether to fail on changed dependencies (default, <code>true</code>) or warn (<code>false</code>). This is parameter is ignored unless
-     * <code>checkDependencyChange</code> is set to <code>true</code> and <code>dependencyCache</code> exists to compare
-     * against.
-     */
-    @Parameter(defaultValue = "true")
-    private boolean failOnDependencyChange;
-
-    /**
-     * Copies the contents of dependency change logs that are generated to stdout. This is parameter is ignored unless
-     * <code>checkDependencyChange</code> is set to <code>true</code> and <code>dependencyCache</code> exists to compare
-     * against.
-     */
-    @Parameter(defaultValue = "false")
-    private boolean logDependencyChanges;
-
-    /**
-     * Whether to overwrite the file referenced by <code>dependencyCache</code> if it has changed.  This is parameter is
-     * ignored unless <code>checkDependencyChange</code> is set to <code>true</code>, <code>failOnDependencyChange</code>
-     * is set to <code>false</code> and <code>dependencyCache</code> exists to compare against.
-     */
-    @Parameter(defaultValue = "false")
-    private boolean overwriteChangedDependencies;
-
-    //filtering support
-    /**
-     * The character encoding scheme to be applied when filtering resources.
-     */
-    @Parameter(defaultValue = "${project.build.sourceEncoding}")
-    protected String encoding;
-
-    /**
-     * Expression preceded with the String won't be interpolated
-     * \${foo} will be replaced with ${foo}
-     */
-    @Parameter(defaultValue = "${maven.resources.escapeString}")
-    protected String escapeString = "\\";
-
-    /**
-     * System properties.
-     */
-    @Parameter
-    protected Map<String, String> systemProperties;
-
-    private void checkChanges(Features newFeatures, ObjectFactory objectFactory) throws Exception, IOException, JAXBException, XMLStreamException {
-        if (checkDependencyChange) {
-            //combine all the dependencies to one feature and strip out versions
-            Features features = objectFactory.createFeaturesRoot();
-            features.setName(newFeatures.getName());
-            Feature feature = objectFactory.createFeature();
-            features.getFeature().add(feature);
-            for (Feature f : newFeatures.getFeature()) {
-                for (Bundle b : f.getBundle()) {
-                    Bundle bundle = objectFactory.createBundle();
-                    bundle.setLocation(b.getLocation());
-                    feature.getBundle().add(bundle);
-                }
-                for (Dependency d : f.getFeature()) {
-                    Dependency dependency = objectFactory.createDependency();
-                    dependency.setName(d.getName());
-                    feature.getFeature().add(dependency);
-                }
-            }
-
-            Collections.sort(feature.getBundle(), new Comparator<Bundle>() {
-
-                public int compare(Bundle bundle, Bundle bundle1) {
-                    return bundle.getLocation().compareTo(bundle1.getLocation());
-                }
-            });
-            Collections.sort(feature.getFeature(), new Comparator<Dependency>() {
-                public int compare(Dependency dependency, Dependency dependency1) {
-                    return dependency.getName().compareTo(dependency1.getName());
-                }
-            });
-
-            if (dependencyCache.exists()) {
-                //filter dependencies file
-                filter(dependencyCache, filteredDependencyCache);
-                //read dependency types, convert to dependencies, compare.
-                Features oldfeatures = readFeaturesFile(filteredDependencyCache);
-                Feature oldFeature = oldfeatures.getFeature().get(0);
-
-                List<Bundle> addedBundles = new ArrayList<Bundle>(feature.getBundle());
-                List<Bundle> removedBundles = new ArrayList<Bundle>();
-                for (Bundle test : oldFeature.getBundle()) {
-                    boolean t1 = addedBundles.contains(test);
-                    int s1 = addedBundles.size();
-                    boolean t2 = addedBundles.remove(test);
-                    int s2 = addedBundles.size();
-                    if (t1 != t2) {
-                        getLog().warn("dependencies.contains: " + t1 + ", dependencies.remove(test): " + t2);
-                    }
-                    if (t1 == (s1 == s2)) {
-                        getLog().warn("dependencies.contains: " + t1 + ", size before: " + s1 + ", size after: " + s2);
-                    }
-                    if (!t2) {
-                        removedBundles.add(test);
-                    }
-                }
-
-                List<Dependency> addedDependencys = new ArrayList<Dependency>(feature.getFeature());
-                List<Dependency> removedDependencys = new ArrayList<Dependency>();
-                for (Dependency test : oldFeature.getFeature()) {
-                    boolean t1 = addedDependencys.contains(test);
-                    int s1 = addedDependencys.size();
-                    boolean t2 = addedDependencys.remove(test);
-                    int s2 = addedDependencys.size();
-                    if (t1 != t2) {
-                        getLog().warn("dependencies.contains: " + t1 + ", dependencies.remove(test): " + t2);
-                    }
-                    if (t1 == (s1 == s2)) {
-                        getLog().warn("dependencies.contains: " + t1 + ", size before: " + s1 + ", size after: " + s2);
-                    }
-                    if (!t2) {
-                        removedDependencys.add(test);
-                    }
-                }
-                if (!addedBundles.isEmpty() || !removedBundles.isEmpty() || !addedDependencys.isEmpty() || !removedDependencys.isEmpty()) {
-                    saveDependencyChanges(addedBundles, removedBundles, addedDependencys, removedDependencys, objectFactory);
-                    if (overwriteChangedDependencies) {
-                        writeDependencies(features, dependencyCache);
-                    }
-                } else {
-                    getLog().info(saveTreeListing());
-                }
-
-            } else {
-                writeDependencies(features, dependencyCache);
-            }
-        }
-    }
-
-    protected void saveDependencyChanges(Collection<Bundle> addedBundles, Collection<Bundle> removedBundles, Collection<Dependency> addedDependencys, Collection<Dependency> removedDependencys, ObjectFactory objectFactory)
-            throws Exception {
-        File addedFile = new File(filteredDependencyCache.getParentFile(), "dependencies.added.xml");
-        Features added = toFeatures(addedBundles, addedDependencys, objectFactory);
-        writeDependencies(added, addedFile);
-
-        File removedFile = new File(filteredDependencyCache.getParentFile(), "dependencies.removed.xml");
-        Features removed = toFeatures(removedBundles, removedDependencys, objectFactory);
-        writeDependencies(removed, removedFile);
-
-        StringWriter out = new StringWriter();
-        out.write(saveTreeListing());
-
-        out.write("Dependencies have changed:\n");
-        if (!addedBundles.isEmpty() || !addedDependencys.isEmpty()) {
-            out.write("\tAdded dependencies are saved here: " + addedFile.getAbsolutePath() + "\n");
-            if (logDependencyChanges) {
-                JaxbUtil.marshal(added, out);
-            }
-        }
-        if (!removedBundles.isEmpty() || !removedDependencys.isEmpty()) {
-            out.write("\tRemoved dependencies are saved here: " + removedFile.getAbsolutePath() + "\n");
-            if (logDependencyChanges) {
-                JaxbUtil.marshal(removed, out);
-            }
-        }
-        out.write("Delete " + dependencyCache.getAbsolutePath()
-                + " if you are happy with the dependency changes.");
-
-        if (failOnDependencyChange) {
-            throw new MojoFailureException(out.toString());
-        } else {
-            getLog().warn(out.toString());
-        }
-    }
-
-    private Features toFeatures(Collection<Bundle> addedBundles, Collection<Dependency> addedDependencys, ObjectFactory objectFactory) {
-        Features features = objectFactory.createFeaturesRoot();
-        Feature feature = objectFactory.createFeature();
-        feature.getBundle().addAll(addedBundles);
-        feature.getFeature().addAll(addedDependencys);
-        features.getFeature().add(feature);
-        return features;
-    }
-
-
-    private void writeDependencies(Features features, File file) throws JAXBException, IOException {
-        file.getParentFile().mkdirs();
-        if (!file.getParentFile().exists() || !file.getParentFile().isDirectory()) {
-            throw new IOException("Cannot create directory at " + file.getParent());
-        }
-        FileOutputStream out = new FileOutputStream(file);
-        try {
-            JaxbUtil.marshal(features, out);
-        } finally {
-            out.close();
-        }
-    }
-
-    protected void filter(File sourceFile, File targetFile)
-            throws MojoExecutionException {
-        try {
-
-            if (StringUtils.isEmpty(encoding)) {
-                getLog().warn(
-                        "File encoding has not been set, using platform encoding " + ReaderFactory.FILE_ENCODING
-                                + ", i.e. build is platform dependent!");
-            }
-            targetFile.getParentFile().mkdirs();
-
-            final MavenResourcesExecution mre = new MavenResourcesExecution();
-            mre.setMavenProject(project);
-            mre.setMavenSession(mavenSession);
-            mre.setFilters(null);
-            mre.setEscapedBackslashesInFilePath(true);
-            final LinkedHashSet<String> delimiters = new LinkedHashSet<>();
-            delimiters.add("${*}");
-            mre.setDelimiters(delimiters);
-
-            @SuppressWarnings("rawtypes")
-            List filters = mavenFileFilter.getDefaultFilterWrappers(mre);
-            mavenFileFilter.copyFile(sourceFile, targetFile, true, filters, encoding, true);
-        } catch (MavenFilteringException e) {
-            throw new MojoExecutionException(e.getMessage(), e);
-        }
-    }
-
-    protected String saveTreeListing() throws IOException {
-        File treeListFile = new File(filteredDependencyCache.getParentFile(), "treeListing.txt");
-        OutputStream os = new FileOutputStream(treeListFile);
-        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os));
-        try {
-            writer.write(treeListing);
-        } finally {
-            writer.close();
-        }
-        return "\tTree listing is saved here: " + treeListFile.getAbsolutePath() + "\n";
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/Dependency30Helper.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/Dependency30Helper.java
deleted file mode 100644 (file)
index 8deeeb2..0000000
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling.utils;
-
-import static java.lang.String.format;
-import static org.apache.commons.lang.reflect.MethodUtils.invokeMethod;
-import static org.apache.karaf.deployer.kar.KarArtifactInstaller.FEATURE_CLASSIFIER;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.maven.RepositoryUtils;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuildingRequest;
-import org.sonatype.aether.RepositorySystem;
-import org.sonatype.aether.RepositorySystemSession;
-import org.sonatype.aether.artifact.Artifact;
-import org.sonatype.aether.collection.CollectRequest;
-import org.sonatype.aether.collection.CollectResult;
-import org.sonatype.aether.collection.DependencyCollectionContext;
-import org.sonatype.aether.collection.DependencyCollectionException;
-import org.sonatype.aether.collection.DependencyGraphTransformer;
-import org.sonatype.aether.collection.DependencySelector;
-import org.sonatype.aether.graph.Dependency;
-import org.sonatype.aether.graph.DependencyNode;
-import org.sonatype.aether.repository.RemoteRepository;
-import org.sonatype.aether.resolution.ArtifactRequest;
-import org.sonatype.aether.resolution.ArtifactResolutionException;
-import org.sonatype.aether.resolution.ArtifactResult;
-import org.sonatype.aether.util.DefaultRepositorySystemSession;
-import org.sonatype.aether.util.artifact.DefaultArtifact;
-import org.sonatype.aether.util.graph.selector.AndDependencySelector;
-import org.sonatype.aether.util.graph.selector.ExclusionDependencySelector;
-import org.sonatype.aether.util.graph.selector.OptionalDependencySelector;
-import org.sonatype.aether.util.graph.transformer.ChainedDependencyGraphTransformer;
-import org.sonatype.aether.util.graph.transformer.ConflictMarker;
-import org.sonatype.aether.util.graph.transformer.JavaDependencyContextRefiner;
-import org.sonatype.aether.util.graph.transformer.JavaEffectiveScopeCalculator;
-
-/**
- * This is a dependency helper compliant with Maven 3.0 (using Aether Sonatype lib)
- */
-public class Dependency30Helper implements DependencyHelper {
-
-    /**
-     * The entry point to Aether, i.e. the component doing all the work.
-     */
-    private final RepositorySystem repositorySystem;
-
-    /**
-     * The current repository/network configuration of Maven.
-     */
-    private final RepositorySystemSession repositorySystemSession;
-
-    /**
-     * The project's defined repositories to use for the resolution of project dependencies.
-     */
-    private final List<RemoteRepository> projectRepositories;
-
-    // dependencies we are interested in
-    protected Set<LocalDependency> localDependencies;
-    // log of what happened during search
-    protected String treeListing;
-
-    public Dependency30Helper(List<RemoteRepository> projectRepositories, RepositorySystemSession repositorySystemSession, RepositorySystem repositorySystem) {
-        this.projectRepositories = projectRepositories;
-        this.repositorySystemSession = repositorySystemSession;
-        this.repositorySystem = repositorySystem;
-    }
-    
-       public void setRepositorySession(final ProjectBuildingRequest request) throws MojoExecutionException {
-               try {
-                       invokeMethod(request, "setRepositorySession", repositorySystemSession);
-               } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
-                       throw new MojoExecutionException("Cannot set repository session on project building request", e);
-               }
-       }
-
-    @Override
-    public Set<LocalDependency> getLocalDependencies() {
-        return this.localDependencies;
-    }
-
-    @Override
-    public String getTreeListing() {
-        return this.treeListing;
-    }
-
-    @Override
-    public void getDependencies(MavenProject project, boolean useTransitiveDependencies) throws MojoExecutionException {
-        DependencyNode rootNode = getDependencyTree(RepositoryUtils.toArtifact(project.getArtifact()));
-        Scanner scanner = new Scanner();
-        scanner.scan(rootNode, useTransitiveDependencies);
-        localDependencies = scanner.localDependencies;
-        treeListing = scanner.getLog();
-    }
-
-    private DependencyNode getDependencyTree(Artifact artifact) throws MojoExecutionException {
-        try {
-            CollectRequest collectRequest = new CollectRequest(new Dependency(artifact, "compile"), null, projectRepositories);
-            DefaultRepositorySystemSession session = new DefaultRepositorySystemSession(repositorySystemSession);
-            session.setDependencySelector(new AndDependencySelector(new OptionalDependencySelector(),
-                    new ScopeDependencySelector1(),
-                    new ExclusionDependencySelector()));
-            DependencyGraphTransformer transformer = new ChainedDependencyGraphTransformer(new ConflictMarker(),
-                    new JavaEffectiveScopeCalculator(),
-                    new JavaDependencyContextRefiner());
-            session.setDependencyGraphTransformer(transformer);
-            CollectResult result = repositorySystem.collectDependencies(session, collectRequest);
-            return result.getRoot();
-        } catch (DependencyCollectionException e) {
-            throw new MojoExecutionException("Cannot build project dependency tree", e);
-        }
-    }
-
-    /**
-     * Aether's ScopeDependencySelector appears to always exclude the configured scopes (test and provided) and there is no way to configure it to
-     * accept the top level provided scope dependencies. We need this 3 layers cake since Aether never actually uses the top level selector you give it,
-     * it always starts by getting the child to apply to the project's dependencies.
-     */
-    private static class ScopeDependencySelector1 implements DependencySelector {
-
-        private DependencySelector child = new ScopeDependencySelector2();
-
-        public boolean selectDependency(Dependency dependency) {
-            throw new IllegalStateException("This does not appear to be called");
-        }
-
-        public DependencySelector deriveChildSelector(DependencyCollectionContext context) {
-            return child;
-        }
-
-    }
-
-    private static class ScopeDependencySelector2 implements DependencySelector {
-
-        private DependencySelector child = new ScopeDependencySelector3();
-
-        public boolean selectDependency(Dependency dependency) {
-            String scope = dependency.getScope();
-            return !"test".equals(scope) && !"runtime".equals(scope);
-        }
-
-        public DependencySelector deriveChildSelector(DependencyCollectionContext context) {
-            return child;
-        }
-
-    }
-
-    private static class ScopeDependencySelector3 implements DependencySelector {
-
-        public boolean selectDependency(Dependency dependency) {
-            String scope = dependency.getScope();
-            return !"test".equals(scope) && !"provided".equals(scope) && !"runtime".equals(scope);
-        }
-
-        public DependencySelector deriveChildSelector(DependencyCollectionContext context) {
-            return this;
-        }
-
-    }
-
-    private static class Scanner {
-
-        private static enum Accept {
-            ACCEPT(true, true),
-            PROVIDED(true, false),
-            STOP(false, false);
-
-            private final boolean more;
-            private final boolean local;
-
-            private Accept(boolean more, boolean local) {
-                this.more = more;
-                this.local = local;
-            }
-
-            public boolean isContinue() {
-                return more;
-            }
-
-            public boolean isLocal() {
-                return local;
-            }
-
-        }
-
-        // all the dependencies needed, with provided dependencies removed
-        private final Set<LocalDependency> localDependencies = new LinkedHashSet<>();
-
-        // dependencies from ancestor, to be removed from localDependencies
-        private final Set<Artifact> dependencies = new LinkedHashSet<>();
-
-        private final StringBuilder log = new StringBuilder();
-
-        public void scan(DependencyNode rootNode, boolean useTransitiveDependencies) throws MojoExecutionException {
-            for (DependencyNode child : rootNode.getChildren()) {
-                scan(rootNode, child, Accept.ACCEPT, useTransitiveDependencies, false, "");
-            }
-            if (useTransitiveDependencies) {
-                localDependencies.removeAll(dependencies);
-            }
-        }
-
-        private void scan(DependencyNode parentNode, DependencyNode dependencyNode, Accept parentAccept, boolean useTransitiveDependencies, boolean isFromFeature, String indent) throws MojoExecutionException {
-            Accept accept = accept(dependencyNode, parentAccept);
-            if (accept.isLocal()) {
-                if (isFromFeature) {
-                    if (!isFeature(dependencyNode)) {
-                        log.append(indent).append("from feature:").append(dependencyNode).append("\n");
-                        dependencies.add(dependencyNode.getDependency().getArtifact());
-                    } else {
-                        log.append(indent).append("is feature:").append(dependencyNode).append("\n");
-                    }
-                } else {
-                    log.append(indent).append("local:").append(dependencyNode).append("\n");
-                    if (localDependencies.contains(dependencyNode.getDependency().getArtifact())) {
-                        log.append(indent).append("already in feature, returning:").append(dependencyNode).append("\n");
-                        return;
-                    }
-                    // TODO resolve scope conflicts
-                    localDependencies.add(new LocalDependency(dependencyNode.getDependency().getScope(), dependencyNode.getDependency().getArtifact(), parentNode.getDependency().getArtifact()));
-                    if (isFeature(dependencyNode) || !useTransitiveDependencies) {
-                        isFromFeature = true;
-                    }
-                }
-                if (useTransitiveDependencies && accept.isContinue()) {
-                    List<DependencyNode> children = dependencyNode.getChildren();
-                    for (DependencyNode child : children) {
-                        scan(dependencyNode, child, accept, useTransitiveDependencies, isFromFeature, indent + " ");
-                    }
-                }
-            }
-        }
-
-        public String getLog() {
-            return log.toString();
-        }
-
-        private Accept accept(DependencyNode dependency, Accept previous) {
-            String scope = dependency.getDependency().getScope();
-            if (scope == null || "runtime".equalsIgnoreCase(scope) || "compile".equalsIgnoreCase(scope)) {
-                return previous;
-            }
-            if ("provided".equalsIgnoreCase(scope)) {
-                return Accept.PROVIDED;
-            }
-            return Accept.STOP;
-        }
-
-    }
-
-    public static boolean isFeature(DependencyNode dependencyNode) {
-        return isFeature(dependencyNode.getDependency().getArtifact());
-    }
-
-    public static boolean isFeature(Artifact artifact) {
-        return artifact.getExtension().equals("kar") || FEATURE_CLASSIFIER.equals(artifact.getClassifier());
-    }
-
-    @Override
-    public boolean isArtifactAFeature(Object artifact) {
-        return Dependency30Helper.isFeature((Artifact) artifact);
-    }
-    
-       @Override
-       public String getBaseVersion(Object artifact) {
-               return ((Artifact) artifact).getBaseVersion();
-       }
-
-       @Override
-       public String getGroupId(Object artifact) {
-               return ((Artifact) artifact).getGroupId();
-       }
-
-    @Override
-    public String getArtifactId(Object artifact) {
-        return ((Artifact) artifact).getArtifactId();
-    }
-
-    @Override
-    public String getClassifier(Object artifact) {
-        return ((Artifact) artifact).getClassifier();
-    }
-
-    @Override
-    public File resolve(Object artifact, Log log) {
-        ArtifactRequest request = new ArtifactRequest();
-        request.setArtifact((Artifact) artifact);
-        request.setRepositories(projectRepositories);
-
-        log.debug("Resolving artifact " + artifact + " from " + projectRepositories);
-
-        ArtifactResult result;
-        try {
-            result = repositorySystem.resolveArtifact(repositorySystemSession, request);
-        } catch (ArtifactResolutionException e) {
-            log.warn("Could not resolve " + artifact, e);
-            return null;
-        }
-
-        log.debug("Resolved artifact " + artifact + " to " + result.getArtifact().getFile() + " from " + result.getRepository());
-
-        return result.getArtifact().getFile();
-    }
-
-    @Override
-    public File resolveById(String id, Log log) throws MojoFailureException {
-        if (id.startsWith("mvn:")) {
-            if (id.contains("!")) {
-                id = id.substring(0, "mvn:".length()) + id.substring(id.indexOf("!") + 1);
-            }
-            if (id.endsWith("/")) {
-                id = id.substring(0, id.length() - 1);
-            }
-        }
-        id = MavenUtil.mvnToAether(id);
-        ArtifactRequest request = new ArtifactRequest();
-        request.setArtifact(new DefaultArtifact(id));
-        request.setRepositories((List<RemoteRepository>) projectRepositories);
-
-        log.debug("Resolving artifact " + id + " from " + projectRepositories);
-
-        ArtifactResult result;
-        try {
-            result = repositorySystem.resolveArtifact(repositorySystemSession, request);
-        } catch (ArtifactResolutionException e) {
-            log.warn("Could not resolve " + id, e);
-            throw new MojoFailureException(format("Couldn't resolve artifact %s", id), e);
-        }
-
-        log.debug("Resolved artifact " + id + " to " + result.getArtifact().getFile() + " from " + result.getRepository());
-
-        return result.getArtifact().getFile();
-    }
-
-    @Override
-    public String artifactToMvn(org.apache.maven.artifact.Artifact artifact, String versionOrRange) {
-        return this.artifactToMvn(RepositoryUtils.toArtifact(artifact), versionOrRange);
-    }
-
-    @Override
-    public String artifactToMvn(Object _artifact, String versionOrRange) {
-        Artifact artifact = (Artifact) _artifact;
-        String bundleName;
-        if (artifact.getExtension().equals("jar") && MavenUtil.isEmpty(artifact.getClassifier())) {
-            bundleName = String.format("mvn:%s/%s/%s", artifact.getGroupId(), artifact.getArtifactId(), versionOrRange);
-        } else {
-            if (MavenUtil.isEmpty(artifact.getClassifier())) {
-                bundleName = String.format("mvn:%s/%s/%s/%s", artifact.getGroupId(), artifact.getArtifactId(), versionOrRange, artifact.getExtension());
-            } else {
-                bundleName = String.format("mvn:%s/%s/%s/%s/%s", artifact.getGroupId(), artifact.getArtifactId(), versionOrRange, artifact.getExtension(), artifact.getClassifier());
-            }
-        }
-        return bundleName;
-    }
-
-    @Override
-    public org.apache.maven.artifact.Artifact mvnToArtifact(String name) {
-        name = MavenUtil.mvnToAether(name);
-        DefaultArtifact artifact = new DefaultArtifact(name);
-        org.apache.maven.artifact.Artifact mavenArtifact = RepositoryUtils.toArtifact(artifact);
-        return mavenArtifact;
-    }
-
-    @Override
-    public String pathFromMaven(String name) {
-        if (name.indexOf(':') == -1) {
-            return name;
-        }
-        if (name.endsWith("/")) {
-            name = name.substring(0, name.length() - 1);
-        }
-        name = MavenUtil.mvnToAether(name);
-        return pathFromAether(name);
-    }
-
-    @Override
-    public String pathFromAether(String name) {
-        DefaultArtifact artifact = new DefaultArtifact(name);
-        org.apache.maven.artifact.Artifact mavenArtifact = RepositoryUtils.toArtifact(artifact);
-        return MavenUtil.layout.pathOf(mavenArtifact);
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/Dependency31Helper.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/Dependency31Helper.java
deleted file mode 100644 (file)
index 89a1762..0000000
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling.utils;
-
-import org.apache.maven.RepositoryUtils;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuildingRequest;
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.collection.*;
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.resolution.ArtifactRequest;
-import org.eclipse.aether.resolution.ArtifactResolutionException;
-import org.eclipse.aether.resolution.ArtifactResult;
-import org.eclipse.aether.util.graph.selector.AndDependencySelector;
-import org.eclipse.aether.util.graph.selector.ExclusionDependencySelector;
-import org.eclipse.aether.util.graph.selector.OptionalDependencySelector;
-import org.eclipse.aether.util.graph.transformer.*;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.*;
-
-import static java.lang.String.*;
-import static org.apache.commons.lang.reflect.MethodUtils.invokeMethod;
-import static org.apache.karaf.deployer.kar.KarArtifactInstaller.FEATURE_CLASSIFIER;
-
-/**
- * <p>{@link DependencyHelper} for accessing Eclipse Aether system used in Maven 3.1+. It uses reflection to access
- * these methods of {@code maven-core} APIs which directly references Eclipse Aether classes.</p>
- *
- * <p>When {@code karaf-maven-plugin} switches to {@code maven-core:3.1.0+}, reflection should be use for Sonatype
- * Aether in {@link Dependency30Helper} and this class will use Maven API directly.</p>
- */
-public class Dependency31Helper implements DependencyHelper {
-
-    /**
-     * The entry point to Aether, i.e. the component doing all the work.
-     */
-    private final RepositorySystem repositorySystem;
-
-    /**
-     * The current repository/network configuration of Maven.
-     */
-    private final RepositorySystemSession repositorySystemSession;
-
-    /**
-     * The project's remote repositories to use for the resolution of project dependencies.
-     */
-    private final List<RemoteRepository> projectRepositories;
-
-    // dependencies we are interested in
-    protected Set<LocalDependency> localDependencies;
-    // log of what happened during search
-    protected String treeListing;
-
-    @SuppressWarnings("unchecked")
-    public Dependency31Helper(List<?> repositories, Object session, RepositorySystem repositorySystem) {
-        this.projectRepositories = (List<RemoteRepository>) repositories;
-        this.repositorySystemSession = (RepositorySystemSession) session;
-        this.repositorySystem = repositorySystem;
-    }
-    
-       public void setRepositorySession(final ProjectBuildingRequest request) throws MojoExecutionException {
-               try {
-                       invokeMethod(request, "setRepositorySession", repositorySystemSession);
-               } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
-                       throw new MojoExecutionException("Cannot set repository session on project building request", e);
-               }
-       }
-
-    @Override
-    public Set<LocalDependency> getLocalDependencies() {
-        return localDependencies;
-    }
-
-    @Override
-    public String getTreeListing() {
-        return treeListing;
-    }
-
-    @Override
-    public void getDependencies(MavenProject project, boolean useTransitiveDependencies) throws MojoExecutionException {
-        DependencyNode rootNode = getDependencyTree(toArtifact(project.getArtifact()));
-
-        Scanner scanner = new Scanner();
-        scanner.scan(rootNode, useTransitiveDependencies);
-        localDependencies = scanner.localDependencies;
-        treeListing = scanner.getLog();
-    }
-
-    private DependencyNode getDependencyTree(Artifact artifact) throws MojoExecutionException {
-        try {
-            CollectRequest collectRequest = new CollectRequest(new Dependency(artifact, "compile"), null, projectRepositories);
-            DefaultRepositorySystemSession session = new DefaultRepositorySystemSession(repositorySystemSession);
-            session.setDependencySelector(new AndDependencySelector(new OptionalDependencySelector(),
-                    new ScopeDependencySelector1(),
-                    new ExclusionDependencySelector()));
-            // between aether-util 0.9.0.M1 and M2, JavaEffectiveScopeCalculator was removed
-            // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=397241
-            DependencyGraphTransformer transformer = new ChainedDependencyGraphTransformer(new ConflictMarker(),
-                    new ConflictResolver(new NearestVersionSelector(), new JavaScopeSelector(), new SimpleOptionalitySelector(), new JavaScopeDeriver()),
-                    new JavaDependencyContextRefiner());
-            session.setDependencyGraphTransformer(transformer);
-            CollectResult result = repositorySystem.collectDependencies(session, collectRequest);
-            return result.getRoot();
-        } catch (DependencyCollectionException e) {
-            throw new MojoExecutionException("Cannot build project dependency tree", e);
-        }
-    }
-
-    /**
-     * Aether's ScopeDependencySelector appears to always exclude the configured scopes (test and provided) and there is no way to configure it to
-     * accept the top level provided scope dependencies. We need this 3 layers cake since Aether never actually uses the top level selector you give it,
-     * it always starts by getting the child to apply to the project's dependencies.
-     */
-    private static class ScopeDependencySelector1 implements DependencySelector {
-
-        private DependencySelector child = new ScopeDependencySelector2();
-
-        public boolean selectDependency(Dependency dependency) {
-            throw new IllegalStateException("This does not appear to be called");
-        }
-
-        public DependencySelector deriveChildSelector(DependencyCollectionContext context) {
-            return child;
-        }
-
-    }
-
-    public static class ScopeDependencySelector2 implements DependencySelector {
-
-        private DependencySelector child = new ScopeDependencySelector3();
-
-        public boolean selectDependency(Dependency dependency) {
-            String scope = dependency.getScope();
-            return !"test".equals(scope) && !"runtime".equals(scope);
-        }
-
-        public DependencySelector deriveChildSelector(DependencyCollectionContext context) {
-            return child;
-        }
-
-    }
-
-    private static class ScopeDependencySelector3 implements DependencySelector {
-
-        public boolean selectDependency(Dependency dependency) {
-            String scope = dependency.getScope();
-            return !"test".equals(scope) && !"provided".equals(scope) && !"runtime".equals(scope);
-        }
-
-        public DependencySelector deriveChildSelector(DependencyCollectionContext context) {
-            return this;
-        }
-
-    }
-
-    private static class Scanner {
-
-        private static enum Accept {
-            ACCEPT(true, true),
-            PROVIDED(true, false),
-            STOP(false, false);
-
-            private final boolean more;
-            private final boolean local;
-
-            private Accept(boolean more, boolean local) {
-                this.more = more;
-                this.local = local;
-            }
-
-            public boolean isContinue() {
-                return more;
-            }
-
-            public boolean isLocal() {
-                return local;
-            }
-        }
-
-        // all the dependencies needed, with provided dependencies removed
-        private final Set<LocalDependency> localDependencies = new LinkedHashSet<>();
-
-        // dependencies from ancestor, to be removed from localDependencies
-        private final Set<Artifact> dependencies = new LinkedHashSet<>();
-
-        private final StringBuilder log = new StringBuilder();
-
-        public void scan(DependencyNode rootNode, boolean useTransitiveDependencies) throws MojoExecutionException {
-            for (DependencyNode child : rootNode.getChildren()) {
-                scan(rootNode, child, Accept.ACCEPT, useTransitiveDependencies, false, "");
-            }
-            if (useTransitiveDependencies) {
-                localDependencies.removeAll(dependencies);
-            }
-        }
-
-        private void scan(DependencyNode parentNode, DependencyNode dependencyNode, Accept parentAccept, boolean useTransitiveDependencies, boolean isFromFeature, String indent) throws MojoExecutionException {
-            Accept accept = accept(dependencyNode, parentAccept);
-            if (accept.isLocal()) {
-                if (isFromFeature) {
-                    if (!isFeature(dependencyNode)) {
-                        log.append(indent).append("from feature:").append(dependencyNode).append("\n");
-                        dependencies.add(dependencyNode.getDependency().getArtifact());
-                    } else {
-                        log.append(indent).append("is feature:").append(dependencyNode).append("\n");
-                    }
-                } else {
-                    log.append(indent).append("local:").append(dependencyNode).append("\n");
-                    if (localDependencies.contains(dependencyNode.getDependency().getArtifact())) {
-                        log.append(indent).append("already in feature, returning:").append(dependencyNode).append("\n");
-                        return;
-                    }
-                    // TODO resolve scope conflicts
-                    localDependencies.add(new LocalDependency(dependencyNode.getDependency().getScope(), dependencyNode.getDependency().getArtifact(), parentNode.getDependency().getArtifact()));
-                    if (isFeature(dependencyNode) || !useTransitiveDependencies) {
-                        isFromFeature = true;
-                    }
-                }
-                if (useTransitiveDependencies && accept.isContinue()) {
-                    List<DependencyNode> children = dependencyNode.getChildren();
-                    for (DependencyNode child : children) {
-                        scan(dependencyNode, child, accept, useTransitiveDependencies, isFromFeature, indent + " ");
-                    }
-                }
-            }
-        }
-
-        public String getLog() {
-            return log.toString();
-        }
-
-        private Accept accept(DependencyNode dependency, Accept previous) {
-            String scope = dependency.getDependency().getScope();
-            if (scope == null || "runtime".equalsIgnoreCase(scope) || "compile".equalsIgnoreCase(scope)) {
-                return previous;
-            }
-            if ("provided".equalsIgnoreCase(scope)) {
-                return Accept.PROVIDED;
-            }
-            return Accept.STOP;
-        }
-
-
-    }
-
-    public static boolean isFeature(DependencyNode dependencyNode) {
-        return isFeature(dependencyNode.getDependency().getArtifact());
-    }
-
-    public static boolean isFeature(Artifact artifact) {
-        return artifact.getExtension().equals("kar") || FEATURE_CLASSIFIER.equals(artifact.getClassifier());
-    }
-
-    @Override
-    public boolean isArtifactAFeature(Object artifact) {
-        return Dependency31Helper.isFeature((Artifact) artifact);
-    }
-    
-       @Override
-       public String getBaseVersion(Object artifact) {
-               return ((Artifact) artifact).getBaseVersion();
-       }
-
-       @Override
-       public String getGroupId(Object artifact) {
-               return ((Artifact) artifact).getGroupId();
-       }
-
-    @Override
-    public String getArtifactId(Object artifact) {
-        return ((Artifact) artifact).getArtifactId();
-    }
-
-    @Override
-    public String getClassifier(Object artifact) {
-        return ((Artifact) artifact).getClassifier();
-    }
-
-    @Override
-    public File resolve(Object artifact, Log log) {
-        ArtifactRequest request = new ArtifactRequest();
-        request.setArtifact((Artifact) artifact);
-        request.setRepositories(projectRepositories);
-
-        log.debug("Resolving artifact " + artifact + " from " + projectRepositories);
-
-        ArtifactResult result;
-        try {
-            result = repositorySystem.resolveArtifact(repositorySystemSession, request);
-        } catch (ArtifactResolutionException e) {
-            log.warn("Cound not resolve " + artifact, e);
-            return null;
-        }
-
-        log.debug("Resolved artifact " + artifact + " to " + result.getArtifact().getFile() + " from " + result.getRepository());
-
-        return result.getArtifact().getFile();
-    }
-
-    @Override
-    public File resolveById(String id, Log log) throws MojoFailureException {
-        if (id.startsWith("mvn:")) {
-            if (id.contains("!")) {
-                id = id.substring(0, "mvn:".length()) + id.substring(id.indexOf("!") + 1);
-            }
-            if (id.endsWith("/")) {
-                id = id.substring(0, id.length() - 1);
-            }
-        }
-        id = MavenUtil.mvnToAether(id);
-        ArtifactRequest request = new ArtifactRequest();
-        request.setArtifact(new DefaultArtifact(id));
-        request.setRepositories(projectRepositories);
-
-        log.debug("Resolving artifact " + id + " from " + projectRepositories);
-
-        ArtifactResult result;
-        try {
-            result = repositorySystem.resolveArtifact(repositorySystemSession, request);
-        } catch (ArtifactResolutionException e) {
-            log.warn("Could not resolve " + id, e);
-            throw new MojoFailureException(format("Couldn't resolve artifact %s", id), e);
-        }
-
-        log.debug("Resolved artifact " + id + " to " + result.getArtifact().getFile() + " from " + result.getRepository());
-
-        return result.getArtifact().getFile();
-    }
-
-    @Override
-    public String artifactToMvn(org.apache.maven.artifact.Artifact artifact, String versionOrRange) throws MojoExecutionException {
-        return this.artifactToMvn(toArtifact(artifact), versionOrRange);
-    }
-
-    @Override
-    public String artifactToMvn(Object _artifact, String versionOrRange) {
-        Artifact artifact = (Artifact) _artifact;
-        String bundleName;
-        if (artifact.getExtension().equals("jar") && MavenUtil.isEmpty(artifact.getClassifier())) {
-            bundleName = String.format("mvn:%s/%s/%s", artifact.getGroupId(), artifact.getArtifactId(), versionOrRange);
-        } else {
-            if (MavenUtil.isEmpty(artifact.getClassifier())) {
-                bundleName = String.format("mvn:%s/%s/%s/%s", artifact.getGroupId(), artifact.getArtifactId(), versionOrRange, artifact.getExtension());
-            } else {
-                bundleName = String.format("mvn:%s/%s/%s/%s/%s", artifact.getGroupId(), artifact.getArtifactId(), versionOrRange, artifact.getExtension(), artifact.getClassifier());
-            }
-        }
-        return bundleName;
-    }
-
-    private static Artifact toArtifact(org.apache.maven.artifact.Artifact artifact) throws MojoExecutionException {
-        try {
-            Method toArtifact = RepositoryUtils.class.getMethod("toArtifact", org.apache.maven.artifact.Artifact.class);
-            return (Artifact) toArtifact.invoke(null, artifact);
-        } catch (Exception e) {
-            throw new MojoExecutionException(e.getMessage(), e);
-        }
-    }
-
-    private static org.apache.maven.artifact.Artifact toArtifact(Artifact artifact) throws MojoExecutionException {
-        try {
-            Method toArtifact = RepositoryUtils.class.getMethod("toArtifact", Artifact.class);
-            return (org.apache.maven.artifact.Artifact) toArtifact.invoke(null, artifact);
-        } catch (Exception e) {
-            throw new MojoExecutionException(e.getMessage(), e);
-        }
-    }
-
-    @Override
-    public org.apache.maven.artifact.Artifact mvnToArtifact(String name) throws MojoExecutionException {
-        name = MavenUtil.mvnToAether(name);
-        DefaultArtifact artifact = new DefaultArtifact(name);
-        org.apache.maven.artifact.Artifact mavenArtifact = toArtifact(artifact);
-        return mavenArtifact;
-    }
-
-    @Override
-    public String pathFromMaven(String name) throws MojoExecutionException {
-        if (name.indexOf(':') == -1) {
-            return name;
-        }
-        if (name.endsWith("/")) {
-            name = name.substring(0, name.length() - 1);
-        }
-        name = MavenUtil.mvnToAether(name);
-        return pathFromAether(name);
-    }
-
-    @Override
-    public String pathFromAether(String name) throws MojoExecutionException {
-        DefaultArtifact artifact = new DefaultArtifact(name);
-        org.apache.maven.artifact.Artifact mavenArtifact = toArtifact(artifact);
-        return MavenUtil.layout.pathOf(mavenArtifact);
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/DependencyHelper.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/DependencyHelper.java
deleted file mode 100644 (file)
index 3c356b4..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling.utils;
-
-import java.io.File;
-import java.util.Collection;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuildingRequest;
-
-/**
- * <p>An interface for accessing available Aether subsystem (Sonatype for Maven 3.0.x or Eclipse for Maven 3.1.x)</p>
- *
- * <p>Some methods have {@link Object} parameters because they should be able to receive Aether classes from
- * both Aether variants.</p>
- */
-public interface DependencyHelper {
-
-    public abstract Collection<LocalDependency> getLocalDependencies();
-
-    public abstract String getTreeListing();
-
-    public abstract void getDependencies(MavenProject project, boolean useTransitiveDependencies) throws MojoExecutionException;
-
-    public boolean isArtifactAFeature(Object artifact);
-
-    public abstract String getArtifactId(Object artifact);
-
-       public abstract String getBaseVersion(Object artifact);
-
-       public abstract String getGroupId(Object artifact);
-    
-    public abstract String getClassifier(Object artifact);
-
-    public abstract File resolve(Object artifact, Log log);
-
-    public abstract File resolveById(String id, Log log) throws MojoFailureException;
-
-    public abstract void setRepositorySession(ProjectBuildingRequest request) throws MojoExecutionException;
-    
-    /**
-     * Convert a Maven <code>Artifact</code> into a PAX URL mvn format.
-     *
-     * @param artifact the Maven <code>Artifact</code>.
-     * @return the corresponding PAX URL mvn format (mvn:groupId/artifactId/version/type/classifier)
-     */
-    public String artifactToMvn(Artifact artifact, String versionOrRange) throws MojoExecutionException;
-
-    /**
-     * Convert an Aether (Sonatype or Eclipse) artifact into a PAX URL mvn format.
-     *
-     * @param object the Aether <code>org.sonatype|eclipse.aether.artifact.Artifact</code>.
-     * @return the corresponding PAX URL mvn format (mvn:groupId/artifactId/version/type/classifier)
-     */
-    public String artifactToMvn(Object object, String versionOrRange) throws MojoExecutionException;
-
-    public Artifact mvnToArtifact(String name) throws MojoExecutionException;
-
-    /**
-     * Convert a PAX URL mvn format into a filesystem path.
-     *
-     * @param name PAX URL mvn format (mvn:groupId/artifactId/version/type/classifier).
-     * @return a filesystem path.
-     */
-    public String pathFromMaven(String name) throws MojoExecutionException;
-
-    /**
-     * Convert an Aether coordinate format into a filesystem path.
-     *
-     * @param name the Aether coordinate format (groupId:artifactId[:extension[:classifier]]:version).
-     * @return the filesystem path.
-     */
-    public String pathFromAether(String name) throws MojoExecutionException;
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/DependencyHelperFactory.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/DependencyHelperFactory.java
deleted file mode 100644 (file)
index f278e7b..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling.utils;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.sonatype.aether.repository.RemoteRepository;
-
-import java.util.List;
-
-/**
- * <p>Service-locator based factory for available Aether system (Sonatype for Maven 3.0.x or Eclipse for Maven 3.1.x)</p>
- */
-public class DependencyHelperFactory {
-
-    /**
-     * <p>Create a new {@link DependencyHelper} based on what has been found in {@link org.codehaus.plexus.PlexusContainer}</p>
-     *
-     * <p>{@code karaf-maven-plugin} depends on {@code maven-core:3.0}, so for Maven 3.0.x, it may use this API directly.
-     * When using Maven 3.1.x/3.2.x, it should use reflection to invoke org.apache.maven.RepositoryUtils.toArtifact(Artifact)
-     * as this method directly references specific Aether implementation.</p>
-     *
-     * <p>When {@code karaf-maven-plugin} switches to {@code maven-core:3.1.0+}, reflection should be use for Sonatype variant of Aether.</p>
-     *
-     * @param container
-     * @param mavenProject
-     * @param mavenSession
-     * @param log
-     * @return
-     * @throws MojoExecutionException
-     */
-    public static DependencyHelper createDependencyHelper(PlexusContainer container, MavenProject mavenProject, MavenSession mavenSession, Log log) throws MojoExecutionException {
-        try {
-            if (container.hasComponent("org.sonatype.aether.RepositorySystem")) {
-                org.sonatype.aether.RepositorySystem system = container.lookup(org.sonatype.aether.RepositorySystem.class);
-                org.sonatype.aether.RepositorySystemSession session = mavenSession.getRepositorySession();
-                List<RemoteRepository> repositories = mavenProject.getRemoteProjectRepositories();
-                return new Dependency30Helper(repositories, session, system);
-            } else if (container.hasComponent("org.eclipse.aether.RepositorySystem")) {
-                org.eclipse.aether.RepositorySystem system = container.lookup(org.eclipse.aether.RepositorySystem.class);
-                Object session;
-                try {
-                    session = MavenSession.class.getMethod("getRepositorySession").invoke(mavenSession);
-                } catch (Exception e) {
-                    throw new MojoExecutionException(e.getMessage(), e);
-                }
-                List<?> repositories = mavenProject.getRemoteProjectRepositories();
-                return new Dependency31Helper(repositories, session, system);
-            }
-        } catch (ComponentLookupException e) {
-            throw new MojoExecutionException(e.getMessage(), e);
-        }
-        throw new MojoExecutionException("Cannot locate either org.sonatype.aether.RepositorySystem or org.eclipse.aether.RepositorySystem");
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/IoUtils.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/IoUtils.java
deleted file mode 100644 (file)
index dda50d7..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.tooling.utils;
-
-import java.io.*;
-import java.nio.channels.FileChannel;
-
-public class IoUtils {
-
-    private static final long FILE_COPY_BUFFER_SIZE = 1024 * 30;
-
-    public static void deleteRecursive(File file) {
-        if (file != null) {
-            if (file.isDirectory()) {
-                File[] children = file.listFiles();
-                if (children != null) {
-                    for (File child : children) {
-                        deleteRecursive(child);
-                    }
-                }
-            }
-            file.delete();
-        }
-    }
-
-    public static void copyDirectory(final File srcDir, final File destDir) throws IOException {
-        if (srcDir == null || !srcDir.exists())
-            return;
-        if (destDir == null || !destDir.exists())
-            destDir.mkdirs();
-        // recurse
-        final File[] srcFiles = srcDir.listFiles();
-        if (srcFiles == null) {  // null if abstract pathname does not denote a directory, or if an I/O error occurs
-            throw new IOException("Failed to list contents of " + srcDir);
-        }
-        if (destDir.exists()) {
-            if (destDir.isDirectory() == false) {
-                throw new IOException("Destination '" + destDir + "' exists but is not a directory");
-            }
-        } else {
-            if (!destDir.mkdirs() && !destDir.isDirectory()) {
-                throw new IOException("Destination '" + destDir + "' directory cannot be created");
-            }
-        }
-        if (destDir.canWrite() == false) {
-            throw new IOException("Destination '" + destDir + "' cannot be written to");
-        }
-        for (final File srcFile : srcFiles) {
-            final File dstFile = new File(destDir, srcFile.getName());
-            if (srcFile.isDirectory()) {
-                copyDirectory(srcFile, dstFile);
-            } else {
-                copyFile(srcFile, dstFile);
-            }
-        }
-    }
-
-    public static void copyFile(final File srcFile, final File destFile) throws IOException {
-        if (destFile.exists() && destFile.isDirectory()) {
-            throw new IOException("Destination '" + destFile + "' exists but is a directory");
-        }
-
-        FileInputStream fis = null;
-        FileOutputStream fos = null;
-        FileChannel input = null;
-        FileChannel output = null;
-        try {
-            fis = new FileInputStream(srcFile);
-            fos = new FileOutputStream(destFile);
-            input  = fis.getChannel();
-            output = fos.getChannel();
-            final long size = input.size(); // TODO See IO-386
-            long pos = 0;
-            long count = 0;
-            while (pos < size) {
-                final long remain = size - pos;
-                count = remain > FILE_COPY_BUFFER_SIZE ? FILE_COPY_BUFFER_SIZE : remain;
-                final long bytesCopied = output.transferFrom(input, pos, count);
-                if (bytesCopied == 0) { // IO-385 - can happen if file is truncated after caching the size
-                    break; // ensure we don't loop forever
-                }
-                pos += bytesCopied;
-            }
-        } finally {
-            if (output != null) {
-                try { output.close(); } catch (Exception e) { }
-            }
-            if (fos != null) {
-                try { fos.close(); } catch (Exception e) { }
-            }
-            if (input != null) {
-                try { input.close(); } catch (Exception e) { }
-            }
-            if (fis != null) {
-                try { fis.close(); } catch (Exception e) { }
-            }
-        }
-
-        final long srcLen = srcFile.length(); // TODO See IO-386
-        final long dstLen = destFile.length(); // TODO See IO-386
-        if (srcLen != dstLen) {
-            throw new IOException("Failed to copy full contents from '" +
-                    srcFile + "' to '" + destFile + "' Expected length: " + srcLen +" Actual: " + dstLen);
-        }
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/LocalDependency.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/LocalDependency.java
deleted file mode 100644 (file)
index 7dc7e4d..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.tooling.utils;
-
-public class LocalDependency {
-       private String scope;
-       private Object artifact;
-       private Object parent;
-       
-       LocalDependency(final String scope, final Object artifact, Object parent) {
-               this.scope = scope;
-               this.artifact = artifact;
-               this.parent = parent;
-       }
-
-       public String getScope() {
-               return scope;
-       }
-
-       public Object getArtifact() {
-               return artifact;
-       }
-
-       public Object getParent() {
-               return parent;
-       }
-       
-       @Override
-       public int hashCode() {
-               return artifact.hashCode();
-       }
-
-       @Override
-       public boolean equals(Object obj) {
-               return artifact.equals(obj);
-       }
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/ManifestUtils.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/ManifestUtils.java
deleted file mode 100644 (file)
index 3e93624..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.tooling.utils;
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.jar.Manifest;
-
-import org.apache.felix.utils.manifest.Clause;
-import org.apache.felix.utils.manifest.Parser;
-import org.apache.felix.utils.version.VersionRange;
-import org.osgi.framework.Constants;
-
-
-/**
- * A set of utility methods to ease working with {@link org.apache.felix.utils.manifest.Parser} and
- * {@link org.apache.felix.utils.manifest.Clause}
- */
-
-public class ManifestUtils {
-
-    private ManifestUtils() {
-        // hide the constructor
-    }
-
-    /**
-     * Get the list of imports from the manifest.  If no imports have been defined, this method returns an empty list.
-     *
-     * @param manifest the manifest
-     * @return the list of imports
-     */
-    public static List<Clause> getImports(Manifest manifest) {
-       List<Clause> result = new LinkedList<Clause>();
-       Clause[] clauses = Parser.parseHeader(getHeader(Constants.IMPORT_PACKAGE, manifest));
-       for (Clause clause : clauses) {
-               result.add(clause);
-       }
-       return result;
-    }
-
-    /**
-     * Get the list of non-optional imports from the manifest.
-     *
-     * @param manifest the manifest
-     * @return the list of non-optional imports
-     */
-    public static List<Clause> getMandatoryImports(Manifest manifest) {
-        List<Clause> result = new LinkedList<Clause>();
-        for (Clause clause : getImports(manifest)) {
-            if (!isOptional(clause)) {
-                result.add(clause);
-            }
-        }
-        return result;
-    }
-
-    /**
-     * Get the list of exports from the manifest.  If no exports have been defined, this method returns an empty list.
-     *
-     * @param manifest the manifest
-     * @return the list of exports
-     */
-    public static List<Clause> getExports(Manifest manifest) {
-       List<Clause> result = new LinkedList<Clause>();
-       Clause[] clauses = Parser.parseHeader(getHeader(Constants.EXPORT_PACKAGE, manifest));
-       for (Clause clause : clauses) {
-               result.add(clause);
-       }
-       return result;
-    }
-
-    /**
-     * Check if a given manifest clause represents an optional import
-     *
-     * @param clause the manifest clause
-     * @return <code>true</code> for an optional import, <code>false</code> for mandatory imports
-     */
-    public static boolean isOptional(Clause clause) {
-        return "optional".equals(clause.getDirective("resolution"));
-    }
-
-    /**
-     * Check if the manifest contains the mandatory Bundle-Symbolic-Name
-     *
-     * @param manifest the manifest
-     * @return <code>true</code> if the manifest specifies a Bundle-Symbolic-Name
-     */
-    public static boolean isBundle(Manifest manifest) {
-        return getBsn(manifest) != null;
-    }
-
-    public static boolean matches(Clause requirement, Clause export) {
-        if (requirement.getName().equals(export.getName())) {
-               VersionRange importVersionRange = getVersionRange(requirement); 
-               VersionRange exportVersionRange = getVersionRange(export);
-               VersionRange intersection = importVersionRange.intersect(exportVersionRange);
-               return intersection != null;
-        }
-        return false;
-    }
-    
-    public static String getHeader(String name, Manifest manifest) {
-       String value = manifest.getMainAttributes().getValue(name);
-       return value;           
-    }
-    
-    public static String getBsn(Manifest manifest) {
-       String bsn = getHeader(Constants.BUNDLE_SYMBOLICNAME, manifest);
-        return bsn;
-    }
-    
-    @SuppressWarnings("deprecation")
-       public static VersionRange getVersionRange(Clause clause)
-    {
-        String v = clause.getAttribute(Constants.VERSION_ATTRIBUTE);
-        if (v == null)
-        {
-            v = clause.getAttribute(Constants.PACKAGE_SPECIFICATION_VERSION);
-        }
-        if (v == null)
-        {
-            v = clause.getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE);
-        }
-        return VersionRange.parseVersionRange(v);
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/MavenUtil.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/MavenUtil.java
deleted file mode 100644 (file)
index 4d11dd5..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling.utils;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.Writer;
-import java.util.Date;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.apache.maven.artifact.repository.metadata.Snapshot;
-import org.apache.maven.artifact.repository.metadata.SnapshotVersion;
-import org.apache.maven.artifact.repository.metadata.Versioning;
-import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer;
-
-/**
- * Util method for Maven manipulation (URL convert, metadata generation, etc).
- */
-public class MavenUtil {
-
-    static final DefaultRepositoryLayout layout = new DefaultRepositoryLayout();
-    private static final Pattern aetherPattern = Pattern.compile("([^: ]+):([^: ]+)(:([^: ]*)(:([^: ]+))?)?:([^: ]+)");
-    private static final Pattern mvnPattern = Pattern.compile("(?:(?:wrap:)|(?:blueprint:))?mvn:([^/ ]+)/([^/ ]+)/([^/\\$ ]*)(/([^/\\$ ]+)(/([^/\\$ ]+))?)?(/\\$.+)?");
-
-    /**
-     * Convert PAX URL mvn format to aether coordinate format.
-     * N.B. we do not handle repository-url in mvn urls.
-     * N.B. version is required in mvn urls.
-     *
-     * @param name PAX URL mvn format: mvn-uri := [ 'wrap:' ] 'mvn:' [ repository-url '!' ] group-id '/' artifact-id [ '/' [version] [ '/' [type] [ '/' classifier ] ] ] ]
-     * @return aether coordinate format: &lt;groupId&gt;:&lt;artifactId&gt;[:&lt;extension&gt;[:&lt;classifier&gt;]]:&lt;version&gt;
-     */
-    public static String mvnToAether(String name) {
-        Matcher m = mvnPattern.matcher(name);
-        if (!m.matches()) {
-            return name;
-        }
-        StringBuilder b = new StringBuilder();
-        b.append(m.group(1)).append(":");//groupId
-        b.append(m.group(2)).append(":");//artifactId
-        String extension = m.group(5);
-        String classifier = m.group(7);
-        if (present(classifier)) {
-            if (present(extension)) {
-                b.append(extension).append(":");
-            } else {
-                b.append("jar:");
-            }
-            b.append(classifier).append(":");
-        } else {
-            if (present(extension) && !"jar".equals(extension)) {
-                b.append(extension).append(":");
-            }
-        }
-        b.append(m.group(3));
-        return b.toString();
-    }
-
-    private static boolean present(String part) {
-        return part != null && !part.isEmpty();
-    }
-
-    /**
-     * Convert Aether coordinate format to PAX mvn format.
-     * N.B. we do not handle repository-url in mvn urls.
-     * N.B. version is required in mvn urls.
-     *
-     * @param name aether coordinate format: &lt;groupId&gt;:&lt;artifactId&gt;[:&lt;extension&gt;[:&lt;classifier&gt;]]:&lt;version&gt;
-     * @return PAX URL mvn format: mvn-uri := 'mvn:' [ repository-url '!' ] group-id '/' artifact-id [ '/' [version] [ '/' [type] [ '/' classifier ] ] ] ]
-     */
-    public static String aetherToMvn(String name) {
-        Matcher m = aetherPattern.matcher(name);
-        if (!m.matches()) {
-            return name;
-        }
-        StringBuilder b = new StringBuilder("mvn:");
-        b.append(m.group(1)).append("/");//groupId
-        b.append(m.group(2)).append("/");//artifactId
-        b.append(m.group(7));//version
-        String extension = m.group(4);
-        String classifier = m.group(6);
-        if (present(classifier)) {
-            if (present(extension)) {
-                b.append("/").append(extension);
-            } else {
-                b.append("/jar");
-            }
-            b.append("/").append(classifier);
-        } else if (present(extension)) {
-            b.append("/").append(extension);
-        }
-
-        return b.toString();
-    }
-
-    public static boolean isEmpty(String classifier) {
-        return classifier == null || classifier.length() == 0;
-    }
-
-    /**
-     * Generate the maven-metadata-local.xml for the given Maven <code>Artifact</code>.
-     *
-     * @param artifact the Maven <code>Artifact</code>.
-     * @param target   the target maven-metadata-local.xml file to generate.
-     * @throws IOException if the maven-metadata-local.xml can't be generated.
-     */
-    public static void generateMavenMetadata(Artifact artifact, File target) throws IOException {
-        target.getParentFile().mkdirs();
-        Metadata metadata = new Metadata();
-        metadata.setGroupId(artifact.getGroupId());
-        metadata.setArtifactId(artifact.getArtifactId());
-        metadata.setVersion(artifact.getVersion());
-        metadata.setModelVersion("1.1.0");
-
-        Versioning versioning = new Versioning();
-        versioning.setLastUpdatedTimestamp(new Date(System.currentTimeMillis()));
-        Snapshot snapshot = new Snapshot();
-        snapshot.setLocalCopy(true);
-        versioning.setSnapshot(snapshot);
-        SnapshotVersion snapshotVersion = new SnapshotVersion();
-        snapshotVersion.setClassifier(artifact.getClassifier());
-        snapshotVersion.setVersion(artifact.getVersion());
-        snapshotVersion.setExtension(artifact.getType());
-        snapshotVersion.setUpdated(versioning.getLastUpdated());
-        versioning.addSnapshotVersion(snapshotVersion);
-
-        metadata.setVersioning(versioning);
-
-        MetadataXpp3Writer metadataWriter = new MetadataXpp3Writer();
-        Writer writer = new FileWriter(target);
-        metadataWriter.write(writer, metadata);
-    }
-    
-    public static String getFileName(Artifact artifact) {
-        String name = artifact.getArtifactId() + "-" + artifact.getBaseVersion()
-            + (artifact.getClassifier() != null ? "-" + artifact.getClassifier() : "") + "." + artifact.getType();
-        return name;
-    }
-    
-    public static String getDir(Artifact artifact) {
-        return artifact.getGroupId().replace('.', '/') + "/" + artifact.getArtifactId() + "/" + artifact.getBaseVersion() + "/";
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/MojoSupport.java b/karaf/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/utils/MojoSupport.java
deleted file mode 100644 (file)
index 24a5fef..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.tooling.utils;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.karaf.util.StreamUtils;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.DefaultArtifactRepository;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.annotations.Component;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.project.MavenProjectHelper;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.settings.Proxy;
-import org.codehaus.plexus.PlexusContainer;
-
-@SuppressWarnings({"deprecation", "rawtypes", "unchecked"})
-public abstract class MojoSupport extends AbstractMojo {
-
-    /**
-     * Maven ProjectHelper
-     */
-    @Component
-    protected MavenProjectHelper projectHelper;
-
-    /**
-     * The Maven project.
-     */
-    @Parameter(defaultValue = "${project}", readonly = true)
-    protected MavenProject project;
-
-    /**
-     * Directory that resources are copied to during the build.
-     */
-    @Parameter(defaultValue = "${project.build.directory}/${project.artifactId}-${project.version}-installer")
-    protected File workDirectory;
-
-    @Component
-    protected MavenProjectBuilder projectBuilder;
-
-    @Parameter(defaultValue = "${localRepository}")
-    protected ArtifactRepository localRepo;
-
-    @Parameter(defaultValue = "${project.remoteArtifactRepositories}")
-    protected List<ArtifactRepository> remoteRepos;
-
-    @Component
-    protected ArtifactMetadataSource artifactMetadataSource;
-
-    @Component
-    protected ArtifactResolver artifactResolver;
-
-    @Component
-    protected ArtifactFactory factory;
-    
-    /**
-     * The artifact type of a feature.
-     */
-    @Parameter(defaultValue = "xml")
-    private String featureArtifactType = "xml";
-    
-    /**
-     * The Maven session.
-     */
-    @Parameter(defaultValue = "${session}", readonly = true)
-    protected MavenSession mavenSession;
-
-    /**
-     * <p>We can't autowire strongly typed RepositorySystem from Aether because it may be Sonatype (Maven 3.0.x)
-     * or Eclipse (Maven 3.1.x/3.2.x) version, so we switch to service locator by autowiring entire {@link PlexusContainer}</p>
-     *
-     * <p>It's a bit of a hack but we have not choice when we want to be usable both in Maven 3.0.x and 3.1.x/3.2.x</p>
-     */
-    @Component
-    protected PlexusContainer container;
-
-    protected MavenProject getProject() {
-        return project;
-    }
-
-    protected File getWorkDirectory() {
-        return workDirectory;
-    }
-
-    public MavenProjectHelper getProjectHelper() {
-        return projectHelper;
-    }
-
-    // called by Plexus when injecting the mojo's session
-    public void setMavenSession(MavenSession mavenSession) {
-        this.mavenSession = mavenSession;
-
-        if (mavenSession != null) {
-            // check for custom settings.xml and pass it onto pax-url-aether
-            File settingsFile = mavenSession.getRequest().getUserSettingsFile();
-            if (settingsFile != null && settingsFile.isFile()) {
-                System.setProperty("org.ops4j.pax.url.mvn.settings", settingsFile.getPath());
-            }
-        }
-    }
-
-    protected Map createManagedVersionMap(String projectId,
-            DependencyManagement dependencyManagement) throws ProjectBuildingException {
-        Map map;
-        if (dependencyManagement != null
-                && dependencyManagement.getDependencies() != null) {
-            map = new HashMap();
-            for (Iterator i = dependencyManagement.getDependencies().iterator(); i
-                    .hasNext();) {
-                Dependency d = (Dependency) i.next();
-
-                try {
-                    VersionRange versionRange = VersionRange
-                            .createFromVersionSpec(d.getVersion());
-                    Artifact artifact = factory.createDependencyArtifact(d
-                            .getGroupId(), d.getArtifactId(), versionRange, d
-                            .getType(), d.getClassifier(), d.getScope());
-                    map.put(d.getManagementKey(), artifact);
-                } catch (InvalidVersionSpecificationException e) {
-                    throw new ProjectBuildingException(projectId,
-                            "Unable to parse version '" + d.getVersion()
-                                    + "' for dependency '"
-                                    + d.getManagementKey() + "': "
-                                    + e.getMessage(), e);
-                }
-            }
-        } else {
-            map = Collections.EMPTY_MAP;
-        }
-        return map;
-    }
-    
-    protected String translateFromMaven(String uri) {
-        if (uri.startsWith("mvn:")) {
-            String[] parts = uri.substring("mvn:".length()).split("/");
-            String groupId = parts[0];
-            String artifactId = parts[1];
-            String version = null;
-            String classifier = null;
-            String type = "jar";
-            if (parts.length > 2) {
-                version = parts[2];
-                if (parts.length > 3) {
-                    type = parts[3];
-                    if (parts.length > 4) {
-                        classifier = parts[4];
-                    }
-                }
-            }
-            String dir = groupId.replace('.', '/') + "/" + artifactId + "/" + version + "/";
-            String name = artifactId + "-" + version + (classifier != null ? "-" + classifier : "") + "." + type;
-
-            return getLocalRepoUrl() + "/" + dir + name;
-        }
-        if (System.getProperty("os.name").startsWith("Windows") && uri.startsWith("file:")) {
-                String baseDir = uri.substring(5).replace('\\', '/').replaceAll(" ", "%20");
-                String result = baseDir;
-                if (baseDir.indexOf(":") > 0) {
-                        result = "file:///" + baseDir;
-                }
-                return result;
-        }
-        return uri;
-    }
-
-    protected String getLocalRepoUrl() {
-         if (System.getProperty("os.name").startsWith("Windows")) {
-             String baseDir = localRepo.getBasedir().replace('\\', '/').replaceAll(" ", "%20");
-             return extractProtocolFromLocalMavenRepo()  + ":///" + baseDir;
-         } else {
-             return localRepo.getUrl();
-         }
-    }
-
-    /**
-     * Required because Maven 3 returns null in {@link ArtifactRepository#getProtocol()} (see KARAF-244)
-     */
-    private String extractProtocolFromLocalMavenRepo() {
-        try {
-            return new URL(localRepo.getUrl()).getProtocol();
-        } catch (MalformedURLException e) {
-            // Basically this should not happen; if it does though cancel the process
-            throw new RuntimeException("Repository URL is not valid", e);
-        }
-    }
-    
-    private Dependency findDependency(List<Dependency> dependencies, String artifactId, String groupId) {
-        for(Dependency dep : dependencies) {
-            if (artifactId.equals(dep.getArtifactId()) && groupId.equals(dep.getGroupId()) &&
-                    featureArtifactType.equals(dep.getType())) {
-                if (dep.getVersion() != null) 
-                    return dep;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Convert a feature resourceLocation (bundle or configuration file) into an artifact.
-     *
-     * @param resourceLocation the feature resource location (bundle or configuration file).
-     * @param skipNonMavenProtocols flag to skip protocol different than mvn:
-     * @return the artifact corresponding to the resource.
-     * @throws MojoExecutionException
-     */
-    protected Artifact resourceToArtifact(String resourceLocation, boolean skipNonMavenProtocols) throws MojoExecutionException {
-        resourceLocation = resourceLocation.replace("\r\n", "").replace("\n", "").replace(" ", "").replace("\t", "");
-        final int index = resourceLocation.indexOf("mvn:");
-        if (index < 0) {
-            if (skipNonMavenProtocols) {
-                return null;
-            }
-            throw new MojoExecutionException("Resource URL is not a Maven URL: " + resourceLocation);
-        } else {
-            resourceLocation = resourceLocation.substring(index + "mvn:".length());
-        }
-        // Truncate the URL when a '#', a '?' or a '$' is encountered
-        final int index1 = resourceLocation.indexOf('?');
-        final int index2 = resourceLocation.indexOf('#');
-        int endIndex = -1;
-        if (index1 > 0) {
-            if (index2 > 0) {
-                endIndex = Math.min(index1, index2);
-            } else {
-                endIndex = index1;
-            }
-        } else if (index2 > 0) {
-            endIndex = index2;
-        }
-        if (endIndex >= 0) {
-            resourceLocation = resourceLocation.substring(0, endIndex);
-        }
-        final int index3 = resourceLocation.indexOf('$');
-        if (index3 > 0) {
-            resourceLocation = resourceLocation.substring(0, index3);
-        }
-
-        //check if the resourceLocation descriptor contains also remote repository information.
-        ArtifactRepository repo = null;
-        if (resourceLocation.startsWith("http://")) {
-            final int repoDelimIntex = resourceLocation.indexOf('!');
-            String repoUrl = resourceLocation.substring(0, repoDelimIntex);
-
-            repo = new DefaultArtifactRepository(
-                    repoUrl,
-                    repoUrl,
-                    new DefaultRepositoryLayout());
-            org.apache.maven.repository.Proxy mavenProxy = configureProxyToInlineRepo();
-            if (mavenProxy != null) {
-                repo.setProxy(mavenProxy);
-            }
-            resourceLocation = resourceLocation.substring(repoDelimIntex + 1);
-
-        }
-        String[] parts = resourceLocation.split("/");
-        String groupId = parts[0];
-        String artifactId = parts[1];
-        String version = null;
-        String classifier = null;
-        String type = "jar";
-        if (parts.length > 2) {
-            version = parts[2];
-            if (parts.length > 3) {
-                type = parts[3];
-                if (parts.length > 4) {
-                    classifier = parts[4];
-                }
-            }
-        } else {
-            Dependency dep = findDependency(project.getDependencies(), artifactId, groupId);
-            if (dep == null && project.getDependencyManagement() != null) {
-                dep = findDependency(project.getDependencyManagement().getDependencies(), artifactId, groupId);
-            }
-            if (dep != null) {
-                version = dep.getVersion();
-                classifier = dep.getClassifier();
-                type = dep.getType();
-            }
-        }
-        if (version == null || version.isEmpty()) {
-            throw new MojoExecutionException("Cannot find version for: " + resourceLocation);
-        }
-        Artifact artifact = factory.createArtifactWithClassifier(groupId, artifactId, version, type, classifier);
-        artifact.setRepository(repo);
-        return artifact;
-    }
-    
-    private org.apache.maven.repository.Proxy configureProxyToInlineRepo() {
-        if (mavenSession != null && mavenSession.getSettings() != null) {
-            Proxy proxy = mavenSession.getSettings().getActiveProxy();
-            org.apache.maven.repository.Proxy mavenProxy = new org.apache.maven.repository.Proxy();
-            if (proxy != null) {
-                mavenProxy.setProtocol(proxy.getProtocol());
-                mavenProxy.setHost(proxy.getHost());
-                mavenProxy.setPort(proxy.getPort());
-                mavenProxy.setNonProxyHosts(proxy.getNonProxyHosts());
-                mavenProxy.setUserName(proxy.getUsername());
-                mavenProxy.setPassword(proxy.getPassword());
-                return mavenProxy;
-            } else {
-                return null;
-            }
-            
-        } else {
-            return null;
-        }
-    }
-
-    protected void copy(File sourceFile, File destFile) {
-        File targetDir = destFile.getParentFile();
-        ensureDirExists(targetDir);
-
-        try {
-            try (
-                FileInputStream is = new FileInputStream(sourceFile);
-                FileOutputStream bos = new FileOutputStream(destFile)
-            ) {
-                StreamUtils.copy(is, bos);
-            }
-        } catch (IOException e) {
-            throw new RuntimeException(e.getMessage(), e);
-        }
-    }
-    
-
-    /**
-     * Make sure the target directory exists and
-     * that is actually a directory
-     * @param targetDir
-     * @throws IOException
-     */
-    private static void ensureDirExists(File targetDir) {
-        if (!targetDir.exists()) {
-            if (!targetDir.mkdirs()) {
-                throw new RuntimeException("Unable to create target directory: " + targetDir);
-            }
-        } else if (!targetDir.isDirectory()) {
-            throw new RuntimeException("Target is not a directory: " + targetDir);
-        }
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/main/resources/META-INF/plexus/components.xml b/karaf/karaf-maven-plugin/src/main/resources/META-INF/plexus/components.xml
deleted file mode 100644 (file)
index ae753fd..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
--->
-
-<component-set>
-    <components>
-        <component>
-            <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
-            <role-hint>feature</role-hint>
-            <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
-            <configuration>
-                <lifecycles>
-                    <lifecycle>
-                        <id>default</id>
-                        <phases>
-                            <compile>
-                                org.opendaylight.odlparent:karaf-maven-plugin:features-generate-descriptor
-                            </compile>
-                            <install>
-                                org.apache.maven.plugins:maven-install-plugin:install
-                            </install>
-                            <deploy>
-                                org.apache.maven.plugins:maven-deploy-plugin:deploy
-                            </deploy>
-                        </phases>
-                    </lifecycle>
-                </lifecycles>
-            </configuration>
-        </component>
-        <component>
-             <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
-             <role-hint>feature</role-hint>
-             <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
-             <configuration>
-                 <type>xml</type>
-                 <extension>xml</extension>
-                 <packaging>feature</packaging>
-                 <addedToClasspath>false</addedToClasspath>
-                 <language>java</language>
-             </configuration>
-         </component>
-
-        <component>
-            <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
-            <role-hint>kar</role-hint>
-            <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
-            <configuration>
-                <lifecycles>
-                    <lifecycle>
-                        <id>default</id>
-                        <phases>
-                            <process-resources>
-                                org.apache.maven.plugins:maven-resources-plugin:resources
-                            </process-resources>
-                            <compile>
-                                org.opendaylight.odlparent:karaf-maven-plugin:features-generate-descriptor
-                            </compile>
-                            <package>
-                                org.opendaylight.odlparent:karaf-maven-plugin:kar
-                            </package>
-                            <install>
-                                org.apache.maven.plugins:maven-install-plugin:install
-                            </install>
-                            <deploy>
-                                org.apache.maven.plugins:maven-deploy-plugin:deploy
-                            </deploy>
-                        </phases>
-                    </lifecycle>
-                </lifecycles>
-            </configuration>
-        </component>
-        <component>
-             <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
-             <role-hint>kar</role-hint>
-             <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
-             <configuration>
-                 <type>kar</type>
-                 <extension>kar</extension>
-                 <packaging>kar</packaging>
-                 <addedToClasspath>false</addedToClasspath>
-                 <language>java</language>
-             </configuration>
-         </component>
-        <component>
-            <role>org.codehaus.plexus.archiver.UnArchiver</role>
-            <role-hint>kar</role-hint>
-            <implementation>org.codehaus.plexus.archiver.zip.ZipUnArchiver</implementation>
-            <instantiation-strategy>per-lookup</instantiation-strategy>
-        </component>
-
-        <component>
-            <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
-            <role-hint>karaf-assembly</role-hint>
-            <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
-            <configuration>
-                <lifecycles>
-                    <lifecycle>
-                        <id>default</id>
-                        <phases>
-                            <process-resources>
-                                org.apache.maven.plugins:maven-resources-plugin:resources,
-                                org.opendaylight.odlparent:karaf-maven-plugin:assembly
-                            </process-resources>
-                            <compile>
-                            </compile>
-                            <package>
-                                org.opendaylight.odlparent:karaf-maven-plugin:archive
-                            </package>
-                            <install>
-                                org.apache.maven.plugins:maven-install-plugin:install
-                            </install>
-                            <deploy>
-                                org.apache.maven.plugins:maven-deploy-plugin:deploy
-                            </deploy>
-                        </phases>
-                    </lifecycle>
-                </lifecycles>
-            </configuration>
-        </component>
-
-    </components>
-</component-set>
-
diff --git a/karaf/karaf-maven-plugin/src/main/resources/config.properties b/karaf/karaf-maven-plugin/src/main/resources/config.properties
deleted file mode 100644 (file)
index 36535b6..0000000
+++ /dev/null
@@ -1,627 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-jre-1.5= \
- javax.accessibility; \
- javax.activity; \
- javax.crypto; \
- javax.crypto.interfaces; \
- javax.crypto.spec; \
- javax.imageio; \
- javax.imageio.event; \
- javax.imageio.metadata; \
- javax.imageio.plugins.bmp; \
- javax.imageio.plugins.jpeg; \
- javax.imageio.spi; \
- javax.imageio.stream; \
- javax.management; \
- javax.management.loading; \
- javax.management.modelmbean; \
- javax.management.monitor; \
- javax.management.openmbean; \
- javax.management.relation; \
- javax.management.remote; \
- javax.management.remote.rmi; \
- javax.management.timer; \
- javax.naming; \
- javax.naming.directory; \
- javax.naming.event; \
- javax.naming.ldap; \
- javax.naming.spi; \
- javax.net; \
- javax.net.ssl; \
- javax.print; \
- javax.print.attribute; \
- javax.print.attribute.standard; \
- javax.print.event; \
- javax.rmi; \
- javax.rmi.CORBA; \
- javax.rmi.ssl; \
- javax.security.auth; \
- javax.security.auth.callback; \
- javax.security.auth.kerberos; \
- javax.security.auth.login; \
- javax.security.auth.spi; \
- javax.security.auth.x500; \
- javax.security.cert; \
- javax.security.sasl; \
- javax.sound.midi; \
- javax.sound.midi.spi; \
- javax.sound.sampled; \
- javax.sound.sampled.spi; \
- javax.sql; \
- javax.sql.rowset; \
- javax.sql.rowset.serial; \
- javax.sql.rowset.spi; \
- javax.swing; \
- javax.swing.border; \
- javax.swing.colorchooser; \
- javax.swing.event; \
- javax.swing.filechooser; \
- javax.swing.plaf; \
- javax.swing.plaf.basic; \
- javax.swing.plaf.metal; \
- javax.swing.plaf.multi; \
- javax.swing.plaf.synth; \
- javax.swing.table; \
- javax.swing.text; \
- javax.swing.text.html; \
- javax.swing.text.html.parser; \
- javax.swing.text.rtf; \
- javax.swing.tree; \
- javax.swing.undo; \
- javax.xml; \
- javax.xml.datatype; \
- javax.xml.namespace; \
- javax.xml.parsers; \
- javax.xml.transform; \
- javax.xml.transform.dom; \
- javax.xml.transform.sax; \
- javax.xml.transform.stream; \
- javax.xml.validation; \
- javax.xml.xpath; \
- org.ietf.jgss; \
- org.omg.CORBA; \
- org.omg.CORBA_2_3; \
- org.omg.CORBA_2_3.portable; \
- org.omg.CORBA.DynAnyPackage; \
- org.omg.CORBA.ORBPackage; \
- org.omg.CORBA.portable; \
- org.omg.CORBA.TypeCodePackage; \
- org.omg.CosNaming; \
- org.omg.CosNaming.NamingContextExtPackage; \
- org.omg.CosNaming.NamingContextPackage; \
- org.omg.Dynamic; \
- org.omg.DynamicAny; \
- org.omg.DynamicAny.DynAnyFactoryPackage; \
- org.omg.DynamicAny.DynAnyPackage; \
- org.omg.IOP; \
- org.omg.IOP.CodecFactoryPackage; \
- org.omg.IOP.CodecPackage; \
- org.omg.Messaging; \
- org.omg.PortableInterceptor; \
- org.omg.PortableInterceptor.ORBInitInfoPackage; \
- org.omg.PortableServer; \
- org.omg.PortableServer.CurrentPackage; \
- org.omg.PortableServer.POAManagerPackage; \
- org.omg.PortableServer.POAPackage; \
- org.omg.PortableServer.portable; \
- org.omg.PortableServer.ServantLocatorPackage; \
- org.omg.SendingContext; \
- org.omg.stub.java.rmi; \
- org.omg.stub.javax.management.remote.rmi; \
- org.w3c.dom; \
- org.w3c.dom.bootstrap; \
- org.w3c.dom.css; \
- org.w3c.dom.events; \
- org.w3c.dom.html; \
- org.w3c.dom.ls; \
- org.w3c.dom.ranges; \
- org.w3c.dom.stylesheets; \
- org.w3c.dom.traversal; \
- org.w3c.dom.views; \
- org.xml.sax; \
- org.xml.sax.ext; \
- org.xml.sax.helpers; \
- sun.misc; \
- sun.reflect
-
-jre-1.6= \
- javax.accessibility, \
- javax.activation;version="1.1", \
- javax.activity, \
- javax.annotation;version="1.1", \
- javax.annotation.processing;version="1.1", \
- javax.crypto, \
- javax.crypto.interfaces, \
- javax.crypto.spec, \
- javax.imageio, \
- javax.imageio.event, \
- javax.imageio.metadata, \
- javax.imageio.plugins.bmp, \
- javax.imageio.plugins.jpeg, \
- javax.imageio.spi, \
- javax.imageio.stream, \
- javax.jws, \
- javax.jws.soap, \
- javax.lang.model, \
- javax.lang.model.element, \
- javax.lang.model.type, \
- javax.lang.model.util, \
- javax.management, \
- javax.management.loading, \
- javax.management.modelmbean, \
- javax.management.monitor, \
- javax.management.openmbean, \
- javax.management.relation, \
- javax.management.remote, \
- javax.management.remote.rmi, \
- javax.management.timer, \
- javax.naming, \
- javax.naming.directory, \
- javax.naming.event, \
- javax.naming.ldap, \
- javax.naming.spi, \
- javax.net, \
- javax.net.ssl, \
- javax.print, \
- javax.print.attribute, \
- javax.print.attribute.standard, \
- javax.print.event, \
- javax.rmi, \
- javax.rmi.CORBA, \
- javax.rmi.ssl, \
- javax.script, \
- javax.security.auth, \
- javax.security.auth.callback, \
- javax.security.auth.kerberos, \
- javax.security.auth.login, \
- javax.security.auth.spi, \
- javax.security.auth.x500, \
- javax.security.cert, \
- javax.security.sasl, \
- javax.sound.midi, \
- javax.sound.midi.spi, \
- javax.sound.sampled, \
- javax.sound.sampled.spi, \
- javax.sql, \
- javax.sql.rowset, \
- javax.sql.rowset.serial, \
- javax.sql.rowset.spi, \
- javax.swing, \
- javax.swing.border, \
- javax.swing.colorchooser, \
- javax.swing.event, \
- javax.swing.filechooser, \
- javax.swing.plaf, \
- javax.swing.plaf.basic, \
- javax.swing.plaf.metal, \
- javax.swing.plaf.multi, \
- javax.swing.plaf.synth, \
- javax.swing.table, \
- javax.swing.text, \
- javax.swing.text.html, \
- javax.swing.text.html.parser, \
- javax.swing.text.rtf, \
- javax.swing.tree, \
- javax.swing.undo, \
- javax.tools, \
- javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \
- javax.xml, \
- javax.xml.bind;version="2.2.1", \
- javax.xml.bind.annotation;version="2.2.1", \
- javax.xml.bind.annotation.adapters;version="2.2.1", \
- javax.xml.bind.attachment;version="2.2.1", \
- javax.xml.bind.helpers;version="2.2.1", \
- javax.xml.bind.util;version="2.2.1", \
- javax.xml.crypto, \
- javax.xml.crypto.dom, \
- javax.xml.crypto.dsig, \
- javax.xml.crypto.dsig.dom, \
- javax.xml.crypto.dsig.keyinfo, \
- javax.xml.crypto.dsig.spec, \
- javax.xml.datatype, \
- javax.xml.namespace, \
- javax.xml.parsers, \
- javax.xml.soap;version="1.3", \
- javax.xml.stream;version="1.2", \
- javax.xml.stream.events;version="1.2", \
- javax.xml.stream.util;version="1.2", \
- javax.xml.transform, \
- javax.xml.transform.dom, \
- javax.xml.transform.sax, \
- javax.xml.transform.stax, \
- javax.xml.transform.stream, \
- javax.xml.validation, \
- javax.xml.ws;version="2.2", \
- javax.xml.ws.handler;version="2.2", \
- javax.xml.ws.handler.soap;version="2.2", \
- javax.xml.ws.http;version="2.2", \
- javax.xml.ws.soap;version="2.2", \
- javax.xml.ws.spi;version="2.2", \
- javax.xml.ws.wsaddressing;version="2.2", \
- javax.xml.ws.spi.http;version="2.2", \
- javax.xml.xpath, \
- org.ietf.jgss, \
- org.omg.CORBA, \
- org.omg.CORBA_2_3, \
- org.omg.CORBA_2_3.portable, \
- org.omg.CORBA.DynAnyPackage, \
- org.omg.CORBA.ORBPackage, \
- org.omg.CORBA.portable, \
- org.omg.CORBA.TypeCodePackage, \
- org.omg.CosNaming, \
- org.omg.CosNaming.NamingContextExtPackage, \
- org.omg.CosNaming.NamingContextPackage, \
- org.omg.Dynamic, \
- org.omg.DynamicAny, \
- org.omg.DynamicAny.DynAnyFactoryPackage, \
- org.omg.DynamicAny.DynAnyPackage, \
- org.omg.IOP, \
- org.omg.IOP.CodecFactoryPackage, \
- org.omg.IOP.CodecPackage, \
- org.omg.Messaging, \
- org.omg.PortableInterceptor, \
- org.omg.PortableInterceptor.ORBInitInfoPackage, \
- org.omg.PortableServer, \
- org.omg.PortableServer.CurrentPackage, \
- org.omg.PortableServer.POAManagerPackage, \
- org.omg.PortableServer.POAPackage, \
- org.omg.PortableServer.portable, \
- org.omg.PortableServer.ServantLocatorPackage, \
- org.omg.SendingContext, \
- org.omg.stub.java.rmi, \
- org.omg.stub.javax.management.remote.rmi, \
- org.w3c.dom, \
- org.w3c.dom.bootstrap, \
- org.w3c.dom.css, \
- org.w3c.dom.events, \
- org.w3c.dom.html, \
- org.w3c.dom.ls, \
- org.w3c.dom.ranges, \
- org.w3c.dom.stylesheets, \
- org.w3c.dom.traversal, \
- org.w3c.dom.views, \
- org.w3c.dom.xpath, \
- org.xml.sax, \
- org.xml.sax.ext, \
- org.xml.sax.helpers
-
-jre-1.7= \
- javax.accessibility, \
- javax.activation;version="1.1", \
- javax.activity, \
- javax.annotation;version="1.2", \
- javax.annotation.processing;version="1.2", \
- javax.crypto, \
- javax.crypto.interfaces, \
- javax.crypto.spec, \
- javax.imageio, \
- javax.imageio.event, \
- javax.imageio.metadata, \
- javax.imageio.plugins.bmp, \
- javax.imageio.plugins.jpeg, \
- javax.imageio.spi, \
- javax.imageio.stream, \
- javax.jws, \
- javax.jws.soap, \
- javax.lang.model, \
- javax.lang.model.element, \
- javax.lang.model.type, \
- javax.lang.model.util, \
- javax.management, \
- javax.management.loading, \
- javax.management.modelmbean, \
- javax.management.monitor, \
- javax.management.openmbean, \
- javax.management.relation, \
- javax.management.remote, \
- javax.management.remote.rmi, \
- javax.management.timer, \
- javax.naming, \
- javax.naming.directory, \
- javax.naming.event, \
- javax.naming.ldap, \
- javax.naming.spi, \
- javax.net, \
- javax.net.ssl, \
- javax.print, \
- javax.print.attribute, \
- javax.print.attribute.standard, \
- javax.print.event, \
- javax.rmi, \
- javax.rmi.CORBA, \
- javax.rmi.ssl, \
- javax.script, \
- javax.security.auth, \
- javax.security.auth.callback, \
- javax.security.auth.kerberos, \
- javax.security.auth.login, \
- javax.security.auth.spi, \
- javax.security.auth.x500, \
- javax.security.cert, \
- javax.security.sasl, \
- javax.sound.midi, \
- javax.sound.midi.spi, \
- javax.sound.sampled, \
- javax.sound.sampled.spi, \
- javax.sql, \
- javax.sql.rowset, \
- javax.sql.rowset.serial, \
- javax.sql.rowset.spi, \
- javax.swing, \
- javax.swing.border, \
- javax.swing.colorchooser, \
- javax.swing.event, \
- javax.swing.filechooser, \
- javax.swing.plaf, \
- javax.swing.plaf.basic, \
- javax.swing.plaf.metal, \
- javax.swing.plaf.multi, \
- javax.swing.plaf.synth, \
- javax.swing.table, \
- javax.swing.text, \
- javax.swing.text.html, \
- javax.swing.text.html.parser, \
- javax.swing.text.rtf, \
- javax.swing.tree, \
- javax.swing.undo, \
- javax.tools, \
- javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \
- javax.xml, \
- javax.xml.bind;version="2.2.1", \
- javax.xml.bind.annotation;version="2.2.1", \
- javax.xml.bind.annotation.adapters;version="2.2.1", \
- javax.xml.bind.attachment;version="2.2.1", \
- javax.xml.bind.helpers;version="2.2.1", \
- javax.xml.bind.util;version="2.2.1", \
- javax.xml.crypto, \
- javax.xml.crypto.dom, \
- javax.xml.crypto.dsig, \
- javax.xml.crypto.dsig.dom, \
- javax.xml.crypto.dsig.keyinfo, \
- javax.xml.crypto.dsig.spec, \
- javax.xml.datatype, \
- javax.xml.namespace, \
- javax.xml.parsers, \
- javax.xml.soap;version="1.3", \
- javax.xml.stream;version="1.2", \
- javax.xml.stream.events;version="1.2", \
- javax.xml.stream.util;version="1.2", \
- javax.xml.transform, \
- javax.xml.transform.dom, \
- javax.xml.transform.sax, \
- javax.xml.transform.stax, \
- javax.xml.transform.stream, \
- javax.xml.validation, \
- javax.xml.ws;version="2.2", \
- javax.xml.ws.handler;version="2.2", \
- javax.xml.ws.handler.soap;version="2.2", \
- javax.xml.ws.http;version="2.2", \
- javax.xml.ws.soap;version="2.2", \
- javax.xml.ws.spi;version="2.2", \
- javax.xml.ws.wsaddressing;version="2.2", \
- javax.xml.ws.spi.http;version="2.2", \
- javax.xml.xpath, \
- org.ietf.jgss, \
- org.omg.CORBA, \
- org.omg.CORBA_2_3, \
- org.omg.CORBA_2_3.portable, \
- org.omg.CORBA.DynAnyPackage, \
- org.omg.CORBA.ORBPackage, \
- org.omg.CORBA.portable, \
- org.omg.CORBA.TypeCodePackage, \
- org.omg.CosNaming, \
- org.omg.CosNaming.NamingContextExtPackage, \
- org.omg.CosNaming.NamingContextPackage, \
- org.omg.Dynamic, \
- org.omg.DynamicAny, \
- org.omg.DynamicAny.DynAnyFactoryPackage, \
- org.omg.DynamicAny.DynAnyPackage, \
- org.omg.IOP, \
- org.omg.IOP.CodecFactoryPackage, \
- org.omg.IOP.CodecPackage, \
- org.omg.Messaging, \
- org.omg.PortableInterceptor, \
- org.omg.PortableInterceptor.ORBInitInfoPackage, \
- org.omg.PortableServer, \
- org.omg.PortableServer.CurrentPackage, \
- org.omg.PortableServer.POAManagerPackage, \
- org.omg.PortableServer.POAPackage, \
- org.omg.PortableServer.portable, \
- org.omg.PortableServer.ServantLocatorPackage, \
- org.omg.SendingContext, \
- org.omg.stub.java.rmi, \
- org.omg.stub.javax.management.remote.rmi, \
- org.w3c.dom, \
- org.w3c.dom.bootstrap, \
- org.w3c.dom.css, \
- org.w3c.dom.events, \
- org.w3c.dom.html, \
- org.w3c.dom.ls, \
- org.w3c.dom.ranges, \
- org.w3c.dom.stylesheets, \
- org.w3c.dom.traversal, \
- org.w3c.dom.views, \
- org.w3c.dom.xpath, \
- org.xml.sax, \
- org.xml.sax.ext, \
- org.xml.sax.helpers
-
-jre-1.8= \
- javax.accessibility, \
- javax.activation;version="1.1", \
- javax.activity, \
- javax.annotation;version="1.2", \
- javax.annotation.processing;version="1.2", \
- javax.crypto, \
- javax.crypto.interfaces, \
- javax.crypto.spec, \
- javax.imageio, \
- javax.imageio.event, \
- javax.imageio.metadata, \
- javax.imageio.plugins.bmp, \
- javax.imageio.plugins.jpeg, \
- javax.imageio.spi, \
- javax.imageio.stream, \
- javax.jws, \
- javax.jws.soap, \
- javax.lang.model, \
- javax.lang.model.element, \
- javax.lang.model.type, \
- javax.lang.model.util, \
- javax.management, \
- javax.management.loading, \
- javax.management.modelmbean, \
- javax.management.monitor, \
- javax.management.openmbean, \
- javax.management.relation, \
- javax.management.remote, \
- javax.management.remote.rmi, \
- javax.management.timer, \
- javax.naming, \
- javax.naming.directory, \
- javax.naming.event, \
- javax.naming.ldap, \
- javax.naming.spi, \
- javax.net, \
- javax.net.ssl, \
- javax.print, \
- javax.print.attribute, \
- javax.print.attribute.standard, \
- javax.print.event, \
- javax.rmi, \
- javax.rmi.CORBA, \
- javax.rmi.ssl, \
- javax.script, \
- javax.security.auth, \
- javax.security.auth.callback, \
- javax.security.auth.kerberos, \
- javax.security.auth.login, \
- javax.security.auth.spi, \
- javax.security.auth.x500, \
- javax.security.cert, \
- javax.security.sasl, \
- javax.sound.midi, \
- javax.sound.midi.spi, \
- javax.sound.sampled, \
- javax.sound.sampled.spi, \
- javax.sql, \
- javax.sql.rowset, \
- javax.sql.rowset.serial, \
- javax.sql.rowset.spi, \
- javax.swing, \
- javax.swing.border, \
- javax.swing.colorchooser, \
- javax.swing.event, \
- javax.swing.filechooser, \
- javax.swing.plaf, \
- javax.swing.plaf.basic, \
- javax.swing.plaf.metal, \
- javax.swing.plaf.multi, \
- javax.swing.plaf.synth, \
- javax.swing.table, \
- javax.swing.text, \
- javax.swing.text.html, \
- javax.swing.text.html.parser, \
- javax.swing.text.rtf, \
- javax.swing.tree, \
- javax.swing.undo, \
- javax.tools, \
- javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \
- javax.xml, \
- javax.xml.bind;version="2.2.1", \
- javax.xml.bind.annotation;version="2.2.1", \
- javax.xml.bind.annotation.adapters;version="2.2.1", \
- javax.xml.bind.attachment;version="2.2.1", \
- javax.xml.bind.helpers;version="2.2.1", \
- javax.xml.bind.util;version="2.2.1", \
- javax.xml.crypto, \
- javax.xml.crypto.dom, \
- javax.xml.crypto.dsig, \
- javax.xml.crypto.dsig.dom, \
- javax.xml.crypto.dsig.keyinfo, \
- javax.xml.crypto.dsig.spec, \
- javax.xml.datatype, \
- javax.xml.namespace, \
- javax.xml.parsers, \
- javax.xml.soap;version="1.3", \
- javax.xml.stream;version="1.2", \
- javax.xml.stream.events;version="1.2", \
- javax.xml.stream.util;version="1.2", \
- javax.xml.transform, \
- javax.xml.transform.dom, \
- javax.xml.transform.sax, \
- javax.xml.transform.stax, \
- javax.xml.transform.stream, \
- javax.xml.validation, \
- javax.xml.ws;version="2.2", \
- javax.xml.ws.handler;version="2.2", \
- javax.xml.ws.handler.soap;version="2.2", \
- javax.xml.ws.http;version="2.2", \
- javax.xml.ws.soap;version="2.2", \
- javax.xml.ws.spi;version="2.2", \
- javax.xml.ws.wsaddressing;version="2.2", \
- javax.xml.ws.spi.http;version="2.2", \
- javax.xml.xpath, \
- org.ietf.jgss, \
- org.omg.CORBA, \
- org.omg.CORBA_2_3, \
- org.omg.CORBA_2_3.portable, \
- org.omg.CORBA.DynAnyPackage, \
- org.omg.CORBA.ORBPackage, \
- org.omg.CORBA.portable, \
- org.omg.CORBA.TypeCodePackage, \
- org.omg.CosNaming, \
- org.omg.CosNaming.NamingContextExtPackage, \
- org.omg.CosNaming.NamingContextPackage, \
- org.omg.Dynamic, \
- org.omg.DynamicAny, \
- org.omg.DynamicAny.DynAnyFactoryPackage, \
- org.omg.DynamicAny.DynAnyPackage, \
- org.omg.IOP, \
- org.omg.IOP.CodecFactoryPackage, \
- org.omg.IOP.CodecPackage, \
- org.omg.Messaging, \
- org.omg.PortableInterceptor, \
- org.omg.PortableInterceptor.ORBInitInfoPackage, \
- org.omg.PortableServer, \
- org.omg.PortableServer.CurrentPackage, \
- org.omg.PortableServer.POAManagerPackage, \
- org.omg.PortableServer.POAPackage, \
- org.omg.PortableServer.portable, \
- org.omg.PortableServer.ServantLocatorPackage, \
- org.omg.SendingContext, \
- org.omg.stub.java.rmi, \
- org.omg.stub.javax.management.remote.rmi, \
- org.w3c.dom, \
- org.w3c.dom.bootstrap, \
- org.w3c.dom.css, \
- org.w3c.dom.events, \
- org.w3c.dom.html, \
- org.w3c.dom.ls, \
- org.w3c.dom.ranges, \
- org.w3c.dom.stylesheets, \
- org.w3c.dom.traversal, \
- org.w3c.dom.views, \
- org.w3c.dom.xpath, \
- org.xml.sax, \
- org.xml.sax.ext, \
- org.xml.sax.helpers 
-
-osgi= \
- org.osgi.framework;
diff --git a/karaf/karaf-maven-plugin/src/main/resources/org/apache/karaf/features/karaf-features-1.0.0-ordered.xsd b/karaf/karaf-maven-plugin/src/main/resources/org/apache/karaf/features/karaf-features-1.0.0-ordered.xsd
deleted file mode 100644 (file)
index 615ed2b..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License. You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<xs:schema elementFormDefault="qualified"
-    targetNamespace="http://karaf.apache.org/xmlns/features/v1.0.0"
-    xmlns:tns="http://karaf.apache.org/xmlns/features/v1.0.0"
-    xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
-    <xs:annotation>
-        <xs:documentation><![CDATA[
-Karaf features mechanism. For documentation please visit the
-<a href="http://karaf.apache.org/">Karaf website</a>.
-        ]]></xs:documentation>
-    </xs:annotation>
-
-    <xs:complexType name="features">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Root element of Feature definition. It contains optional attribute which allow
-for naming the repository. This name will be used in shell to display source repository
-of given feature.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:sequence>
-            <xs:element name="repository" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
-                <xs:annotation>
-                    <xs:documentation><![CDATA[
-Additional repositories where dependencies are stored.
-                    ]]></xs:documentation>
-                </xs:annotation>
-            </xs:element>
-            <xs:element name="feature" type="tns:feature" minOccurs="0" maxOccurs="unbounded">
-                <xs:annotation>
-                    <xs:documentation><![CDATA[
-Feature definition.
-                    ]]></xs:documentation>
-                </xs:annotation>
-            </xs:element>
-        </xs:sequence>
-        <xs:attribute name="name" type="xs:string" />
-    </xs:complexType>
-
-    <xs:complexType name="feature">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Definition of the Feature.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:sequence>
-            <!-- Tags with info -->
-            <xs:element name="details" type="xs:string" minOccurs="0" maxOccurs="unbounded">
-                <xs:annotation>
-                    <xs:documentation><![CDATA[
-The text information that will be displayed with the features:info commands.
-                    ]]>
-                    </xs:documentation>
-                </xs:annotation>
-            </xs:element>
-            <xs:element name="config" type="tns:config"  minOccurs="0" maxOccurs="unbounded"/>
-            <xs:element name="configfile" type="tns:configFile"  minOccurs="0" maxOccurs="unbounded"/>
-            <xs:element name="feature" type="tns:dependency"  minOccurs="0" maxOccurs="unbounded"/>
-            <xs:element name="bundle" type="tns:bundle"  minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="name" type="tns:featureName" use="required" />
-        <xs:attribute name="version" type="xs:string" default="0.0.0" />
-        <xs:attribute name="description" type="xs:string" />
-        <xs:attribute name="resolver" type="tns:resolver">
-            <xs:annotation>
-                <xs:documentation><![CDATA[
-Karaf allows for using dynamic resolvers.
-                ]]>
-                </xs:documentation>
-            </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="start-level" type="xs:int">
-            <xs:annotation>
-                <xs:documentation><![CDATA[
-Set this attribute to have an OSGi start level for this feature different
-from the default start level defined in Karaf's config.properties.
-                ]]>
-                </xs:documentation>
-            </xs:annotation>
-        </xs:attribute>
-    </xs:complexType>
-
-    <xs:complexType name="bundle">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Deployable element to install.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:simpleContent>
-            <xs:extension base="xs:anyURI">
-                <xs:attribute name="start-level" type="xs:int">
-                    <xs:annotation>
-                        <xs:documentation><![CDATA[
-Bundle start level set to OSGi framework.
-                        ]]>
-                        </xs:documentation>
-                    </xs:annotation>
-                </xs:attribute>
-                <xs:attribute name="start" type="xs:boolean" default="true">
-                    <xs:annotation>
-                        <xs:documentation><![CDATA[
-This switch allows you to install the bundle in resolved state rather than the default active state.
-                        ]]>
-                        </xs:documentation>
-                    </xs:annotation>
-                </xs:attribute>
-                <xs:attribute name="dependency" type="xs:boolean">
-                    <xs:annotation>
-                        <xs:documentation><![CDATA[
-Mark this bundle as dependency for the resolver.
-                        ]]>
-                        </xs:documentation>
-                    </xs:annotation>
-                </xs:attribute>
-            </xs:extension>
-        </xs:simpleContent>
-    </xs:complexType>
-
-    <xs:complexType name="dependency">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Dependency of the feature.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:simpleContent>
-            <xs:extension base="tns:featureName">
-                <xs:attribute name="version" type="xs:string" default="0.0.0" />
-            </xs:extension>
-        </xs:simpleContent>
-    </xs:complexType>
-
-    <xs:complexType name="config">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Configuration entries which should be created during feature installation. This
-configuration may be used with OSGi Configuration Admin.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:simpleContent>
-            <xs:extension base="xs:string">
-                <xs:attribute name="name" type="xs:string" use="required" />
-            </xs:extension>
-        </xs:simpleContent>
-    </xs:complexType>
-
-    <xs:complexType name="configFile">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Additional configuration files which should be created during feature installation.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:simpleContent>
-            <xs:extension base="xs:anyURI">
-                <xs:attribute name="finalname" type="xs:string" use="required">
-                    <xs:annotation>
-                        <xs:documentation><![CDATA[
-Name of file where given deployable element should be stored.
-                        ]]></xs:documentation>
-                    </xs:annotation>
-                </xs:attribute>
-                <xs:attribute name="override" type="xs:boolean">
-                    <xs:annotation>
-                        <xs:documentation><![CDATA[
-Flag to specify if an already existing final with name of filename should be overridden
-                        ]]></xs:documentation>
-                    </xs:annotation>
-                </xs:attribute>
-
-            </xs:extension>
-        </xs:simpleContent>
-    </xs:complexType>
-
-    <xs:simpleType name="featureName">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Feature name should be a non-empty string.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:restriction base="xs:string">
-            <xs:minLength value="1" />
-        </xs:restriction>
-    </xs:simpleType>
-
-    <xs:simpleType name="resolver">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Resolver to use. Karaf will look for an  OSGi service which has the following properties:
-objectClass: org.apache.karaf.features.Resolver
-name: the value
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:restriction base="xs:string">
-            <xs:minLength value="1" />
-        </xs:restriction>
-    </xs:simpleType>
-
-    <xs:element name="features" type="tns:features" />
-
-</xs:schema>
diff --git a/karaf/karaf-maven-plugin/src/main/resources/org/apache/karaf/features/karaf-features-1.1.0-ordered.xsd b/karaf/karaf-maven-plugin/src/main/resources/org/apache/karaf/features/karaf-features-1.1.0-ordered.xsd
deleted file mode 100644 (file)
index 7c64fab..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License. You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<xs:schema elementFormDefault="qualified"
-           targetNamespace="http://karaf.apache.org/xmlns/features/v1.1.0"
-           xmlns:tns="http://karaf.apache.org/xmlns/features/v1.1.0"
-           xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
-    <xs:annotation>
-        <xs:documentation><![CDATA[
-Karaf features mechanism. For documentation please visit the
-<a href="http://karaf.apache.org/">Karaf website</a>.
-        ]]></xs:documentation>
-    </xs:annotation>
-
-    <xs:complexType name="features">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Root element of Feature definition. It contains an required attribute for
-designating from which repository this feature should be loaded. The Karaf
-shell will show the repository name when displaying information about the feature.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-            <xs:element name="repository" type="xs:anyURI">
-                <xs:annotation>
-                    <xs:documentation><![CDATA[
-Additional repositories where dependencies are stored.
-                    ]]></xs:documentation>
-                </xs:annotation>
-            </xs:element>
-            <xs:element name="feature" type="tns:feature">
-                <xs:annotation>
-                    <xs:documentation><![CDATA[
-Feature definition.
-                    ]]></xs:documentation>
-                </xs:annotation>
-            </xs:element>
-        </xs:choice>
-        <xs:attribute name="name" type="xs:string" use="required"/>
-    </xs:complexType>
-
-    <xs:complexType name="feature">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Definition of the Feature.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-            <xs:element name="details" minOccurs="0" type="xs:string">
-                <xs:annotation>
-                    <xs:documentation><![CDATA[
-The help text shown for this feature when using feature:info console command.
-                    ]]>
-                    </xs:documentation>
-                </xs:annotation>
-            </xs:element>
-            <xs:element name="config" type="tns:config" />
-            <xs:element name="configfile" type="tns:configFile" />
-            <xs:element name="feature" type="tns:dependency" />
-            <xs:element name="bundle" type="tns:bundle" />
-        </xs:choice>
-        <xs:attribute name="name" type="tns:featureName" use="required" />
-        <xs:attribute name="version" type="xs:string" default="0.0.0" />
-        <xs:attribute name="description" type="xs:string" />
-        <xs:attribute name="resolver" type="tns:resolver">
-            <xs:annotation>
-                <xs:documentation><![CDATA[
-Optional alternative resolver to use for determining the list of bundles to install for a given feature.
-                ]]>
-                </xs:documentation>
-            </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="install" type="tns:install">
-            <xs:annotation>
-                <xs:documentation><![CDATA[
-Marks if the feaute will be automatically started when thrown to the deploy folder.
-                ]]>
-                </xs:documentation>
-            </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="start-level" type="xs:int">
-            <xs:annotation>
-                <xs:documentation><![CDATA[
-Set this attribute to have an OSGi start level for this feature different
-from the default start level defined in Karaf's config.properties.
-                ]]>
-                </xs:documentation>
-            </xs:annotation>
-        </xs:attribute>
-    </xs:complexType>
-
-    <xs:complexType name="bundle">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Deployable element to install.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:simpleContent>
-            <xs:extension base="xs:anyURI">
-                <xs:attribute name="start-level" type="xs:int">
-                    <xs:annotation>
-                        <xs:documentation><![CDATA[
-Set this attribute to have an OSGi start level for this bundle different
-from the default start level defined in the Karaf's config.properties.
-                        ]]>
-                        </xs:documentation>
-                    </xs:annotation>
-                </xs:attribute>
-                <xs:attribute name="start" type="xs:boolean" default="true">
-                    <xs:annotation>
-                        <xs:documentation><![CDATA[
-If false, leaves bundle in resolved state rather than the default active state.
-                        ]]>
-                        </xs:documentation>
-                    </xs:annotation>
-                </xs:attribute>
-                <xs:attribute name="dependency" type="xs:boolean">
-                    <xs:annotation>
-                        <xs:documentation><![CDATA[
-Mark this bundle as a dependency for the resolver.
-                        ]]>
-                        </xs:documentation>
-                    </xs:annotation>
-                </xs:attribute>
-            </xs:extension>
-        </xs:simpleContent>
-    </xs:complexType>
-
-    <xs:complexType name="dependency">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Dependency of feature.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:simpleContent>
-            <xs:extension base="tns:featureName">
-                <xs:attribute name="version" type="xs:string" default="0.0.0" />
-            </xs:extension>
-        </xs:simpleContent>
-    </xs:complexType>
-
-    <xs:complexType name="config">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Configuration entries which should be created during feature installation. This
-configuration may be used with OSGi Configuration Admin. The element content is
-read in as a properties file.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:simpleContent>
-            <xs:extension base="xs:string">
-                <xs:attribute name="name" type="xs:string" use="required" />
-            </xs:extension>
-        </xs:simpleContent>
-    </xs:complexType>
-
-    <xs:complexType name="configFile">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Additional configuration files which should be created during feature installation.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:simpleContent>
-            <xs:extension base="xs:anyURI">
-                <xs:attribute name="finalname" type="xs:string" use="required">
-                    <xs:annotation>
-                        <xs:documentation><![CDATA[
-The final destination path and name for the configuration file.
-                        ]]></xs:documentation>
-                    </xs:annotation>
-                </xs:attribute>
-                <xs:attribute name="override" type="xs:boolean">
-                    <xs:annotation>
-                        <xs:documentation><![CDATA[
-If the configFile already exists at the finalname location, whether or not to replace it.
-                        ]]></xs:documentation>
-                    </xs:annotation>
-                </xs:attribute>
-
-            </xs:extension>
-        </xs:simpleContent>
-    </xs:complexType>
-
-    <xs:simpleType name="featureName">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Feature name should be non empty string.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:restriction base="xs:string">
-            <xs:minLength value="1" />
-        </xs:restriction>
-    </xs:simpleType>
-
-    <xs:simpleType name="resolver">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Resolver to use. Karaf will look for OSGi service which have following properties:
-objectClass: org.apache.karaf.features.Resolver
-name: the value
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:restriction base="xs:string">
-            <xs:minLength value="1" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType name="install">
-        <xs:annotation>
-            <xs:documentation><![CDATA[
-Installation mode. Can be either manual or auto. Specifies whether the feature should be automatically installed when
-dropped inside the deploy folder. Note: This attribute doesn't affect feature descriptors that are installed from the
-command line or as part of the org.apache.karaf.features.cfg.
-            ]]></xs:documentation>
-        </xs:annotation>
-        <xs:restriction base="xs:string">
-            <xs:minLength value="1" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:element name="features" type="tns:features" />
-
-</xs:schema>
diff --git a/karaf/karaf-maven-plugin/src/main/resources/supplemental-models.xml b/karaf/karaf-maven-plugin/src/main/resources/supplemental-models.xml
deleted file mode 100644 (file)
index d1ee598..0000000
+++ /dev/null
@@ -1,1225 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<supplementalDataModels>
-  <supplement>
-    <project>
-      <groupId>com.sun.xml.bind</groupId>
-      <artifactId>jaxb-impl</artifactId>
-      <name>Sun JAXB Reference Implementation Runtime</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>com.sun.xml.bind</groupId>
-      <artifactId>jaxb-xjc</artifactId>
-      <name>Sun JAXB Reference Implementation Tools</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>com.sun.xml.messaging.saaj</groupId>
-      <artifactId>saaj-impl</artifactId>
-      <name>Sun SAAJ Reference Implementation</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.xml.soap</groupId>
-      <artifactId>saaj-api</artifactId>
-      <name>Sun SAAJ API</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.neethi</groupId>
-      <artifactId>neethi</artifactId>
-      <name>Neethi</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.xml.ws</groupId>
-      <artifactId>jaxws-api</artifactId>
-      <name>Java API for XML-Based Web Services (JAX-WS API)</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.xml.bind</groupId>
-      <artifactId>jaxb-api</artifactId>
-      <name>Java Architecture for XML Binding (JAXB API)</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.xml</groupId>
-      <artifactId>jaxb-api</artifactId>
-      <name>Java Architecture for XML Binding (JAXB API)</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <name>Apache Xalan-Java</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>net.java.dev.stax-utils</groupId>
-      <artifactId>stax-utils</artifactId>
-      <name>StAX Utilities</name>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>wss4j</groupId>
-      <artifactId>wss4j</artifactId>
-      <name>Apache WSS4J</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>jdom</groupId>
-      <artifactId>jdom</artifactId>
-      <name>JDOM</name>
-      <organization>
-        <name>jdom.org</name>
-        <url>http://www.jdom.org</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>Modified Apache Software License</name>
-          <url>licenses/jdom.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>xml-security</groupId>
-      <artifactId>xmlsec</artifactId>
-      <name>XML Security</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>xml-apis</groupId>
-      <artifactId>xml-apis</artifactId>
-      <name>XML APIs</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>bouncycastle</groupId>
-      <artifactId>bcprov-jdk14</artifactId>
-      <name>Bouncy Castle Crypto APIs for Java</name>
-      <organization>
-        <name>The Legion of the Bouncy Castle</name>
-        <url>http://www.bouncycastle.org</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>Bouncy Castle License</name>
-          <url>http://www.bouncycastle.org/licence.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>ant</groupId>
-      <artifactId>ant</artifactId>
-      <name>Apache Ant</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>ant</groupId>
-      <artifactId>ant-nodeps</artifactId>
-      <name>Apache Ant (nodeps)</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <name>Jettison</name>
-      <organization>
-        <name>Envoi Solutions LLC</name>
-        <url>http://www.envoisolutions.com</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://jettison.codehaus.org/License</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <name>Apache Commons Codec</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-      <name>Apache Commons Collections</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-dbcp</groupId>
-      <artifactId>commons-dbcp</artifactId>
-      <name>Apache Commons DBCP</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-jexl</groupId>
-      <artifactId>commons-jexl</artifactId>
-      <name>Apache Commons JEXL</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-logging</groupId>
-      <artifactId>commons-logging</artifactId>
-      <name>Apache Commons Logging</name>
-      <url>http://commons.apache.org/logging</url>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-logging</groupId>
-      <artifactId>commons-logging-api</artifactId>
-      <name>Apache Commons Logging Api</name>
-      <url>http://commons.apache.org/logging</url>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-pool</groupId>
-      <artifactId>commons-pool</artifactId>
-      <name>Apache Commons Pool</name>
-      <url>http://commons.apache.org/pool</url>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-vfs</groupId>
-      <artifactId>commons-vfs</artifactId>
-      <name>Apache Commons VFS</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <name>Apache Commons Codec</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.aries.blueprint</groupId>
-      <artifactId>org.apache.aries.blueprint</artifactId>
-      <name>Apache Aries Blueprint</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.activemq</groupId>
-      <artifactId>activemq-core</artifactId>
-      <name>ActiveMQ :: Core</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-core</artifactId>
-      <name>Camel :: Core</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.xbean</groupId>
-      <artifactId>xbean-classloader</artifactId>
-      <name>XBean :: Classloader</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.xbean</groupId>
-      <artifactId>xbean-finder</artifactId>
-      <name>XBean :: Classpath Resource Finder</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.xbean</groupId>
-      <artifactId>xbean-naming</artifactId>
-      <name>XBean :: Naming</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.xbean</groupId>
-      <artifactId>xbean-reflect</artifactId>
-      <name>XBean :: Reflect</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.xbean</groupId>
-      <artifactId>xbean-spring</artifactId>
-      <name>XBean :: Spring</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <name>SLF4J API Module</name>
-      <organization>
-        <name>QOS.ch</name>
-        <url>http://www.qos.ch</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>MIT style</name>
-          <url>http://www.slf4j.org/license.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-jdk14</artifactId>
-      <name>SLF4J JDK14 Binding</name>
-      <organization>
-        <name>QOS.ch</name>
-        <url>http://www.qos.ch</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>MIT style</name>
-          <url>http://www.slf4j.org/license.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <name>Log4j</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.geronimo.components</groupId>
-      <artifactId>geronimo-connector</artifactId>
-      <name>Apache Geronimo TxManager :: Connector</name> 
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.geronimo.components</groupId>
-      <artifactId>geronimo-transaction</artifactId>
-      <name>Apache Geronimo TxManager :: Transaction</name> 
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.springframework.osgi</groupId>
-      <artifactId>spring-osgi-core</artifactId>
-      <name>Spring OSGi Core</name>
-      <url>http://www.springframework.org/osgi/</url>
-      <organization>
-        <name>Spring Framework</name>
-        <url>http://www.springframework.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.springframework.osgi</groupId>
-      <artifactId>spring-osgi-extender</artifactId>
-      <name>Spring OSGi Extender</name>
-      <url>http://www.springframework.org/osgi/</url>
-      <organization>
-        <name>Spring Framework</name>
-        <url>http://www.springframework.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.springframework.osgi</groupId>
-      <artifactId>spring-osgi-io</artifactId>
-      <name>Spring OSGi IO</name>
-      <url>http://www.springframework.org/osgi/</url>
-      <organization>
-        <name>Spring Framework</name>
-        <url>http://www.springframework.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.springframework.osgi</groupId>
-      <artifactId>spring-osgi-annotation</artifactId>
-      <name>Spring OSGi Annotations</name>
-      <url>http://www.springframework.org/osgi/</url>
-      <organization>
-        <name>Spring Framework</name>
-        <url>http://www.springframework.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.objectweb.howl</groupId>
-      <artifactId>howl</artifactId>
-      <name>Howl Logger</name>
-      <url>http://howl.objectweb.org/</url>
-      <organization>
-        <name>ObjectWeb</name>
-        <url>http://www.objectweb.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The BSD License</name>
-          <url>http://howl.objectweb.org/license.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-classworlds</artifactId>
-      <name>Plexus Classworlds</name>
-      <url>http://plexus.codehaus.org/plexus-classworlds/</url>
-      <organization>
-        <name>Codehaus</name>
-        <url>http://www.codehaus.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>com.thoughtworks.xstream</groupId>
-      <artifactId>xstream</artifactId>
-      <name>XStream Core</name>
-      <url>http://xstream.codehaus.org/</url>
-      <organization>
-        <name>Codehaus</name>
-        <url>http://www.codehaus.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The BSD License</name>
-          <url>http://xstream.codehaus.com/license.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.servicemix.specs</groupId>
-      <artifactId>org.apache.servicemix.specs.activation-api-1.1</artifactId>
-      <name>Apache ServiceMix Specs :: Activation 1.1</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
-      <name>Apache Geronimo Specs :: J2EE Connector 1.5</name> 
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
-      <name>Apache Geronimo Specs :: J2EE Management 1.1</name> 
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-javamail_1.4_spec</artifactId>
-      <name>Apache Geronimo Specs :: JavaMail 1.4</name> 
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jms_1.1_spec</artifactId>
-      <name>Apache Geronimo Specs :: JMS 1.1</name> 
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jta_1.1_spec</artifactId>
-      <name>Apache Geronimo Specs :: JTA 1.1</name> 
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-saaj_1.3_spec</artifactId>
-      <name>Apache Geronimo Specs :: SAAJ 1.3</name> 
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-servlet_2.5_spec</artifactId>
-      <name>Apache Geronimo Specs :: Servlet 2.5</name> 
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-    </project>
-  </supplement>
- <supplement>
-    <project>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-stax-api_1.0_spec</artifactId>
-      <name>Apache Geronimo Specs :: Stax API 1.0</name> 
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>jline</groupId>
-      <artifactId>jline</artifactId>
-      <name>JLine</name>
-      <url>http://jline.sourceforge.net</url>
-      <organization>
-        <name>JLine</name>
-        <url>http://jline.sourceforge.net</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The BSD License</name>
-          <url>http://jline.sourceforge.net/license.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty</artifactId>
-      <name>Jetty Server</name>
-      <url>http://jetty.mortbay.org/</url>
-      <organization>
-           <name>Mort Bay Consulting</name>
-           <url>http://www.mortbay.com</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty-util</artifactId>
-      <name>Jetty Utilities</name>
-      <url>http://jetty.mortbay.org/</url>
-      <organization>
-           <name>Mort Bay Consulting</name>
-           <url>http://www.mortbay.com</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.ops4j.base</groupId>
-      <artifactId>ops4j-base-lang</artifactId>
-      <name>OPS4J Base - Lang</name>
-      <url>http://www.ops4j.org/projects/base/ops4j-base-lang</url>
-         <organization>
-           <name>OPS4J - Open Participation Software for Java</name>
-           <url>http://www.ops4j.org/</url>
-         </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.ops4j.base</groupId>
-      <artifactId>ops4j-base-util-collections</artifactId>
-      <name>OPS4J Base - Util - Collections</name>
-      <url>http://www.ops4j.org/projects/base/ops4j-base-util-collections</url>
-         <organization>
-           <name>OPS4J - Open Participation Software for Java</name>
-           <url>http://www.ops4j.org/</url>
-         </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.ops4j.base</groupId>
-      <artifactId>ops4j-base-util-xml</artifactId>
-      <name>OPS4J Base - Util - XML</name>
-      <url>http://www.ops4j.org/projects/base/ops4j-base-util-xml</url>
-         <organization>
-           <name>OPS4J - Open Participation Software for Java</name>
-           <url>http://www.ops4j.org/</url>
-         </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.ops4j.pax.logging</groupId>
-      <artifactId>pax-logging-api</artifactId>
-      <name>OPS4J - Pax Logging API</name>
-      <url>http://www.ops4j.org/projects/pax/logging/pax-logging-api</url>
-         <organization>
-           <name>OPS4J - Open Participation Software for Java</name>
-           <url>http://www.ops4j.org/</url>
-         </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.ops4j.pax.logging</groupId>
-      <artifactId>pax-logging-service</artifactId>
-      <name>OPS4J - Pax Logging Service</name>
-      <url>http://www.ops4j.org/projects/pax/logging/pax-logging-service</url>
-         <organization>
-           <name>OPS4J - Open Participation Software for Java</name>
-           <url>http://www.ops4j.org/</url>
-         </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.ops4j.pax.url</groupId>
-      <artifactId>pax-url-mvn</artifactId>
-      <name>OPS4J Pax Url - mvn:</name>
-      <url>http://www.ops4j.org/projects/pax/url/pax-url-mvn</url>
-         <organization>
-           <name>OPS4J - Open Participation Software for Java</name>
-           <url>http://www.ops4j.org/</url>
-         </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.ops4j.pax.url</groupId>
-      <artifactId>pax-url-war</artifactId>
-      <name>OPS4J Pax Url - war:</name>
-      <url>http://www.ops4j.org/projects/pax/url/pax-url-war</url>
-         <organization>
-           <name>OPS4J - Open Participation Software for Java</name>
-           <url>http://www.ops4j.org/</url>
-         </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.ops4j.pax.web</groupId>
-      <artifactId>pax-web-bundle</artifactId>
-      <name>OPS4J Pax Web - Web Container</name>
-      <url>http://www.ops4j.org/projects/pax/web/pax-web-bundle</url>
-         <organization>
-           <name>OPS4J - Open Participation Software for Java</name>
-           <url>http://www.ops4j.org/</url>
-         </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.ops4j.pax.web</groupId>
-      <artifactId>pax-web-jsp</artifactId>
-      <name>OPS4J Pax Web - JSP</name>
-      <url>http://www.ops4j.org/projects/pax/web/pax-web-jsp</url>
-         <organization>
-           <name>OPS4J - Open Participation Software for Java</name>
-           <url>http://www.ops4j.org/</url>
-         </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.ops4j.pax.web-extender</groupId>
-      <artifactId>pax-web-ex-war</artifactId>
-      <name>OPS4J Pax Web Extender - WAR</name>
-      <url>http://www.ops4j.org/projects/pax/web-extender/pax-web-ex-war</url>
-         <organization>
-           <name>OPS4J - Open Participation Software for Java</name>
-           <url>http://www.ops4j.org/</url>
-         </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.ops4j.pax.web-extender</groupId>
-      <artifactId>pax-web-ex-whiteboard</artifactId>
-      <name>OPS4J Pax Web Extender - Whiteboard</name>
-      <url>http://www.ops4j.org/projects/pax/web-extender/pax-web-ex-whiteboard</url>
-         <organization>
-           <name>OPS4J - Open Participation Software for Java</name>
-           <url>http://www.ops4j.org/</url>
-         </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.impl.bundle.jmx</artifactId>
-      <name>JMX management for OSGi (RI snapshot)</name>
-      <organization>
-        <name>OSGi Alliance</name>
-        <url>http://www.osgi.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.fusesource.jansi</groupId>
-      <artifactId>jansi</artifactId>
-      <name>jansi</name>
-      <organization>
-        <name>FUSE Source</name>
-        <url>http://www.fusesource.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.eclipse</groupId>
-      <artifactId>osgi</artifactId>
-      <name>Equinox Framework</name>
-      <organization>
-        <name>Eclipse Foundation</name>
-        <url>http://www.eclipse.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>Eclipse Public License, Version 1.0</name>
-          <url>http://www.eclipse.org/legal/epl-v10.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>xmlpull</groupId>
-      <artifactId>xmlpull</artifactId>
-      <name>XML Pull Parsing API</name>
-      <organization>
-        <name>Eclipse Foundation</name>
-        <url>http://www.eclipse.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>Public Domain</name>
-          <url>http://www.xmlpull.org/v1/download/unpacked/LICENSE.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>aopalliance</groupId>
-      <artifactId>aopalliance</artifactId>
-      <name>XML Pull Parsing API</name>
-      <organization>
-        <name>AOP Alliance</name>
-        <url>http://aopalliance.sourceforge.net/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>Public Domain</name>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-</supplementalDataModels>
diff --git a/karaf/karaf-maven-plugin/src/site/apt/index.apt b/karaf/karaf-maven-plugin/src/site/apt/index.apt
deleted file mode 100644 (file)
index b6fb60e..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
-
-  ------
-  Introduction
-  ------
-
-Introduction
-
-  The karaf-maven-plugin includes three packagings to produce karaf specific artifacts, and a number of other mojos for various purposes.
-
-Packagings
-
-* feature
-
-  The feature packaging generates a new or augments a supplied feature.xml file to produce a features descriptor.  The transitive maven dependencies of the project are used as the
-  bundles and feature and kar dependencies of a feature in the output feature.xml file.
-
-* kar
-
-  The kar packaging augments the feature packaging to generate a kar archive including the generated features.xml file, suitable resources from the project such as configuration files,
-  and optionally the bundle listed in the feature.xml file.
-
-* karaf-assembly
-
-  The karaf-assembly packaging assembles and packages a karaf server from the maven dependencies of the project. Kar dependencies are unpacked into the server.  Feature dependencies
-   (including those found in unpacked kar files) have their bundles installed into the karaf system directory and may have their bundles added at the specified startlevel to startup.properties.
-
-
-Mojos
-
-* cmdhelp
-
diff --git a/karaf/karaf-maven-plugin/src/site/apt/usage.apt b/karaf/karaf-maven-plugin/src/site/apt/usage.apt
deleted file mode 100644 (file)
index 1fbf3e4..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
-  ------
-  Usage
-  ------
-
-Usage
-
-Packagings
-
-  All packagings require that you mention the karaf-maven-plugin in pluginManagement or plugins with the extension element:
-
-+---+
-                <plugin>
-                    <groupId>org.apache.karaf.tooling</groupId>
-                    <artifactId>karaf-maven-plugin</artifactId>
-                    <version>${karaf.version}</version>
-                    <extensions>true</extensions>
-                </plugin>
-+---+
-
-  You will also need to mention the karaf-maven-plugin in some build/plugins section of your pom or ancestor pom.  The examples below assume extensions is set in
-  a pluginManagement section or an ancestor pom.
-
-* feature
-
-  Specify the feature packaging in your pom with
-
-+---+
-    <packaging>feature</packaging>
-+---+
-
-  The feature packaging lifecycle uses these mojos:
-
-+---+
-                          <phases>
-                              <compile>
-                                  org.apache.karaf.tooling:karaf-maven-plugin:generate-features-xml
-                              </compile>
-                              <install>
-                                  org.apache.maven.plugins:maven-install-plugin:install
-                              </install>
-                              <deploy>
-                                  org.apache.maven.plugins:maven-deploy-plugin:deploy
-                              </deploy>
-                          </phases>
-+---+
-
-  Here's an example of a feature project with all configuration options set:
-
-+---+
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <configuration>
-                    <startLevel>50</startLevel>
-                    <aggregateFeatures>true</aggregateFeatures>
-                    <resolver>(OBR)</resolver>
-
-                    <checkDependencyChange>true</checkDependencyChange>
-                    <warnOnDependencyChange>true</warnOnDependencyChange>
-                    <logDependencyChanges>true</logDependencyChanges>
-                    <overwriteChangedDependencies>true</overwriteChangedDependencies>
-                </configuration>
-            </plugin>
-+---+
-
-  This packaging results in a features xml descriptor including a feature with the project artifactId as name and project version as version.
-
-  The suitably scoped project jar dependencies are added to this feature as bundles.  Compile and provided scope result in the dependency attribute false (unset) and
-  runtime scope results in the dependency attribute set true.
-
-  startLevel determines the startLevel of bundles added to the constructed feature.
-
-  kar project dependencies are added to the constructed feature as dependencies.
-
-  If aggregate features is false or not set, feature project dependencies are added to the constructed feature as dependencies.  If aggregateFeatures is true,
-  the features of all feature project dependencies are extracted from the dependency feature xml files and added as features to the constructed features xml.
-
-  If a source src/main/feature/feature.xml file is provided then it is filtered and used as a base for the generated feature xml file.  If there is a feature of the appropriate name
-  it is extended with the project dependencies, otherwise one is created.  This allows you to specify alternate startLevels, configuration files, and configuration as well as
-  completely configuring the feature xml file by hand.
-
-  The dependency change options allow you to set up change tracking so you can be alerted if the transitive project dependencies included in the feature have changed.  To turn this  on set
-  checkDependencyChange true.  A stripped down feature xml file will be written to src/main/history/dependencies.xml that includes one feature with all the bundles from all the features.
-  Subsequent builds will compare this historical file with a similar current file.  If it has changed, the new dependencies.xml added and removed lists,
-  and a dependency tree will be written to target/history, and various options are available.
-  If warnOnDependencyChange is missing or false, the build will fail.
-  If logDependencyChanges is set, the added and removed lists will be shown in the maven build output.
-  If overwriteChangedDependencies is set the historical src/main/history/dependencies.xml file will be overwritten with the new contents.
-
-  While the determination of bundle transitive dependencies uses aether, just like maven, the algorithm is slightly different.  We traverse the entire dependency graph
-  and exclude bundle dependencies that are included as project dependencies of feature and kar dependencies.  Currently dependencies that are supplied in source feature xml
-  of dependent features and kars are not tracked.
-
-* kar
-
-  Specify the kar packaging in your pom with
-
-+---+
-    <packaging>kar</packaging>
-+---+
-
-  The kar packaging lifecycle uses these mojos:
-
-+---+
-                        <phases>
-                            <process-resources>
-                                org.apache.maven.plugins:maven-resources-plugin:resources
-                            </process-resources>
-                            <compile>
-                                org.apache.karaf.tooling:karaf-maven-plugin:generate-features-xml
-                            </compile>
-                            <package>
-                                org.apache.karaf.tooling:karaf-maven-plugin:archive-kar
-                            </package>
-                            <install>
-                                org.apache.maven.plugins:maven-install-plugin:install
-                            </install>
-                            <deploy>
-                                org.apache.maven.plugins:maven-deploy-plugin:deploy
-                            </deploy>
-                        </phases>
-+---+
-
-  kar packaging configuration is exactly the same as feature packaging configuration.  All bundles that are not marked as dependencies in the feature.xml output from the xml generation stage are
-  added to a maven-repo-like structure in the target kar.  In addition any resources from src are added.  Resources need to be under "resources" in the src resource directory in order to get
-  unpacked when the kar is installed.  For example with default maven-resource-plugin configuration src/main/resources/resources/etc/foo.cfg will result in resources/etc/foo.cfg in the kar and
-  etc/foo.cfg when installed in the server.
-
-
-* karaf-assembly
-
-  Specify the karaf-assembly packaging in your pom with
-
-+---+
-    <packaging>karaf-assembly</packaging>
-+---+
-
-  The karaf-assembly lifecycle uses these mojos:
-
-+---+
-                        <phases>
-                            <process-resources>
-                                org.apache.maven.plugins:maven-resources-plugin:resources,
-                                org.apache.karaf.tooling:karaf-maven-plugin:assembly
-                            </process-resources>
-                            <compile>
-                            </compile>
-                            <package>
-                                org.apache.karaf.tooling:karaf-maven-plugin:archive-server
-                            </package>
-                            <install>
-                                org.apache.maven.plugins:maven-install-plugin:install
-                            </install>
-                            <deploy>
-                                org.apache.maven.plugins:maven-deploy-plugin:deploy
-                            </deploy>
-                        </phases>
-+---+
-
-  Here's an example of a karaf-assembly project with all configuration options set:
-
-+---+
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <configuration>
-                    <defaultStartLevel>50</defaultStartLevel>
-                </configuration>
-            </plugin>
-+---+
-
-  property-file-edits specifies the location of an XML file that specifies edits to 'etc' files as they are
-  copied from the reference to the assembly. By default, the value of this parameter is src/main/karaf/assembly-property-edits.xml;
-  if you add a file at that location, the plugin will apply the edits you specify in it.
-
-  defaultStartLevel determines the start level of bundles that do not have startLevel set in the feature xml descriptor. If not set, the default is 30.
-
-  Project dependencies that are feature or kar packaging are treated differently depending on whether they are scope runtime, or compile/provided.  Runtime scope dependencies are installed
-  less thoroughly.
-
-  This plugin:
-
-  - unpacks the resources content from project dependencies that are kars
-
-  - unpacks the system maven-repo-like structure from project dependencies that are kars. If the project dependency is scope compile or provided it is unpacked to system.
-
-  - locates and installs all the bundles mentioned in feature xml descriptors that are project dependencies or located in project dependencies that are kars of scope compile/provided.
-
-  - constructs a startup.properties file that includes all the bundles mentioned in feature descriptors of scope compile/provided at the specified or default start level.
-
-  - adds the feature project dependencies and features in kar dependencies of scope runtime to the features service configuration.
-
-  The result is packed up into zip and tar.gz assemblies.  Normally to get a working server you would include at least the karaf-framework kar and most likely the karaf-full kar: these are used
-  to assemble the minimal and full server.
diff --git a/karaf/karaf-maven-plugin/src/site/site.xml b/karaf/karaf-maven-plugin/src/site/site.xml
deleted file mode 100644 (file)
index 63594be..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License. 
- *
--->
-
-<project>
-  <body>
-    <menu name="Overview">
-      <item name="Introduction" href="index.html"/>
-      <item name="Goals" href="plugin-info.html"/>
-      <item name="Usage" href="usage.html"/>
-      <item name="FAQ" href="faq.html"/>
-    </menu>
-    <menu name="Examples">
-         <item name="A features project" href="examples/features.html"/>
-    </menu>
-    <menu name="Resources">
-      <!--<item name="Dependency Mechanism" href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html" />-->
-    </menu>
-       <menu ref="reports" />
-  </body>
-</project>
diff --git a/karaf/karaf-maven-plugin/src/site/xdoc/karaf-property-instructions-model.xml b/karaf/karaf-maven-plugin/src/site/xdoc/karaf-property-instructions-model.xml
deleted file mode 100644 (file)
index 1b8a5a4..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0"?>
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-
-
-<!-- =================== DO NOT EDIT THIS FILE ====================         -->
-<!-- Generated by Modello 1.8.3,                                            -->
-<!-- any modifications will be overwritten.                                 -->
-<!-- ==============================================================         -->
-<document>
-  <properties>
-    <title>KarafPropertyInstructionsModel</title>
-  </properties>
-  <body>
-    <section name="KarafPropertyInstructionsModel">
-      <p>
-        Specifications for how to modify Karaf property files to customize an installation.
-    </p>
-      <source>
-&lt;<a href="#class_property-edits">property-edits</a> xmlns="http://karaf.apache.org/tools/property-edits/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://karaf.apache.org/tools/property-edits/1.0.0 <a href="http://karaf.apache.org/xsd/property-edits-1.0.0.xsd">http://karaf.apache.org/xsd/property-edits-1.0.0.xsd</a>"&gt;
-  &lt;edits&gt;
-    &lt;<a href="#class_edit">edit</a>&gt;
-      &lt;<a href="#class_operation">operation</a> prepend=.. /&gt;
-      &lt;file/&gt;
-      &lt;key/&gt;
-      &lt;value/&gt;
-    &lt;/edit&gt;
-  &lt;/edits&gt;
-&lt;/property-edits&gt;
-</source>
-      <a name="class_property-edits"/>
-      <subsection name="property-edits">
-        <p>
-                A collection instructions. Each instruction is either a 'put' or an 'edit',
-                and calls out a file, a property name, and a property value.
-            </p>
-        <table>
-          <tr>
-            <th>Element</th>
-            <th>Type</th>
-            <th>Description</th>
-          </tr>
-          <tr>
-            <td>
-              <code>edits/<a href="#class_edit">edit</a>*</code>
-            </td>
-            <td>
-              <code>List&lt;KarafPropertyEdit&gt;</code>
-            </td>
-            <td><b>(Many)</b> The list of edits to perform.</td>
-          </tr>
-        </table>
-      </subsection>
-      <a name="class_edit"/>
-      <subsection name="edit">
-        <p>
-                A single property edit.
-            </p>
-        <table>
-          <tr>
-            <th>Element</th>
-            <th>Type</th>
-            <th>Description</th>
-          </tr>
-          <tr>
-            <td>
-              <code>
-                <a href="#class_operation">operation</a>
-              </code>
-            </td>
-            <td>
-              <code>Operation</code>
-            </td>
-            <td>
-                        The operation to perform: 'put' or 'extend'.
-                    </td>
-          </tr>
-          <tr>
-            <td>
-              <code>file</code>
-            </td>
-            <td>
-              <code>String</code>
-            </td>
-            <td>
-                        The pathname, relative to the the Karaf etc directory, of the file to manipulate.
-                    </td>
-          </tr>
-          <tr>
-            <td>
-              <code>key</code>
-            </td>
-            <td>
-              <code>String</code>
-            </td>
-            <td>
-                        The property key.
-                    </td>
-          </tr>
-          <tr>
-            <td>
-              <code>value</code>
-            </td>
-            <td>
-              <code>String</code>
-            </td>
-            <td>
-                        The property value.
-                    </td>
-          </tr>
-        </table>
-      </subsection>
-      <a name="class_operation"/>
-      <subsection name="operation">
-        <p>No description.</p>
-        <p>
-          <b>Element Content: </b>
-                        'extend' to extend the existing value, 'put' to replace.
-                    </p>
-        <table>
-          <tr>
-            <th>Attribute</th>
-            <th>Type</th>
-            <th>Description</th>
-          </tr>
-          <tr>
-            <td>
-              <code>prepend</code>
-            </td>
-            <td>
-              <code>boolean</code>
-            </td>
-            <td>for the 'extend' operation, indicates that the value should be placed at the head of the list.<br/><strong>Default value is</strong>: <code>false</code>.</td>
-          </tr>
-        </table>
-      </subsection>
-    </section>
-  </body>
-</document>
diff --git a/karaf/karaf-maven-plugin/src/test/java/org/apache/karaf/tooling/features/BundleToArtifactTest.java b/karaf/karaf-maven-plugin/src/test/java/org/apache/karaf/tooling/features/BundleToArtifactTest.java
deleted file mode 100644 (file)
index 7adb1de..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-package org.apache.karaf.tooling.features;
-
-import java.lang.reflect.Field;
-import java.util.HashMap;
-
-import org.apache.karaf.tooling.utils.MojoSupport;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.DefaultArtifactFactory;
-import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
-import org.apache.maven.artifact.handler.manager.DefaultArtifactHandlerManager;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.junit.Test;
-
-public class BundleToArtifactTest extends MojoSupport {
-
-    @SuppressWarnings("rawtypes")
-       public BundleToArtifactTest() throws NoSuchFieldException, IllegalAccessException {
-        factory = new DefaultArtifactFactory();
-        ArtifactHandlerManager artifactHandlerManager = new DefaultArtifactHandlerManager();
-        Field f = factory.getClass().getDeclaredField("artifactHandlerManager");
-        f.setAccessible(true);
-        f.set(factory, artifactHandlerManager);
-        f.setAccessible(false);
-
-        f = artifactHandlerManager.getClass().getDeclaredField("artifactHandlers");
-        f.setAccessible(true);
-        f.set(artifactHandlerManager, new HashMap());
-        f.setAccessible(false);
-    }
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-    }
-    
-    @Test
-    public void testSimpleURL() throws Exception {
-        Artifact artifact = resourceToArtifact("mvn:org.foo/bar/1.0/kar", false);
-        assert artifact.getGroupId().equals("org.foo");
-        assert artifact.getArtifactId().equals("bar");
-        assert artifact.getBaseVersion().equals("1.0");
-        assert artifact.getType().equals("kar");
-        assert artifact.getRepository() == null;
-        assert artifact.getClassifier() == null;
-    }
-
-    @Test
-    public void testURLWithClassifier() throws Exception {
-        Artifact artifact = resourceToArtifact("mvn:org.foo/bar/1.0/kar/type", false);
-        assert artifact.getGroupId().equals("org.foo");
-        assert artifact.getArtifactId().equals("bar");
-        assert artifact.getBaseVersion().equals("1.0");
-        assert artifact.getType().equals("kar");
-        assert artifact.getRepository() == null;
-        assert artifact.getClassifier().equals("type");
-    }
-
-    @Test
-    public void testRemoteRepoURL() throws Exception {
-        Artifact artifact = resourceToArtifact("mvn:http://baz.com!org.foo/bar/1.0/kar", false);
-        assert artifact.getGroupId().equals("org.foo");
-        assert artifact.getArtifactId().equals("bar");
-        assert artifact.getBaseVersion().equals("1.0");
-        assert artifact.getType().equals("kar");
-        assert artifact.getRepository().getUrl().equals("http://baz.com");
-        assert artifact.getClassifier() == null;
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/test/java/org/apache/karaf/tooling/features/GenerateDescriptorMojoTest.java b/karaf/karaf-maven-plugin/src/test/java/org/apache/karaf/tooling/features/GenerateDescriptorMojoTest.java
deleted file mode 100644 (file)
index 0eecbd0..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.karaf.tooling.features;
-
-import static org.junit.Assert.*;
-
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.List;
-
-import javax.xml.bind.JAXBException;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.stream.XMLStreamException;
-
-import org.apache.karaf.features.FeaturesNamespaces;
-import org.apache.karaf.features.internal.model.Features;
-import org.apache.karaf.features.internal.model.Feature;
-import org.apache.karaf.features.internal.model.JaxbUtil;
-import org.junit.Test;
-import org.xml.sax.SAXException;
-
-public class GenerateDescriptorMojoTest {
-
-    @Test
-    public void testReadXml100() throws JAXBException, SAXException, ParserConfigurationException, XMLStreamException {
-
-        URL url = getClass().getClassLoader().getResource("input-features-1.0.0.xml");
-
-        Features featuresRoot = JaxbUtil.unmarshal(url.toExternalForm(), false);
-
-        assertEquals(featuresRoot.getRepository().size(), 1);
-
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
-        JaxbUtil.marshal(featuresRoot, baos);
-
-        String text = new String(baos.toByteArray());
-
-        assertTrue(text.contains("repository"));
-
-        assertTrue(text.contains(FeaturesNamespaces.URI_CURRENT));
-    }
-
-    @Test
-    public void testReadXml1() throws Exception {
-
-        URL url = getClass().getClassLoader().getResource("input-features-1.1.0.xml");
-
-        Features featuresRoot = JaxbUtil.unmarshal(url.toExternalForm(), false);
-
-        List<Feature> featuresList = featuresRoot.getFeature();
-
-        assertEquals(featuresList.size(), 1);
-
-        Feature feature = featuresList.get(0);
-
-        assertEquals(feature.getInstall(), "auto");
-    }
-
-}
diff --git a/karaf/karaf-maven-plugin/src/test/java/org/apache/karaf/tooling/features/ManifestUtilsTest.java b/karaf/karaf-maven-plugin/src/test/java/org/apache/karaf/tooling/features/ManifestUtilsTest.java
deleted file mode 100644 (file)
index 00c1d02..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.tooling.features;
-
-import static org.apache.karaf.tooling.utils.ManifestUtils.matches;
-
-import junit.framework.TestCase;
-
-import org.apache.felix.utils.manifest.Attribute;
-import org.apache.felix.utils.manifest.Clause;
-import org.apache.felix.utils.manifest.Directive;
-import org.apache.karaf.tooling.utils.ManifestUtils;
-import org.osgi.framework.Constants;
-
-/**
- * Test cased for {@link org.apache.karaf.tooling.utils.ManifestUtils}
- */
-public class ManifestUtilsTest extends TestCase {
-
-    public void testIsOptional() {
-       Directive[] directive = new Directive[0];
-       Attribute[] attribute = new Attribute[0];
-        Clause clause = new Clause("org.apache.karaf.test", directive, attribute);
-        assertFalse(ManifestUtils.isOptional(clause));
-
-        directive = new Directive[1];
-        directive[0] = new Directive("resolution", "mandatory");
-        clause = new Clause("org.apache.karaf.test", directive, attribute);
-        
-        assertFalse(ManifestUtils.isOptional(clause));
-
-        directive[0] = new Directive("resolution", "optional");
-        clause = new Clause("org.apache.karaf.test", directive, attribute);
-        assertTrue(ManifestUtils.isOptional(clause));
-    }
-
-    public void testMatches() {
-        assertFalse(matches(clause("org.apache.karaf.dev"), clause("org.apache.karaf.test")));
-        assertTrue(matches(clause("org.apache.karaf.test"), clause("org.apache.karaf.test")));
-
-        assertFalse(matches(clause("org.apache.karaf.test", "1.2.0"), clause("org.apache.karaf.test", "[1.1.0, 1.1.0]")));
-        assertTrue(matches(clause("org.apache.karaf.test", "1.1.0"), clause("org.apache.karaf.test", "[1.1.0, 1.1.0]")));
-
-        // a single version means >= 1.0.0, so 1.1.O should be a match
-        assertTrue(matches(clause("org.apache.karaf.test", "1.0.0"), clause("org.apache.karaf.test", "1.1.0")));
-        assertTrue(matches(clause("org.apache.karaf.test", "1.0.0"), clause("org.apache.karaf.test")));
-
-        assertFalse(matches(clause("org.apache.karaf.test", "[1.1.0, 1.2.0)"), clause("org.apache.karaf.test", "[1.0.0, 1.0.0]")));
-        assertFalse(matches(clause("org.apache.karaf.test", "[1.1.0, 1.2.0)"), clause("org.apache.karaf.test", "[1.2.0, 1.2.0]")));
-        assertTrue(matches(clause("org.apache.karaf.test", "[1.1.0, 1.2.0)"), clause("org.apache.karaf.test", "[1.1.0, 1.1.0]")));
-        assertTrue(matches(clause("org.apache.karaf.test", "[1.1.0, 1.2.0)"), clause("org.apache.karaf.test", "[1.1.1, 1.1.1]")));
-        assertTrue(matches(clause("org.apache.karaf.test", "[1.1.0, 1.1.0]"), clause("org.apache.karaf.test", "[1.1.0, 1.1.0]")));
-        assertFalse(matches(clause("org.apache.karaf.test", "[1.1.0, 1.1.0]"), clause("org.apache.karaf.test", "1.1.1")));
-        assertTrue(matches(clause("org.apache.karaf.test", "[1.1.0, 1.1.0]"), clause("org.apache.karaf.test", "1.0.0")));
-    }
-
-    private Clause clause(String name) {
-        return new Clause(name, new Directive[0], new Attribute[0]);
-    }
-
-    private Clause clause(String name, String version) {
-       Attribute[] attribute = {new Attribute(Constants.VERSION_ATTRIBUTE, version)};
-        return new Clause(name, new Directive[0], attribute);
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/test/java/org/apache/karaf/tooling/features/MavenUtilTest.java b/karaf/karaf-maven-plugin/src/test/java/org/apache/karaf/tooling/features/MavenUtilTest.java
deleted file mode 100644 (file)
index 0623566..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling.features;
-
-import org.apache.karaf.tooling.utils.Dependency30Helper;
-import org.apache.karaf.tooling.utils.Dependency31Helper;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import static org.apache.karaf.tooling.utils.MavenUtil.aetherToMvn;
-import static org.apache.karaf.tooling.utils.MavenUtil.mvnToAether;
-import static org.junit.Assert.assertEquals;
-
-public class MavenUtilTest {
-
-    @Test
-    public void testMvnToAether() throws Exception {
-        assertEquals("org.foo:org.foo.bar:1.0-SNAPSHOT", mvnToAether("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT"));
-        assertEquals("org.foo:org.foo.bar:kar:1.0-SNAPSHOT", mvnToAether("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/kar"));
-        assertEquals("org.foo:org.foo.bar:xml:features:1.0-SNAPSHOT", mvnToAether("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/xml/features"));
-        assertEquals("org.foo:org.foo.bar:1.0-SNAPSHOT", mvnToAether("wrap:mvn:org.foo/org.foo.bar/1.0-SNAPSHOT"));
-        assertEquals("org.foo:org.foo.bar:kar:1.0-SNAPSHOT", mvnToAether("wrap:mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/kar"));
-        assertEquals("org.foo:org.foo.bar:xml:features:1.0-SNAPSHOT", mvnToAether("wrap:mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/xml/features"));
-    }
-
-    @Test
-    public void testAetherToMvn() throws Exception {
-        assertEquals("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT", aetherToMvn("org.foo:org.foo.bar:1.0-SNAPSHOT"));
-        assertEquals("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/kar", aetherToMvn("org.foo:org.foo.bar:kar:1.0-SNAPSHOT"));
-        assertEquals("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/xml/features", aetherToMvn("org.foo:org.foo.bar:xml:features:1.0-SNAPSHOT"));
-    }
-
-    @Test
-    public void testPathFromMvnSonatype() throws Exception {
-        Dependency30Helper helper = new Dependency30Helper(null, null, null);
-        assertEquals("org/foo/org.foo.bar/1.0-SNAPSHOT/org.foo.bar-1.0-SNAPSHOT.jar", helper.pathFromMaven("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT"));
-        assertEquals("org/foo/org.foo.bar/1.0-SNAPSHOT/org.foo.bar-1.0-SNAPSHOT.kar", helper.pathFromMaven("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/kar"));
-        assertEquals("org/foo/org.foo.bar/1.0-SNAPSHOT/org.foo.bar-1.0-SNAPSHOT-features.xml", helper.pathFromMaven("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/xml/features"));
-    }
-
-    @Test
-    @Ignore("Will work with org.apache.maven:maven-core:3.1.0+")
-    public void testPathFromMvnEclipse() throws Exception {
-        Dependency31Helper helper = new Dependency31Helper(null, null, null);
-        assertEquals("org/foo/org.foo.bar/1.0-SNAPSHOT/org.foo.bar-1.0-SNAPSHOT.jar", helper.pathFromMaven("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT"));
-        assertEquals("org/foo/org.foo.bar/1.0-SNAPSHOT/org.foo.bar-1.0-SNAPSHOT.kar", helper.pathFromMaven("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/kar"));
-        assertEquals("org/foo/org.foo.bar/1.0-SNAPSHOT/org.foo.bar-1.0-SNAPSHOT-features.xml", helper.pathFromMaven("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/xml/features"));
-    }
-
-    @Test
-    public void testPathFromAetherSonatype() throws Exception {
-        Dependency30Helper helper = new Dependency30Helper(null, null, null);
-        assertEquals("org/foo/org.foo.bar/1.0-SNAPSHOT/org.foo.bar-1.0-SNAPSHOT.jar", helper.pathFromAether("org.foo:org.foo.bar:1.0-SNAPSHOT"));
-        assertEquals("org/foo/org.foo.bar/1.0-SNAPSHOT/org.foo.bar-1.0-SNAPSHOT.kar", helper.pathFromAether("org.foo:org.foo.bar:kar:1.0-SNAPSHOT"));
-        assertEquals("org/foo/org.foo.bar/1.0-SNAPSHOT/org.foo.bar-1.0-SNAPSHOT-features.xml", helper.pathFromAether("org.foo:org.foo.bar:xml:features:1.0-SNAPSHOT"));
-    }
-
-    @Test
-    @Ignore("Will work with org.apache.maven:maven-core:3.1.0+")
-    public void testPathFromAetherEclipse() throws Exception {
-        Dependency31Helper helper = new Dependency31Helper(null, null, null);
-        assertEquals("org/foo/org.foo.bar/1.0-SNAPSHOT/org.foo.bar-1.0-SNAPSHOT.jar", helper.pathFromAether("org.foo:org.foo.bar:1.0-SNAPSHOT"));
-        assertEquals("org/foo/org.foo.bar/1.0-SNAPSHOT/org.foo.bar-1.0-SNAPSHOT.kar", helper.pathFromAether("org.foo:org.foo.bar:kar:1.0-SNAPSHOT"));
-        assertEquals("org/foo/org.foo.bar/1.0-SNAPSHOT/org.foo.bar-1.0-SNAPSHOT-features.xml", helper.pathFromAether("org.foo:org.foo.bar:xml:features:1.0-SNAPSHOT"));
-    }
-
-    @Test
-    public void testSonatypeArtifactToMvn() throws Exception {
-        Dependency30Helper helper = new Dependency30Helper(null, null, null);
-        assertEquals("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT", helper.artifactToMvn(new org.sonatype.aether.util.artifact.DefaultArtifact("org.foo:org.foo.bar:1.0-SNAPSHOT"), "1.0-SNAPSHOT"));
-        assertEquals("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/kar", helper.artifactToMvn(new org.sonatype.aether.util.artifact.DefaultArtifact("org.foo:org.foo.bar:kar:1.0-SNAPSHOT"), "1.0-SNAPSHOT"));
-        assertEquals("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/xml/features", helper.artifactToMvn(new org.sonatype.aether.util.artifact.DefaultArtifact("org.foo:org.foo.bar:xml:features:1.0-SNAPSHOT"), "1.0-SNAPSHOT"));
-    }
-
-    @Test
-    public void testEclipseArtifactToMvn() throws Exception {
-        Dependency31Helper helper = new Dependency31Helper(null, null, null);
-        assertEquals("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT", helper.artifactToMvn(new org.eclipse.aether.artifact.DefaultArtifact("org.foo:org.foo.bar:1.0-SNAPSHOT"), "1.0-SNAPSHOT"));
-        assertEquals("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/kar", helper.artifactToMvn(new org.eclipse.aether.artifact.DefaultArtifact("org.foo:org.foo.bar:kar:1.0-SNAPSHOT"), "1.0-SNAPSHOT"));
-        assertEquals("mvn:org.foo/org.foo.bar/1.0-SNAPSHOT/xml/features", helper.artifactToMvn(new org.eclipse.aether.artifact.DefaultArtifact("org.foo:org.foo.bar:xml:features:1.0-SNAPSHOT"), "1.0-SNAPSHOT"));
-    }
-
-    @Test
-    public void testSonatypeArtifactToMvnWithRange() throws Exception {
-        Dependency30Helper helper = new Dependency30Helper(null, null, null);
-        assertEquals("mvn:org.foo/org.foo.bar/[1.0,2.0)", helper.artifactToMvn(new org.sonatype.aether.util.artifact.DefaultArtifact("org.foo:org.foo.bar:1.0-SNAPSHOT"), "[1.0,2.0)"));
-        assertEquals("mvn:org.foo/org.foo.bar/[1.0,2.0)/kar", helper.artifactToMvn(new org.sonatype.aether.util.artifact.DefaultArtifact("org.foo:org.foo.bar:kar:1.0-SNAPSHOT"), "[1.0,2.0)"));
-        assertEquals("mvn:org.foo/org.foo.bar/[1.0,2.0)/xml/features", helper.artifactToMvn(new org.sonatype.aether.util.artifact.DefaultArtifact("org.foo:org.foo.bar:xml:features:1.0-SNAPSHOT"), "[1.0,2.0)"));
-    }
-
-    @Test
-    public void testEclipseArtifactToMvnWithRange() throws Exception {
-        Dependency31Helper helper = new Dependency31Helper(null, null, null);
-        assertEquals("mvn:org.foo/org.foo.bar/[1.0,2.0)", helper.artifactToMvn(new org.eclipse.aether.artifact.DefaultArtifact("org.foo:org.foo.bar:1.0-SNAPSHOT"), "[1.0,2.0)"));
-        assertEquals("mvn:org.foo/org.foo.bar/[1.0,2.0)/kar", helper.artifactToMvn(new org.eclipse.aether.artifact.DefaultArtifact("org.foo:org.foo.bar:kar:1.0-SNAPSHOT"), "[1.0,2.0)"));
-        assertEquals("mvn:org.foo/org.foo.bar/[1.0,2.0)/xml/features", helper.artifactToMvn(new org.eclipse.aether.artifact.DefaultArtifact("org.foo:org.foo.bar:xml:features:1.0-SNAPSHOT"), "[1.0,2.0)"));
-    }
-}
diff --git a/karaf/karaf-maven-plugin/src/test/offline.properties b/karaf/karaf-maven-plugin/src/test/offline.properties
deleted file mode 100644 (file)
index 73da0c2..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#    Licensed to the Apache Software Foundation (ASF) under one or more
-#    contributor license agreements.  See the NOTICE file distributed with
-#    this work for additional information regarding copyright ownership.
-#    The ASF licenses this file to You under the Apache License, Version 2.0
-#    (the "License"); you may not use this file except in compliance with
-#    the License.  You may obtain a copy of the License at
-
-#       http://www.apache.org/licenses/LICENSE-2.0
-
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-invoker.offline = true
diff --git a/karaf/karaf-maven-plugin/src/test/resources/input-features-1.0.0.xml b/karaf/karaf-maven-plugin/src/test/resources/input-features-1.0.0.xml
deleted file mode 100644 (file)
index a015b59..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0" name="geronimo-transaction">
-    <repository>http://foo.org</repository>
-</features>
diff --git a/karaf/karaf-maven-plugin/src/test/resources/input-features-1.1.0.xml b/karaf/karaf-maven-plugin/src/test/resources/input-features-1.1.0.xml
deleted file mode 100644 (file)
index e1d97f4..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.1.0" name="testing">
-
-    <repository>http://testing-feature.org</repository>
-
-    <feature install="auto" name="testing-feature" version="1.0.0" description="some testing feature">
-        <bundle start-level="30">mvn:org.apache.karaf.features/org.apache.karaf.features.core/2.2.8</bundle>
-        <bundle start-level="30">mvn:org.apache.karaf.features/org.apache.karaf.features.command/2.2.8</bundle>
-    </feature>
-
-</features>
diff --git a/karaf/karaf-maven-plugin/src/test/resources/input-repository.xml b/karaf/karaf-maven-plugin/src/test/resources/input-repository.xml
deleted file mode 100644 (file)
index fa5d4b4..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0" name="geronimo-transaction">
-    <repository>
-        http://foo.org
-    </repository>
-</features>
index f44e5a114c8b9349af675222b72302c1da401b39..cc304ffcf02ce3d227671d413af25f4e0ce19b8d 100644 (file)
@@ -26,6 +26,5 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <module>karaf4-parent</module>
     <module>opendaylight-karaf4-resources</module>
     <module>opendaylight-karaf4-empty</module>
-    <module>karaf-maven-plugin</module>
   </modules>
 </project>