<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--

    DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.

    Copyright (c) 2006-2014 Oracle and/or its affiliates. All rights reserved.

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

  <parent>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>mojo-parent</artifactId>
    <version>50</version>
  </parent>

  <artifactId>jaxws-maven-plugin</artifactId>
  <version>2.6</version>
  <packaging>maven-plugin</packaging>

  <name>JAX-WS Maven Plugin</name>
  <description>Maven plugin for JAX-WS RI</description>
  <url>http://www.mojohaus.org/jaxws-maven-plugin/</url>

  <developers>
    <developer>
      <id>jungicz</id>
      <name>Lukas Jungmann</name>
      <email>lukas.jungmann@oracle.com</email>
      <roles>
        <role>Former lead at jaxws-common</role>
        <role>Former maintainer at jaxws-common</role>
      </roles>
      <organization>Oracle</organization>
      <organizationUrl>http://www.oracle.com</organizationUrl>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>ramapulavarthi</id>
      <name>Rama Pulavarthi</name>
      <email>rama.pulavarthi@sun.com</email>
      <roles>
        <role>Former maintainer at jaxws-common</role>
      </roles>
    </developer>
    <developer>
      <id>kohsuke</id>
      <name>Kohsuke Kawaguchi</name>
      <email>kohsuke.kawaguchi@sun.com</email>
      <roles>
        <role>Former maintainer at jaxws-common</role>
      </roles>
    </developer>
    <developer>
      <id>gnt</id>
      <name>Guillaume Nodet</name>
      <email>gnodet@apache.org</email>
      <organization>LogicBlaze, Inc</organization>
      <organizationUrl>http://www.logicblaze.com</organizationUrl>
      <roles>
        <role>Previous maintainer at Mojo</role>
        <role>Original author</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>dantran</id>
      <name>Dan Tran</name>
      <email>dtran@gmail.com</email>
      <roles>
        <role>Previous maintainer at Mojo</role>
        <role>Original author</role>
      </roles>
    </developer>
  </developers>

  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <prerequisites>
    <maven>${mavenVersion}</maven>
  </prerequisites>

  <scm>
    <connection>scm:git:https://github.com/mojohaus/jaxws-maven-plugin.git</connection>
    <developerConnection>scm:git:ssh://git@github.com/mojohaus/jaxws-maven-plugin.git</developerConnection>
    <url>https://github.com/mojohaus/jaxws-maven-plugin</url>
    <tag>jaxws-maven-plugin-2.6</tag>
  </scm>
  <issueManagement>
    <system>GitHub</system>
    <url>https://github.com/mojohaus/jaxws-maven-plugin/issues</url>
  </issueManagement>
  <ciManagement>
    <system>Travis-CI</system>
    <url>https://travis-ci.org/mojohaus/jaxws-maven-plugin</url>
  </ciManagement>

  <properties>
    <jaxws-tools.version>2.3.2</jaxws-tools.version>
    <netbeans.hint.jdkPlatform>JDK_1.8</netbeans.hint.jdkPlatform>
    <scmpublish.content>${project.build.directory}/staging/jaxws-maven-plugin</scmpublish.content>
    <mavenVersion>3.0</mavenVersion>
    <mojo.java.target>1.8</mojo.java.target>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-tools</artifactId>
        <version>${jaxws-tools.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-utils</artifactId>
        <version>3.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.plugin-tools</groupId>
        <artifactId>maven-plugin-annotations</artifactId>
        <!--must be same version of m-plugin-p -->
        <version>3.6.0</version>
      </dependency>      
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>com.sun.xml.ws</groupId>
      <artifactId>jaxws-tools</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>javax.jws</groupId>
      <artifactId>javax.jws-api</artifactId>
      <version>1.1</version>
    </dependency>

    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-plugin-api</artifactId>
      <version>${mavenVersion}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-core</artifactId>
      <version>${mavenVersion}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-model</artifactId>
      <version>${mavenVersion}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-settings</artifactId>
      <version>${mavenVersion}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-artifact</artifactId>
      <version>${mavenVersion}</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-utils</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.plugin-tools</groupId>
      <artifactId>maven-plugin-annotations</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>6.8.5</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <!-- inherited plugins -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <debug>true</debug>
            <proc>none</proc>
            <compilerArgs>
              <arg>-Xlint:all</arg>
            </compilerArgs>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-invoker-plugin</artifactId>
          <version>3.2.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-plugin-plugin</artifactId>
          <version>3.6.0</version>
          <configuration>
            <extractors>
              <extractor>java-annotations</extractor>
            </extractors>
          </configuration>
          <executions>
            <execution>
              <id>default-descriptor</id>
              <phase>process-classes</phase>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <configuration>
            <forkMode>once</forkMode>
          </configuration>
        </plugin>
        <!-- additional plugins -->
        <plugin>
          <groupId>org.glassfish.copyright</groupId>
          <artifactId>glassfish-copyright-maven-plugin</artifactId>
          <configuration>
            <templateFile>${project.basedir}/copyright.txt</templateFile>
            <excludeFile>${project.basedir}/copyright-exclude</excludeFile>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-plugin-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <configuration>
          <linkJavadoc>false</linkJavadoc>
        </configuration>
        <reportSets>
          <reportSet>
            <id>jxr</id>
            <reports>
              <report>jxr</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>coverage</id>
      <activation>
        <property>
          <name>cvg</name>
          <value>true</value>
        </property>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.sonatype.maven.plugin</groupId>
              <artifactId>emma-maven-plugin</artifactId>
              <version>1.2</version>
            </plugin>
            <plugin>
              <groupId>org.sonatype.maven.plugin</groupId>
              <artifactId>emma4it-maven-plugin</artifactId>
              <version>1.3</version>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.sonatype.maven.plugin</groupId>
            <artifactId>emma-maven-plugin</artifactId>
            <executions>
              <execution>
                <phase>process-classes</phase>
                <goals>
                  <goal>instrument</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <classesDirectory>${project.build.directory}/generated-classes/emma/classes</classesDirectory>
              <forkMode>once</forkMode>
              <systemPropertyVariables>
                <emma.coverage.out.file>${project.build.directory}/coverage.ec</emma.coverage.out.file>
              </systemPropertyVariables>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.sonatype.maven.plugin</groupId>
            <artifactId>emma4it-maven-plugin</artifactId>
            <executions>
              <execution>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>instrument-project-artifact</goal>
                </goals>
                <configuration>
                  <appendEmma>true</appendEmma>
                  <outputDirectory>${project.build.directory}</outputDirectory>
                </configuration>
              </execution>
              <execution>
                <id>merge</id>
                <phase>verify</phase>
                <goals>
                  <goal>merge</goal>
                  <goal>emma4it-report</goal>
                </goals>
                <configuration>
                  <searchPath>${project.basedir}</searchPath>
                  <sourceFolders>
                    <sourceFolder>${project.build.sourceDirectory}</sourceFolder>
                    <sourceFolder>${project.build.directory}/generated-sources/plugin</sourceFolder>
                  </sourceFolders>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>copy-instr</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target>
                    <copy file="${project.build.directory}/${project.build.finalName}.jar" toFile="${project.build.directory}/${project.build.finalName}.jar.bkp" verbose="true" />
                    <copy file="${project.build.directory}/emma/${project.build.finalName}.jar" toDir="${project.build.directory}" overwrite="true" verbose="true" />
                  </target>
                </configuration>
              </execution>
              <execution>
                <id>copy-noninstr</id>
                <phase>verify</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target>
                    <copy file="${project.build.directory}/${project.build.finalName}.jar.bkp" toFile="${project.build.directory}/${project.build.finalName}.jar" overwrite="true" verbose="true" />
                    <delete file="${project.build.directory}/${project.build.finalName}.jar.bkp" verbose="true" />
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>run-its</id>
      <activation>
        <property>
          <name>ittest</name>
          <value>true</value>
        </property>
      </activation>
      <properties>
        <ittest.debug>true</ittest.debug>
      </properties>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.codehaus.gmaven</groupId>
              <artifactId>gmaven-plugin</artifactId>
              <version>1.5</version>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.codehaus.gmaven</groupId>
            <artifactId>gmaven-plugin</artifactId>
            <executions>
              <execution>
                <id>set-proxy</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>execute</goal>
                </goals>
                <configuration>
                  <source>${project.basedir}/src/test/script/setproxy.groovy</source>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-invoker-plugin</artifactId>
            <configuration>
              <debug>${ittest.debug}</debug>
              <showErrors>true</showErrors>
              <suppressSummaries>false</suppressSummaries>
              <localRepositoryPath>${project.build.directory}/it-repo</localRepositoryPath>
              <!-- <streamLogs>true</streamLogs> -->
              <addTestClassPath>true</addTestClassPath>
              <settingsFile>${project.build.directory}/it-settings.xml</settingsFile>
              <mavenOpts>${ittest-proxy}</mavenOpts>
              <postBuildHookScript>verify</postBuildHookScript>
              <setupIncludes>
                <setupInclude>parent/pom.xml</setupInclude>
                <setupInclude>wsdl-lib/pom.xml</setupInclude>
              </setupIncludes>
            </configuration>
            <executions>
              <execution>
                <id>integration-test-installdeps</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>install</goal>
                </goals>
              </execution>
              <execution>
                <id>integration-test</id>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <projectsDirectory>src/test/it</projectsDirectory>
                  <cloneProjectsTo>${project.build.directory}/it tests</cloneProjectsTo>
                </configuration>
              </execution>
              <execution>
                <id>integration-test-samples</id>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <cloneProjectsTo>${project.build.directory}/it-samples</cloneProjectsTo>
                  <pomIncludes>
                    <pomInclude>*/pom.xml</pomInclude>
                    <pomInclude>*/*/pom.xml</pomInclude>
                  </pomIncludes>
                  <pomExcludes>
                    <pomExclude>jaxws-ri-samples/*/pom.xml</pomExclude>
                  </pomExcludes>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <executions>
              <execution>
                <id>integration-test-verify</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>integration-test</goal>
                  <goal>verify</goal>
                </goals>
                <configuration>
                  <systemPropertyVariables>
                    <it.projects.dir>${project.build.directory}/it tests</it.projects.dir>
                    <jaxws-ri.version>${jaxws-tools.version}</jaxws-ri.version>
                  </systemPropertyVariables>
                  <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
