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);