You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by dj...@apache.org on 2011/04/07 05:13:23 UTC

svn commit: r1089715 - in /karaf/trunk: assemblies/features/framework/ assemblies/features/framework/src/main/feature/ assemblies/features/framework/src/main/filtered-resources/resources/demos/web/ assemblies/features/framework/src/main/filtered-resour...

Author: djencks
Date: Thu Apr  7 03:13:23 2011
New Revision: 1089715

URL: http://svn.apache.org/viewvc?rev=1089715&view=rev
Log:
KARAF-424 clean up base kars, make kar mojo add features xml to repo, put kittests back to old assembly

Removed:
    karaf/trunk/assemblies/features/framework/src/main/filtered-resources/resources/demos/web/README.txt
    karaf/trunk/assemblies/features/framework/src/main/filtered-resources/resources/minimal/org.apache.karaf.features.cfg
    karaf/trunk/assemblies/features/framework/src/main/filtered-resources/resources/minimal/startup.properties
    karaf/trunk/assemblies/features/full/src/main/filtered-resources/resources/minimal/org.apache.karaf.features.cfg
    karaf/trunk/assemblies/features/full/src/main/filtered-resources/resources/minimal/startup.properties
Modified:
    karaf/trunk/assemblies/features/framework/pom.xml
    karaf/trunk/assemblies/features/framework/src/main/feature/feature.xml
    karaf/trunk/assemblies/features/framework/src/main/filtered-resources/resources/etc/org.apache.karaf.features.cfg
    karaf/trunk/assemblies/features/full/pom.xml
    karaf/trunk/assemblies/features/full/src/main/filtered-resources/resources/etc/org.apache.karaf.features.cfg
    karaf/trunk/itests/kittests/pom.xml
    karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java

Modified: karaf/trunk/assemblies/features/framework/pom.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/assemblies/features/framework/pom.xml?rev=1089715&r1=1089714&r2=1089715&view=diff
==============================================================================
--- karaf/trunk/assemblies/features/framework/pom.xml (original)
+++ karaf/trunk/assemblies/features/framework/pom.xml Thu Apr  7 03:13:23 2011
@@ -207,68 +207,6 @@
             <artifactId>org.apache.servicemix.bundles.asm</artifactId>
         </dependency>
 
-<!--
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.bundlerepository</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.eventadmin</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.metatype</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.admin</groupId>
-            <artifactId>org.apache.karaf.admin.core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.admin</groupId>
-            <artifactId>org.apache.karaf.admin.command</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.admin</groupId>
-            <artifactId>org.apache.karaf.admin.management</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.deployer</groupId>
-            <artifactId>org.apache.karaf.deployer.spring</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.deployer</groupId>
-            <artifactId>org.apache.karaf.deployer.blueprint</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.deployer</groupId>
-            <artifactId>org.apache.karaf.deployer.features</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.deployer</groupId>
-            <artifactId>org.apache.karaf.deployer.kar</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.deployer</groupId>
-            <artifactId>org.apache.karaf.deployer.wrap</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.features</groupId>
-            <artifactId>org.apache.karaf.features.obr</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.shell</groupId>
-            <artifactId>org.apache.karaf.shell.obr</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.mina</groupId>
-            <artifactId>mina-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.sshd</groupId>
-            <artifactId>sshd-core</artifactId>
-        </dependency>
--->
     </dependencies>
     <build>
         <resources>
@@ -341,19 +279,16 @@
                                     <groupId>org.apache.karaf</groupId>
                                     <artifactId>org.apache.karaf.exception</artifactId>
                                     <outputDirectory>target/classes/resources/lib/endorsed</outputDirectory>
-                                    <!--<destFileName>karaf-jaas-boot.jar</destFileName>-->
                                 </artifactItem>
                                 <artifactItem>
                                     <groupId>org.eclipse</groupId>
                                     <artifactId>osgi</artifactId>
                                     <outputDirectory>target/classes/resources/system/org/eclipse/osgi/${equinox.version}</outputDirectory>
-                                    <!--<destFileName>karaf-jaas-boot.jar</destFileName>-->
                                 </artifactItem>
                                 <artifactItem>
                                     <groupId>org.apache.felix</groupId>
                                     <artifactId>org.apache.felix.framework</artifactId>
                                     <outputDirectory>target/classes/resources/system/org/apache/felix/org.apache.felix.framework/${felix.framework.version}</outputDirectory>
