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

  <parent>
    <groupId>org.apache.maven.archetype</groupId>
    <artifactId>maven-archetype</artifactId>
    <version>2.0-alpha-1</version>
  </parent>
  <artifactId>archetype-common</artifactId>
  <name>Maven Archetype Common</name>
  <packaging>jar</packaging>
  <dependencies>    
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-core</artifactId>
    </dependency>
    <dependency>
      <groupId>net.sourceforge.jchardet</groupId>
      <artifactId>jchardet</artifactId>
    </dependency>
    <dependency>
      <groupId>dom4j</groupId>
      <artifactId>dom4j</artifactId>
    </dependency>
    <dependency>
      <groupId>jdom</groupId>
      <artifactId>jdom</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-model</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-project</artifactId>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-container-default</artifactId>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-utils</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.shared</groupId>
      <artifactId>maven-plugin-testing-harness</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-velocity</artifactId>
    </dependency>
    <dependency>
      <groupId>velocity</groupId>
      <artifactId>velocity</artifactId>
    </dependency>
    <dependency>
      <groupId>dom4j</groupId>
      <artifactId>dom4j</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>
    <dependency>
      <groupId>org.codehaus.cargo</groupId>
      <artifactId>cargo-core-api-container</artifactId>
      <version>0.9</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.cargo</groupId>
      <artifactId>cargo-core-api-util</artifactId>
      <version>0.9</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.cargo</groupId>
      <artifactId>cargo-core-api-generic</artifactId>
      <version>0.9</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.cargo</groupId>
      <artifactId>cargo-core-api-module</artifactId>
      <version>0.9</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.cargo</groupId>
      <artifactId>cargo-core-container-jetty</artifactId>
      <version>0.9</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty</artifactId>
      <version>6.1.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-file</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-http</artifactId>
      <version>1.0-beta-2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>archetype-repository</artifactId>
      <version>${project.version}</version>
      <type>war</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>archetype-proxy</artifactId>
      <version>${project.version}</version>
      <type>war</type>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
        <filtering>true</filtering>
      </testResource>
    </testResources>
    <plugins>
      <plugin>
        <groupId>org.codehaus.modello</groupId>
        <artifactId>modello-maven-plugin</artifactId>
        <version>1.0-alpha-14</version>
        <executions>
          <execution>
            <id>archetype-common</id>
            <goals>
              <goal>java</goal>
              <goal>xsd</goal>
              <goal>xpp3-reader</goal>
              <goal>xpp3-writer</goal>
            </goals>
            <configuration>
              <version>1.0.0</version>
              <model>src/main/mdo/archetype-common.mdo</model>
            </configuration>
          </execution>
          <execution>
            <id>archetype-registry</id>
            <goals>
              <goal>java</goal>
              <goal>xsd</goal>
              <goal>xpp3-reader</goal>
              <goal>xpp3-writer</goal>
            </goals>
            <configuration>
              <version>1.0.0</version>
              <model>src/main/mdo/archetype-registry.mdo</model>
            </configuration>
          </execution>
          <execution>
            <id>archetype-descriptor</id>
            <goals>
              <goal>java</goal>
              <goal>xsd</goal>
              <goal>xpp3-reader</goal>
              <goal>xpp3-writer</goal>
            </goals>
            <configuration>
              <version>1.0.0</version>
              <model>src/main/mdo/archetype-descriptor.mdo</model>
            </configuration>
          </execution>
          <execution>
            <id>archetype-catalog</id>
            <goals>
              <goal>java</goal>
              <goal>xsd</goal>
              <goal>xpp3-reader</goal>
              <goal>xpp3-writer</goal>
            </goals>
            <configuration>
              <version>1.0.0</version>
              <model>src/main/mdo/archetype-catalog.mdo</model>
            </configuration>
          </execution>
          <execution>
            <id>archetype-old</id>
            <goals>
              <goal>java</goal>
              <goal>xsd</goal>
              <goal>xpp3-reader</goal>
              <goal>xpp3-writer</goal>
            </goals>
            <configuration>
              <version>1.0.0</version>
              <model>src/main/mdo/archetype.mdo</model>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>copy</id>
            <phase>process-test-resources</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/wars</outputDirectory>
              <overWriteReleases>true</overWriteReleases>
              <overWriteSnapshots>true</overWriteSnapshots>
              <includeTypes>war</includeTypes>
              <stripVersion>true</stripVersion>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <dependencies>
          <dependency>
            <groupId>ant</groupId>
            <artifactId>ant-antlr</artifactId>
            <version>1.6.5</version>
          </dependency>
        </dependencies>

        <executions>
          <execution>
            <id>archetype-test</id>
            <phase>process-test-resources</phase>
            <configuration>
              <tasks>
                <property name="test.projects.name" value="basic" />
                <property name="test.projects.version" value="1.0" />
                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
                <property name="test.projects.repository" value="repositories/central" />

                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />

                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>

          <execution>
            <id>archetype-test-partial</id>
            <phase>process-test-resources</phase>
            <configuration>
              <tasks>
                <property name="test.projects.name" value="partial" />
                <property name="test.projects.version" value="1.0" />
                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
                <property name="test.projects.repository" value="repositories/central" />
                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />

                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>

          <execution>
            <id>archetype-test-site</id>
            <phase>process-test-resources</phase>
            <configuration>
              <tasks>
                <property name="test.projects.name" value="site" />
                <property name="test.projects.version" value="1.0" />
                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
                <property name="test.projects.repository" value="repositories/central" />

                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />

                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>

          <execution>
            <id>archetype-test-old</id>
            <phase>process-test-resources</phase>
            <configuration>
              <tasks>
                <property name="test.projects.name" value="old" />
                <property name="test.projects.version" value="1.0" />
                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
                <property name="test.projects.repository" value="repositories/central" />

                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />

                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>

          <execution>
            <id>archetype-test-fileset</id>
            <phase>process-test-resources</phase>
            <configuration>
              <tasks>
                <property name="test.projects.name" value="fileset" />
                <property name="test.projects.version" value="1.0" />
                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
                <property name="test.projects.repository" value="repositories/central" />

                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />

                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>

          <execution>
            <id>repository-metadata</id>
            <phase>process-test-resources</phase>
            <configuration>
              <tasks>
                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
                <property name="test.projects.target.directory" value="archetypes" />
                <property name="test.projects.repository" value="repositories/central" />

                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}" />
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <configuration>
              <excludes>
                  <exclude>**/ArchetyperRoundtripTest.java</exclude>
                  <exclude>**/ArchetyperRoundtripWithProxyTest.java</exclude>
                  <exclude>**/DefaultRepositoryCrawlerTest.java</exclude>
              </excludes>
          </configuration>
      </plugin>
    </plugins>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.2</version>
      </plugin>
    </plugins>
  </reporting>
  
  <profiles>
      <profile>
          <id>internal-catalog</id>
          <build>
              <plugins>
                  <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-surefire-plugin</artifactId>
                      <configuration>
                          <includes>
                              <include>**/*Verification.java</include>
                          </includes>
                      </configuration>
                  </plugin>
              </plugins>
          </build>          
      </profile>
  </profiles>
</project>