<!--
  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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <artifactId>cloud-awsapi</artifactId>
  <name>Apache CloudStack AWS API Bridge</name>
  <packaging>war</packaging>
  <parent>
    <groupId>org.apache.cloudstack</groupId>
    <artifactId>cloudstack</artifactId>
    <version>4.2.0-SNAPSHOT</version>
  </parent>
  <dependencies>
    <dependency>
      <groupId>org.apache.cloudstack</groupId>
      <artifactId>cloud-utils</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.axis2</groupId>
      <artifactId>axis2</artifactId>
      <version>${cs.axis2.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.axis2</groupId>
      <artifactId>axis2-adb</artifactId>
      <version>${cs.axis2.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.axis2</groupId>
      <artifactId>axis2-webapp</artifactId>
      <type>war</type>
      <version>${cs.axis2.version}</version>
      <exclusions>
        <exclusion>
          <groupId>xerces</groupId>
          <artifactId>xercesImpl</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.ws.commons.axiom</groupId>
      <artifactId>axiom-api</artifactId>
      <version>${cs.axiom.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.ws.commons.axiom</groupId>
      <artifactId>axiom-impl</artifactId>
      <version>${cs.axiom.version}</version>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${cs.log4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.neethi</groupId>
      <artifactId>neethi</artifactId>
      <version>${cs.neethi.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.apache.ws.commons.axiom</groupId>
          <artifactId>axiom-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.ws.commons.axiom</groupId>
          <artifactId>axiom-impl</artifactId>
        </exclusion>
      </exclusions>      
    </dependency>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>${cs.gson.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>${cs.codec.version}</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>${cs.servlet.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
      <version>1.1</version>
    </dependency>
    <dependency>
      <groupId>org.jasypt</groupId>
      <artifactId>jasypt</artifactId>
      <version>${cs.jasypt.version}</version>
    </dependency>
    <dependency>
      <groupId>com.caringo.client</groupId>
      <artifactId>CAStorSDK</artifactId>
      <version>1.3.1-CS40</version>
    </dependency>
    <dependency>
      <groupId>org.apache.rampart</groupId>
      <artifactId>rahas</artifactId>
      <version>${cs.rampart.version}</version>
      <type>mar</type>
      <exclusions>
        <exclusion>
           <groupId>bouncycastle</groupId>
           <artifactId>bcprov-jdk14</artifactId>
        </exclusion>
        <exclusion>
           <groupId>org.apache.xalan</groupId>
           <artifactId>xalan</artifactId>
        </exclusion>
        <exclusion>
           <groupId>org.opensaml</groupId>
          <artifactId>opensaml</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.rampart</groupId>
      <artifactId>rampart</artifactId>
      <version>${cs.rampart.version}</version>
      <type>mar</type>
      <exclusions>
        <exclusion>
           <groupId>bouncycastle</groupId>
           <artifactId>bcprov-jdk14</artifactId>
        </exclusion>
        <exclusion>
           <groupId>org.apache.xalan</groupId>
           <artifactId>xalan</artifactId>
        </exclusion>
        <exclusion>
           <groupId>org.opensaml</groupId>
          <artifactId>opensaml</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.rampart</groupId>
        <artifactId>rampart-core</artifactId>
        <version>${cs.rampart.version}</version>
        <scope>runtime</scope>
      <exclusions>
        <exclusion>
           <groupId>org.apache.xalan</groupId>
           <artifactId>xalan</artifactId>
        </exclusion>
        <exclusion>
           <groupId>org.opensaml</groupId>
          <artifactId>opensaml</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.rampart</groupId>
        <artifactId>rampart-policy</artifactId>
        <version>${cs.rampart.version}</version>
        <scope>runtime</scope>
      <exclusions>
        <exclusion>
           <groupId>org.apache.xalan</groupId>
           <artifactId>xalan</artifactId>
        </exclusion>
        <exclusion>
           <groupId>org.opensaml</groupId>
          <artifactId>opensaml</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.rampart</groupId>
        <artifactId>rampart-trust</artifactId>
        <version>${cs.rampart.version}</version>
        <scope>runtime</scope>
      <exclusions>
        <exclusion>
           <groupId>org.apache.xalan</groupId>
           <artifactId>xalan</artifactId>
        </exclusion>
        <exclusion>
           <groupId>org.opensaml</groupId>
          <artifactId>opensaml</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</artifactId>
        <version>1.6.1</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.6.1</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.ws.security</groupId>
        <artifactId>wss4j</artifactId>
        <version>1.6.1</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>1.5.2</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.opensaml</groupId>
        <artifactId>xmltooling</artifactId>
        <version>1.3.1</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.opensaml</groupId>
        <artifactId>openws</artifactId>
        <version>1.4.1</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>1.5</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.opensaml</groupId>
        <artifactId>opensaml</artifactId>
        <version>2.5.1-1</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.santuario</groupId>
        <artifactId>xmlsec</artifactId>
        <version>1.4.2</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk16</artifactId>
        <version>1.45</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${cs.mysql.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.antlr</groupId>
      <artifactId>antlr-runtime</artifactId>
      <version>3.4</version>
    </dependency>
    <dependency>
      <groupId>dom4j</groupId>
      <artifactId>dom4j</artifactId>
      <version>1.6.1</version>
    </dependency>
    <dependency>
      <groupId>javassist</groupId>
      <artifactId>javassist</artifactId>
      <version>3.9.0.GA</version>
    </dependency>
  </dependencies>
  <build>
    <resources>
      <resource>
        <directory>src</directory>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
      <resource>
          <directory>../utils/conf/</directory>
      </resource>
      <resource>
        <directory>${basedir}/resource/AmazonEC2</directory>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>com/cloud/gate/util/UtilTestCase.java</exclude>
            <exclude>com/cloud/gate/service/ServiceTestCase.java</exclude>
            <exclude>com/cloud/gate/util/CloudStackClientTestCase.java</exclude>
          </excludes>
        </configuration>
      </plugin>
	  <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.3</version>
        <configuration>
          <webXml>./web/web.xml</webXml>
          <warSourceDirectory>./target/generated-webapp</warSourceDirectory>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>maven-jetty-plugin</artifactId>
        <version>6.1.26</version>
        <configuration>
          <connectors>
            <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
              <port>7080</port>
              <maxIdleTime>60000</maxIdleTime>
            </connector>
          </connectors>
          <contextPath>/awsapi</contextPath>
          <webXml>${basedir}/web/web.xml</webXml>
          <webAppSourceDirectory>${basedir}/target/generated-webapp</webAppSourceDirectory>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.7</version>
        <executions>
          <execution>
            <id>generate-resource</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <copy
                  todir="${basedir}/target/generated-webapp/WEB-INF/classes">
                  <fileset dir="${basedir}/conf">
                    <include name="*.*" />
                  </fileset>
				  <globmapper from="*.in" to="*" />
                  <filterchain>
                    <filterreader
                      classname="org.apache.tools.ant.filters.ReplaceTokens">
                      <param type="propertiesfile"
                        value="${cs.replace.properties}" />
                    </filterreader>
                  </filterchain>
                </copy>
              </target>
            </configuration>
          </execution>
		</executions>
	  </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>
                      org.apache.maven.plugins
                    </groupId>
                    <artifactId>
                      maven-antrun-plugin
                    </artifactId>
                    <versionRange>[1.7,)</versionRange>
                    <goals>
                      <goal>run</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <versionRange>[2.0,)</versionRange>
                    <goals>
                      <goal>copy-dependencies</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  <profiles>
    <profile>
      <id>downloadec2wsdl</id>
      <activation>
        <property>
          <name>downloadec2wsdl</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.7</version>
            <executions>
              <execution>
                <phase>generate-resources</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target name="download-2012-08-15.ec2-wsdl">
                    <!-- Create the WSDL directory structure used by codegen -->
                    <mkdir dir="wsdl" />
                    <echo message="Downloading 2012-08-15.ec2-wsdl..." />
                     <get
                       src="http://s3.amazonaws.com/ec2-downloads/2012-08-15.ec2.wsdl"
                       dest="${basedir}/wsdl/"
                       verbose="true"
                       usetimestamp="true"
                     />
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>gencodefromwsdl</id>
      <activation>
        <property>
          <name>gencodefromwsdl</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
            <version>1.5.6</version>
            <executions>
              <execution>
                <phase>generate-sources</phase>
                <goals>
                  <goal>wsdl2code</goal>
                </goals>
                <configuration>
                  <wsdlFile>${basedir}/wsdl/2012-08-15.ec2.wsdl</wsdlFile>
                  <packageName>com.amazon.ec2</packageName>
                  <generateServerSide>true</generateServerSide>
                  <generateServicesXml>true</generateServicesXml>
                  <generateServerSideInterface>true</generateServerSideInterface>
                  <namespaceToPackages>http://ec2.amazonaws.com/doc/2012-08-15/=com.amazon.ec2</namespaceToPackages>
                  <outputDirectory>${basedir}</outputDirectory>
                </configuration>
              </execution>
              <execution>
                <id>generate-aws-ec2-source-client</id>
                <phase>generate-sources</phase>
                <goals>
                  <goal>wsdl2code</goal>
                </goals>
                <configuration>
                  <wsdlFile>${basedir}/wsdl/2012-08-15.ec2.wsdl</wsdlFile>
                  <packageName>com.amazon.ec2.client</packageName>
                  <namespaceToPackages>http://ec2.amazonaws.com/doc/2012-08-15/=com.amazon.ec2.client</namespaceToPackages>
                  <outputDirectory>${basedir}</outputDirectory>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>removewsdl</id>
      <activation>
        <property>
          <name>removewsdl</name>
        </property>
      </activation>
      <build>
        <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>1.2.1</version>
          <executions>
            <execution>
              <phase>clean</phase>
              <goals>
                <goal>exec</goal>
              </goals>
              <configuration>
                <executable>rm</executable>
                <arguments>
                  <argument>-rf</argument>
                  <argument>${basedir}/wsdl/</argument>
                  <argument>${basedir}/resources/AmazonEC2.wsdl</argument>
                </arguments>
              </configuration>
            </execution>
          </executions>
        </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