-                                    <!--<destFileName>karaf-jaas-boot.jar</destFileName>-->
                                 </artifactItem>
                             </artifactItems>
                         </configuration>
@@ -364,13 +299,11 @@
                 <groupId>org.apache.karaf.tooling</groupId>
                 <artifactId>karaf-maven-plugin</artifactId>
                 <version>${project.version}</version>
-                <!--<extensions>true</extensions>-->
                 <configuration>
                     <startLevel>30</startLevel>
-                    <checkDependencyChange>true</checkDependencyChange>
-                    <overwriteChangedDependencies>true</overwriteChangedDependencies>
-                    <warnOnDependencyChange>true</warnOnDependencyChange>
-                    <!--<repositoryPath>resources/system/</repositoryPath>-->
+                    <!--<checkDependencyChange>true</checkDependencyChange>-->
+                    <!--<overwriteChangedDependencies>true</overwriteChangedDependencies>-->
+                    <!--<warnOnDependencyChange>true</warnOnDependencyChange>-->
                 </configuration>
                 <executions>
                     <execution>

Modified: karaf/trunk/assemblies/features/framework/src/main/feature/feature.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/assemblies/features/framework/src/main/feature/feature.xml?rev=1089715&r1=1089714&r2=1089715&view=diff
==============================================================================
--- karaf/trunk/assemblies/features/framework/src/main/feature/feature.xml (original)
+++ karaf/trunk/assemblies/features/framework/src/main/feature/feature.xml Thu Apr  7 03:13:23 2011
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0" name="&lt;unnamed&gt;">
+<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0" name="framework">
     <feature version="2.99.99-SNAPSHOT" name="karaf-framework">
         <bundle dependency="false" start="true" start-level="5">mvn:org.ops4j.pax.url/pax-url-mvn/${pax.url.version}</bundle>
         <bundle dependency="false" start="true" start-level="5">mvn:org.ops4j.pax.url/pax-url-wrap/${pax.url.version}</bundle>

Modified: karaf/trunk/assemblies/features/framework/src/main/filtered-resources/resources/etc/org.apache.karaf.features.cfg
URL: http://svn.apache.org/viewvc/karaf/trunk/assemblies/features/framework/src/main/filtered-resources/resources/etc/org.apache.karaf.features.cfg?rev=1089715&r1=1089714&r2=1089715&view=diff
==============================================================================
--- karaf/trunk/assemblies/features/framework/src/main/filtered-resources/resources/etc/org.apache.karaf.features.cfg (original)
+++ karaf/trunk/assemblies/features/framework/src/main/filtered-resources/resources/etc/org.apache.karaf.features.cfg Thu Apr  7 03:13:23 2011
@@ -25,4 +25,4 @@ featuresRepositories=mvn:org.apache.kara
 #
 # Comma separated list of features to install at startup
 #
-featuresBoot=config,ssh,management
+featuresBoot=management

Modified: karaf/trunk/assemblies/features/full/pom.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/assemblies/features/full/pom.xml?rev=1089715&r1=1089714&r2=1089715&view=diff
==============================================================================
--- karaf/trunk/assemblies/features/full/pom.xml (original)
+++ karaf/trunk/assemblies/features/full/pom.xml Thu Apr  7 03:13:23 2011
@@ -38,18 +38,6 @@
 
     <dependencies>
 
-        <!--<dependency>-->
-            <!--<groupId>org.apache.felix</groupId>-->
-            <!--<artifactId>org.apache.felix.bundlerepository</artifactId>-->
-        <!--</dependency>-->
-        <!--<dependency>-->
-            <!--<groupId>org.apache.felix</groupId>-->
-            <!--<artifactId>org.apache.felix.eventadmin</artifactId>-->
-        <!--</dependency>-->
-        <!--<dependency>-->
-            <!--<groupId>org.apache.felix</groupId>-->
-            <!--<artifactId>org.apache.felix.metatype</artifactId>-->
-        <!--</dependency>-->
         <dependency>
             <groupId>org.apache.karaf.admin</groupId>
             <artifactId>org.apache.karaf.admin.core</artifactId>
@@ -82,14 +70,6 @@
             <groupId>org.apache.karaf.deployer</groupId>
             <artifactId>org.apache.karaf.deployer.wrap</artifactId>
         </dependency>
