<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>org.eclipse.jetty.tests</groupId>
  <artifactId>dummy-scm-webapp</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Jetty :: Webapp Verifier :: Dummy SCM Webapp</name>
  <dependencies>
    <dependency>
      <groupId>org.eclipse.jetty.tests</groupId>
      <artifactId>dummy-scm-lib</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>
  <properties>
    <war_work_dir>${project.build.directory}/generated-webapp</war_work_dir>
  </properties>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>create-scm-files</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <tasks>
                <mkdir dir="${war_work_dir}/CVS" />
                <touch file="${war_work_dir}/.cvsignore" />
                <mkdir dir="${war_work_dir}/.svn" />
                <mkdir dir="${war_work_dir}/_svn" />
                <mkdir dir="${war_work_dir}/.git" />
                <touch file="${war_work_dir}/.gitignore" />
                <mkdir dir="${war_work_dir}/RCS" />
                <mkdir dir="${war_work_dir}/SCCS" />
                <touch file="${war_work_dir}/vssver.scc" />
                <mkdir dir="${war_work_dir}/.arch-ids" />
                <mkdir dir="${war_work_dir}/.bzr" />
                <touch file="${war_work_dir}/.MySCMServerInfo" />
                <mkdir dir="${war_work_dir}/.hg" />
                <mkdir dir="${war_work_dir}/BitKeeper" />
                <mkdir dir="${war_work_dir}/ChangeSet" />
                <mkdir dir="${war_work_dir}/_darcs" />
                <mkdir dir="${war_work_dir}/.darcs" />
                <mkdir dir="${war_work_dir}/.darcsrepo" />
                <touch file="${war_work_dir}/.darcs-temp-mail" />
                <copy todir="${war_work_dir}">
                  <fileset dir="${basedir}/src/main/webapp" />
                </copy>
                <mkdir dir="${war_work_dir}/WEB-INF/lib" />
              </tasks>
            </configuration>
          </execution>
          <execution>
            <id>create-war</id>
            <phase>package</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <tasks>
                <jar destfile="${project.build.directory}/${project.artifactId}-${project.version}.war"
                     basedir="${war_work_dir}"
                     includes="**/*"
                     defaultexcludes="false"
                />
              </tasks>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-deps</id>
            <phase>process-resources</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${war_work_dir}/WEB-INF/lib</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-scm-lib</id>
            <phase>process-resources</phase>
            <goals>
              <goal>attach-artifact</goal>
            </goals>
            <configuration>
              <artifacts>
                <artifact>
                  <file>${project.build.directory}/${project.artifactId}-${project.version}.war</file>
                  <type>war</type>
                </artifact>
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
