You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2010/10/05 08:25:21 UTC

svn commit: r1004532 - in /karaf/trunk/archetypes: command/src/main/resources/archetype-resources/pom.xml itests/pom.xml itests/src/test/java/org/apache/karaf/archetypes/AbstractArchetypeTest.java

Author: gnodet
Date: Tue Oct  5 06:25:21 2010
New Revision: 1004532

URL: http://svn.apache.org/viewvc?rev=1004532&view=rev
Log:
Try to fix some integration tests problems with archetypes

Modified:
    karaf/trunk/archetypes/command/src/main/resources/archetype-resources/pom.xml
    karaf/trunk/archetypes/itests/pom.xml
    karaf/trunk/archetypes/itests/src/test/java/org/apache/karaf/archetypes/AbstractArchetypeTest.java

Modified: karaf/trunk/archetypes/command/src/main/resources/archetype-resources/pom.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/archetypes/command/src/main/resources/archetype-resources/pom.xml?rev=1004532&r1=1004531&r2=1004532&view=diff
==============================================================================
--- karaf/trunk/archetypes/command/src/main/resources/archetype-resources/pom.xml (original)
+++ karaf/trunk/archetypes/command/src/main/resources/archetype-resources/pom.xml Tue Oct  5 06:25:21 2010
@@ -1,92 +1,93 @@
-##---------------------------------------------------------------------------
-##  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.
-##---------------------------------------------------------------------------
-<?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/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>${groupId}</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <packaging>bundle</packaging>
-    <version>${version}</version>
-    <name>Apache Karaf :: Shell ${scope} Commands</name>
-
-    <description>Provides the OSGi ${scope} commands</description>
-
-    <properties>
-        <junit.version>4.7_1</junit.version>
-        <felix.osgi.version>1.4.0</felix.osgi.version>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.karaf.shell</groupId>
-            <artifactId>org.apache.karaf.shell.console</artifactId>
-            <version>2.1.99-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <version>${felix.osgi.version}</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.osgi.compendium</artifactId>
-            <version>${felix.osgi.version}</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.servicemix.bundles</groupId>
-            <artifactId>org.apache.servicemix.bundles.junit</artifactId>
-            <version>${junit.version}</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <inherited>true</inherited>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-                        <Export-Package>${package}*;version=${project.version}</Export-Package>
-                        <Import-Package>!${project.artifactId}*,
-                            org.apache.felix.service.command,
-                            org.apache.felix.gogo.commands,
-                            org.apache.karaf.shell.console,
-                            *
-                        </Import-Package>
-                        <Private-Package>!*</Private-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
+##---------------------------------------------------------------------------
+##  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.
+##---------------------------------------------------------------------------
+<?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/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>${groupId}</groupId>
+    <artifactId>${artifactId}</artifactId>
+    <packaging>bundle</packaging>
+    <version>${version}</version>
+    <name>Apache Karaf :: Shell ${scope} Commands</name>
+
+    <description>Provides the OSGi ${scope} commands</description>
+
+    <properties>
+        <junit.version>4.7_1</junit.version>
+        <felix.osgi.version>1.4.0</felix.osgi.version>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.karaf.shell</groupId>
+            <artifactId>org.apache.karaf.shell.console</artifactId>
+            <version>2.1.99-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.osgi.core</artifactId>
+            <version>${felix.osgi.version}</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
+            <version>${felix.osgi.version}</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.servicemix.bundles</groupId>
+            <artifactId>org.apache.servicemix.bundles.junit</artifactId>
+            <version>${junit.version}</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <inherited>true</inherited>
+                <configuration>
+                    <source>1.5</source>
+                    <target>1.5</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <version>2.1.0</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+                        <Export-Package>${package}*;version=${project.version}</Export-Package>
+                        <Import-Package>!${project.artifactId}*,
+                            org.apache.felix.service.command,
+                            org.apache.felix.gogo.commands,
+                            org.apache.karaf.shell.console,
+                            *
+                        </Import-Package>
+                        <Private-Package>!*</Private-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>

Modified: karaf/trunk/archetypes/itests/pom.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/archetypes/itests/pom.xml?rev=1004532&r1=1004531&r2=1004532&view=diff
==============================================================================
--- karaf/trunk/archetypes/itests/pom.xml (original)
+++ karaf/trunk/archetypes/itests/pom.xml Tue Oct  5 06:25:21 2010
@@ -60,14 +60,29 @@
             <artifactId>maven-core</artifactId>
             <version>2.0.9</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-archetype-plugin</artifactId>
+            <version>2.0-alpha-5</version>
+        </dependency>
     </dependencies>
 
     <build>
         <plugins>
+            <!-- generate dependencies versions -->
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-archetype-plugin</artifactId>
-                <version>2.0-alpha-5</version>
+                <groupId>org.apache.servicemix.tooling</groupId>
+                <artifactId>depends-maven-plugin</artifactId>
+                <version>1.1</version>
+                <executions>
+                    <execution>
+                        <id>generate-depends-file</id>
+                        <goals>
+                            <goal>generate-depends-file</goal>
+                        </goals>
+                    </execution>
+                </executions>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>

Modified: karaf/trunk/archetypes/itests/src/test/java/org/apache/karaf/archetypes/AbstractArchetypeTest.java
URL: http://svn.apache.org/viewvc/karaf/trunk/archetypes/itests/src/test/java/org/apache/karaf/archetypes/AbstractArchetypeTest.java?rev=1004532&r1=1004531&r2=1004532&view=diff
==============================================================================
--- karaf/trunk/archetypes/itests/src/test/java/org/apache/karaf/archetypes/AbstractArchetypeTest.java (original)
+++ karaf/trunk/archetypes/itests/src/test/java/org/apache/karaf/archetypes/AbstractArchetypeTest.java Tue Oct  5 06:25:21 2010
@@ -17,7 +17,9 @@
 package org.apache.karaf.archetypes;
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.lang.reflect.Field;
 import java.net.URL;
 import java.util.Collections;
@@ -114,7 +116,7 @@ public abstract class AbstractArchetypeT
         System.setProperties((Properties) sysProps.clone());
 
         maven.execute(parent,
-                Collections.singletonList("archetype:generate"),
+                Collections.singletonList(getArchetypeGenerateGoal()),
                 eventMonitor,
                 new ConsoleDownloadMonitor(),
                 props,
@@ -133,6 +135,34 @@ public abstract class AbstractArchetypeT
                 targetDir);
     }
 
+    private String getArchetypeGenerateGoal() {
+        String groupId = "org.apache.maven.plugins";
+        String artifactId = "maven-archetype-plugin";
+        String version = getVersion(groupId, artifactId);
+        return groupId + ":" + artifactId + (version != null ? ":" + version : "") + ":generate";
+    }
+
+    private String getVersion(String groupId, String artifactId) {
+        try {
+            File file = new File("META-INF/maven/dependencies.properties");
+            if (!file.exists()) {
+                file = new File("target/classes/META-INF/maven/dependencies.properties");
+            }
+            if (file.exists()) {
+                Properties dependencies = new Properties();
+                InputStream is = new FileInputStream(file);
+                try {
+                    dependencies.load(is);
+                } finally {
+                    is.close();
+                }
+                return dependencies.getProperty( groupId + "/" + artifactId + "/version" );
+            }
+        } catch (Throwable t2) {
+        }
+        return null;
+    }
+
     private File getDefaultArchetypePom(File pomFile) throws IOException {
         URL archetypePom = getClass().getClassLoader().getResource("archetype-pom.xml");
         FileUtils.copyURLToFile(archetypePom, pomFile);