-        <!--<dependency>-->
-            <!--<groupId>org.apache.karaf.features</groupId>-->
-            <!--<artifactId>org.apache.karaf.features.obr</artifactId>-->
-        <!--</dependency>-->
-        <!--<dependency>-->
-            <!--<groupId>org.apache.karaf.shell</groupId>-->
-            <!--<artifactId>org.apache.karaf.shell.obr</artifactId>-->
-        <!--</dependency>-->
         <dependency>
             <groupId>org.apache.mina</groupId>
             <artifactId>mina-core</artifactId>
@@ -142,9 +122,9 @@
                 <version>${project.version}</version>
                 <configuration>
                     <startLevel>30</startLevel>
-                    <checkDependencyChange>true</checkDependencyChange>
-                    <overwriteChangedDependencies>true</overwriteChangedDependencies>
-                    <warnOnDependencyChange>true</warnOnDependencyChange>
+                    <!--<checkDependencyChange>true</checkDependencyChange>-->
+                    <!--<overwriteChangedDependencies>true</overwriteChangedDependencies>-->
+                    <!--<warnOnDependencyChange>true</warnOnDependencyChange>-->
                 </configuration>
                 <executions>
                     <execution>

Modified: karaf/trunk/assemblies/features/full/src/main/filtered-resources/resources/etc/org.apache.karaf.features.cfg
URL: http://svn.apache.org/viewvc/karaf/trunk/assemblies/features/full/src/main/filtered-resources/resources/etc/org.apache.karaf.features.cfg?rev=1089715&r1=1089714&r2=1089715&view=diff
==============================================================================
--- karaf/trunk/assemblies/features/full/src/main/filtered-resources/resources/etc/org.apache.karaf.features.cfg (original)
+++ karaf/trunk/assemblies/features/full/src/main/filtered-resources/resources/etc/org.apache.karaf.features.cfg Thu Apr  7 03:13:23 2011
@@ -20,7 +20,7 @@
 #
 # Comma separated list of features repositories to register by default
 #
-featuresRepositories=mvn:org.apache.karaf.assemblies.features/standard/${project.version}/xml/features,mvn:org.apache.karaf.assemblies.features/enterprise/${project.version}/xml/features
+featuresRepositories=
 
 #
 # Comma separated list of features to install at startup

Modified: karaf/trunk/itests/kittests/pom.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/itests/kittests/pom.xml?rev=1089715&r1=1089714&r2=1089715&view=diff
==============================================================================
--- karaf/trunk/itests/kittests/pom.xml (original)
+++ karaf/trunk/itests/kittests/pom.xml Thu Apr  7 03:13:23 2011
@@ -44,17 +44,15 @@
               which would lead to java.lang.RuntimeException: Could not create [service.obr] -->
         <dependency>
             <groupId>org.apache.karaf.assemblies</groupId>
-            <artifactId>apache-karaf-full</artifactId>
+            <artifactId>apache-karaf</artifactId>
             <type>tar.gz</type>
-            <classifier>bin</classifier>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.apache.karaf.assemblies</groupId>
-            <artifactId>apache-karaf-full</artifactId>
+            <artifactId>apache-karaf</artifactId>
             <type>zip</type>
-            <classifier>bin</classifier>
             <scope>test</scope>
         </dependency>
 
@@ -111,9 +109,8 @@
                             <artifactItems>
                                 <artifactItem>
                                     <groupId>org.apache.karaf.assemblies</groupId>
-                                    <artifactId>apache-karaf-full</artifactId>
+                                    <artifactId>apache-karaf</artifactId>
                                     <type>tar.gz</type>
-                                    <classifier>bin</classifier>
                                     <outputDirectory>target/distributions</outputDirectory>
                                     <destFileName>karaf.tar.gz</destFileName>
                                 </artifactItem>
@@ -130,9 +127,8 @@
                             <artifactItems>
                                 <artifactItem>
                                     <groupId>org.apache.karaf.assemblies</groupId>
-                                    <artifactId>apache-karaf-full</artifactId>
+                                    <artifactId>apache-karaf</artifactId>
                                     <type>zip</type>
-                                    <classifier>bin</classifier>
                                     <outputDirectory>target/distributions</outputDirectory>
                                     <destFileName>karaf.zip</destFileName>
                                 </artifactItem>

Modified: karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java
URL: http://svn.apache.org/viewvc/karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java?rev=1089715&r1=1089714&r2=1089715&view=diff
==============================================================================
--- karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java (original)
+++ karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java Thu Apr  7 03:13:23 2011
@@ -177,6 +177,7 @@ public class InstallKarsMojo extends Moj
         installer.init();
         Collection<Artifact> dependencies = project.getDependencyArtifacts();
         StringBuilder buf = new StringBuilder();
