<?xml version="1.0" encoding="UTF-8"?>
<!--
 * 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.    
-->
<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.tuscany.sca.samples</groupId>
      <artifactId>tuscany-samples</artifactId>
      <version>2.5-SNAPSHOT</version>
      <relativePath />
   </parent>

   <artifactId>helloworld-webapp</artifactId>
   <version>2.5-SNAPSHOT</version>

   <name>Apache Tuscany SCA Samples Helloworld WebApp</name>
   <packaging>war</packaging>

   <properties>
      <tuscany.version>${project.version}</tuscany.version>
   </properties>

   <!-- ASF repositories so sample can be built from SVN without building trunk-->
   <repositories><repository>
       <id>apache.snapshots</id>
       <name>Apache Snapshot Repository</name>
       <url>http://repository.apache.org/snapshots</url>
       <releases><enabled>false</enabled></releases>
   </repository></repositories>
   <pluginRepositories><pluginRepository>
       <id>apache.snapshots</id>
       <name>Apache Snapshot Repository</name>
       <url>http://repository.apache.org/snapshots</url>
       <releases><enabled>false</enabled></releases>
   </pluginRepository></pluginRepositories>

   <dependencies>

      <dependency>
         <groupId>org.apache.tuscany.sca</groupId>
         <artifactId>tuscany-base-runtime</artifactId>
         <version>${tuscany.version}</version>
      </dependency>         

      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.8.1</version>
         <scope>test</scope>
      </dependency>

      <dependency>
         <groupId>net.sourceforge.htmlunit</groupId>
         <artifactId>htmlunit</artifactId>
         <version>2.6</version>
         <scope>test</scope>
         <exclusions>
             <exclusion>
                 <groupId>xalan</groupId>
                 <artifactId>xalan</artifactId>
             </exclusion> 
         </exclusions>        
      </dependency>

      <!-- replace HTMLUnit dependency with verstion that Tuscany is using -->
      <dependency>
          <groupId>xalan</groupId>
          <artifactId>xalan</artifactId>
          <version>2.7.0</version>
          <scope>test</scope>
          <exclusions>
             <exclusion>
                 <groupId>xml-apis</groupId>
                 <artifactId>xml-apis</artifactId>
             </exclusion>                              
          </exclusions>            
      </dependency>  

   </dependencies>

    <build>
       <plugins>

          <!-- this copies the SCA contribution from the helloworld sample into this webapp -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>copy</id>
                <phase>compile</phase>
                <goals>
                  <goal>copy</goal>
                </goals>
                <configuration>
                   <artifactItems>
                     <artifactItem>
                       <groupId>org.apache.tuscany.sca.samples</groupId>
                       <artifactId>helloworld</artifactId>
                       <version>${project.version}</version>
                       <!-- should really go in the target folder but i can't get jetty:run or tomcat:run to work using that -->
                       <outputDirectory>src/main/webapp/WEB-INF/sca-contributions</outputDirectory>
                     </artifactItem>
                   </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <!-- to support running thw webapp with mvn tuscany:run -->
         <plugin>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-maven-plugin</artifactId>
            <version>${tuscany.version}</version>
         </plugin>

          <!-- to support using mvn jetty:run and also to run the webapp for the integration test -->
          <plugin>
             <groupId>org.mortbay.jetty</groupId>
             <artifactId>maven-jetty-plugin</artifactId>
             <version>6.1.26</version>
             <configuration>
                <contextPath>helloworld-webapp</contextPath>
                <stopKey>foo</stopKey>
                <stopPort>9999</stopPort>
             </configuration>
             <executions>
                <execution>
                   <id>start-jetty</id>
                   <phase>process-test-classes</phase>
                   <goals>
                       <goal>run</goal>
                   </goals>
                   <configuration>
                       <scanIntervalSeconds>0</scanIntervalSeconds>
                       <daemon>true</daemon>
                       <connectors>
                          <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                             <port>8085</port>
                          </connector>
                       </connectors>
                   </configuration>
                </execution>
                <execution>
                   <id>stop-jetty</id>
                   <phase>prepare-package</phase>
                   <goals>
                       <goal>stop</goal>
                   </goals>
                </execution>
             </executions>
          </plugin>

          <!-- to support using mvn tomcat:run -->
          <plugin>
             <groupId>org.codehaus.mojo</groupId>
             <artifactId>tomcat-maven-plugin</artifactId>
             <version>1.1</version>
          </plugin>

       </plugins>
    </build>
</project>
