<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.archiva</groupId>
    <artifactId>archiva</artifactId>
    <version>1.2-SNAPSHOT</version>
  </parent>
  <artifactId>archiva-jetty</artifactId>
  <packaging>pom</packaging>
  <!-- This is filtered into the scripts, so should be set to Apache Archiva -->
  <name>Apache Archiva</name>
  <dependencies>
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>start</artifactId>
      <version>${jetty.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>archiva-webapp</artifactId>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>archiva-docs</artifactId>
      <type>zip</type>
      <classifier>docs</classifier>
    </dependency>
    <!-- Runtime dependencies that need to be included in the generated binaries -->
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty-naming</artifactId>
      <version>${jetty.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>servlet-api-2.5</artifactId>
      <version>${jetty.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jsp-api-2.0</artifactId>
      <version>${jetty.version}</version>
      <scope>runtime</scope>
    </dependency>    
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty-plus</artifactId>
      <version>${jetty.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.derby</groupId>
      <artifactId>derby</artifactId>
      <version>10.1.3.1</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.4</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>ant</groupId>
      <artifactId>ant</artifactId>
      <version>1.6.5</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>commons-el</groupId>
      <artifactId>commons-el</artifactId>
      <version>1.0</version>
      <scope>runtime</scope>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>tomcat</groupId>
      <artifactId>jasper-compiler</artifactId>
      <version>5.5.15</version>
      <scope>runtime</scope>
      <exclusions>
        <exclusion>
          <groupId>javax.servlet</groupId>
          <artifactId>jsp-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>    
    <dependency>
      <groupId>tomcat</groupId>
      <artifactId>jasper-runtime</artifactId>
      <version>5.5.15</version>
      <scope>runtime</scope>
      <exclusions>
        <exclusion>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl104-over-slf4j</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>tomcat</groupId>
      <artifactId>jasper-compiler-jdt</artifactId>
      <version>5.5.15</version>
      <scope>runtime</scope>
      <exclusions>
        <exclusion>
          <groupId>org.eclipse.jdt</groupId>
          <artifactId>core</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>1.2.1</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
       <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>appassembler-maven-plugin</artifactId>
        <version>1.0-beta-2</version>
        <configuration>
          <daemons>
            <daemon>
              <id>archiva</id>
              <mainClass>org.mortbay.start.Main</mainClass>
              <commandLineArguments>
                <commandLineArgument>conf/jetty.xml</commandLineArgument>
                <commandLineArgument>conf/jetty-logging.xml</commandLineArgument> 
              </commandLineArguments>
              <platforms>
                <platform>jsw</platform>
              </platforms>              
              <generatorConfigurations>
                <generatorConfiguration>
                  <generator>jsw</generator>
                  <configuration>
                    <property>
                      <name>wrapper.console.loglevel</name>
                      <value>INFO</value>
                    </property>
                    <property>
                      <name>wrapper.java.additional.1.stripquotes</name>
                      <value>TRUE</value>
                    </property>
                    <property>
                      <name>set.default.REPO_DIR</name>
                      <value>lib</value>
                    </property>
                    <property>
                      <name>wrapper.logfile</name>
                      <value>%ARCHIVA_BASE%/logs/wrapper.log</value>
                    </property>
                    <property>
                      <name>wrapper.app.parameter.2</name>
                      <value>%ARCHIVA_BASE%/conf/jetty.xml</value>
                    </property>
                    <property>
                      <name>wrapper.app.parameter.3</name>
                      <value>%ARCHIVA_BASE%/conf/jetty-logging.xml</value>
                    </property>
                    <property>
                      <name>app.base.envvar</name>
                      <value>ARCHIVA_BASE</value>
                    </property>
                    <property>
                      <name>wrapper.on_exit.default</name>
                      <value>RESTART</value>
                    </property>
                    <property>
                      <name>wrapper.on_exit.0</name>
                      <value>SHUTDOWN</value>
                    </property>
                    <property>
                      <name>wrapper.restart.delay</name>
                      <value>30</value>
                    </property>
                  </configuration>
                  <includes>
                    <include>linux-x86-32</include>
                    <include>linux-x86-64</include>
                    <include>macosx-x86-universal-32</include>
                    <include>solaris-x86-32</include>
                    <include>solaris-sparc-32</include>
                    <include>solaris-sparc-64</include>
                    <include>windows-x86-32</include>
                  </includes>
                </generatorConfiguration>
              </generatorConfigurations>
              <jvmSettings>
                <systemProperties>
                  <systemProperty>appserver.home=.</systemProperty>
                  <systemProperty>appserver.base=%ARCHIVA_BASE%</systemProperty>
                  <!-- can't set this at present, it moves the databases if ARCHIVA_BASE is not set
                  <systemProperty>derby.system.home=%ARCHIVA_BASE%/logs</systemProperty>
                  -->
                  <systemProperty>jetty.logs=%ARCHIVA_BASE%/logs</systemProperty>
                </systemProperties>
              </jvmSettings> 
            </daemon>
          </daemons>          
          <repoPath>lib</repoPath>
          <repositoryLayout>flat</repositoryLayout>
          <assembleDirectory>target/generated-resources/appassembler/jsw/archiva</assembleDirectory>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>generate-daemons</goal>
              <goal>create-repository</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.1</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <descriptor>src/main/assembly/bin.xml</descriptor>
          <finalName>apache-archiva-${version}</finalName>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.1</version>
        <executions>
          <execution>
            <id>config</id>
            <phase>process-resources</phase>
            <configuration>
              <tasks>
                <copy todir="target/generated-resources/appassembler/jsw/archiva/conf">
                  <fileset dir="src/main/conf" />                  
                </copy>
                <mkdir dir="target/generated-resources/appassembler/jsw/archiva/logs" />      
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-remote-resources-plugin</artifactId>
        <configuration>
          <supplementalModels>
            <supplementalModel>notice-supplements.xml</supplementalModel>
          </supplementalModels>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