+        byte[] buffer = new byte[4096];
         for (Artifact artifact: dependencies) {
             unpackToLocalRepo = "runtime".equals(artifact.getScope());
             repoPath = unpackToLocalRepo ? localRepoDirectory : systemDirectory;
@@ -191,24 +192,42 @@ public class InstallKarsMojo extends Moj
                 }
             }
             if ("features".equals(artifact.getClassifier()) && acceptScope(artifact)) {
-                File file = artifact.getFile();
+                String uri = String.format("mvn:%s/%s/%s/%s/%s", artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(), artifact.getClassifier());
+
                 try {
-                    featuresService.addRepository(file.toURI());
+                    featuresService.addRepository(URI.create(uri));
                 } catch (Exception e) {
                     buf.append("Could not install feature: ").append(artifact.toString()).append("\n");
                     buf.append(e.getMessage()).append("\n\n");
                 }
+                File source = artifact.getFile();
+                File target = new File(systemDirectory + "/" + fromMaven(artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" + artifact.getVersion() + ":" + artifact.getType() + ":" + artifact.getClassifier()));
+                if (!target.exists()) {
+                    target.getParentFile().mkdirs();
+                    try {
+                        InputStream is = new FileInputStream(source);
+                        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(target));
+                        int count = 0;
+                        while ((count = is.read(buffer)) > 0)
+                        {
+                            bos.write(buffer, 0, count);
+                        }
+                        bos.close();
+                    } catch (IOException e) {
+                        getLog().error("Could not copy features " + uri + " from source file " + source, e);
+                    }
+
+                }
             }
         }
 
-        //install bundles in startup properties that weren't in kars
-        byte[] buffer = new byte[4096];
+        //install bundles listed in startup properties that weren't in kars into the system dir
         for (String key: startupProperties.keySet()) {
             String path = fromMaven(key);
             File target = new File(systemDirectory + "/" + path);
             if (!target.exists()) {
-                target.getParentFile().mkdirs();
                 File source = resolve(key);
+                target.getParentFile().mkdirs();
                 try {
                     InputStream is = new FileInputStream(source);
                     BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(target));
@@ -317,9 +336,9 @@ public class InstallKarsMojo extends Moj
         public void validateRepository(URI uri) throws Exception {
         }
 
-        public void addRepository(URI url) throws Exception {
+        public void addRepository(URI uri) throws Exception {
             if (unpackToLocalRepo) {
-                getLog().info("Adding feature repository to local-repo: " + url);
+                getLog().info("Adding feature repository to local-repo: " + uri);
                 if (featuresCfgFile.exists()) {
                     Properties properties = new Properties();
                     InputStream in = new FileInputStream(featuresCfgFile);
@@ -329,7 +348,7 @@ public class InstallKarsMojo extends Moj
                         in.close();
                     }
                     String existingFeatureRepos = properties.containsKey(FEATURES_REPOSITORIES)? properties.get(FEATURES_REPOSITORIES) + ",": "";
-                    existingFeatureRepos = existingFeatureRepos + url.toString();
+                    existingFeatureRepos = existingFeatureRepos + uri.toString();
                     properties.put(FEATURES_REPOSITORIES, existingFeatureRepos);
                     FileOutputStream out = new FileOutputStream(featuresCfgFile);
                     try {
@@ -341,14 +360,14 @@ public class InstallKarsMojo extends Moj
             } else {
                 getLog().info("Installing feature to system and startup.properties");
                 File repoFile;
-                if (url.toString().startsWith("mvn:")) {
+                if (uri.toString().startsWith("mvn:")) {
                     DefaultRepositoryLayout layout = new DefaultRepositoryLayout();
-                    String[] bits = url.toString().split("[:/]");
+                    String[] bits = uri.toString().split("[:/]");
                     Artifact artifact = factory.createArtifactWithClassifier(bits[1], bits[2], bits[3], bits[4], bits[5]);
                     String featuresPath = repoPath + "/" + layout.pathOf(artifact);
                     repoFile = new File(featuresPath);
                 } else {
-                    repoFile = new File(url);
+                    repoFile = new File(uri);
                 }
                 InputStream in = new FileInputStream(repoFile);
                 Features features;