<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>
  
  <name>JBoss Web Services - Stack CXF Runtime Client</name>
  <artifactId>jbossws-cxf-client</artifactId>
  <packaging>jar</packaging>
  
  <parent>
    <groupId>org.jboss.ws.cxf</groupId>
    <artifactId>jbossws-cxf</artifactId>
    <version>3.4.0.GA</version>
    <relativePath>../../pom.xml</relativePath>
  </parent>
  
  <!-- Dependencies -->
  <dependencies>
    
    <!-- jbossws dependencies -->
    <dependency>
      <groupId>org.jboss.ws</groupId>
      <artifactId>jbossws-common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.jboss.ws</groupId>
      <artifactId>jbossws-spi</artifactId>
    </dependency>
    <dependency>
      <groupId>org.jboss.ws.cxf</groupId>
      <artifactId>jbossws-cxf-factories</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.ws.cxf</groupId>
      <artifactId>jbossws-cxf-transports-httpserver</artifactId>
      <version>${project.version}</version>
    </dependency>
    
    <!-- CXF dependencies -->
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-bindings-soap</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-bindings-http</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-bindings-object</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-bindings-coloc</artifactId>
    </dependency>
    
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-frontend-jaxws</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-transports-http</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-transports-jms</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-transports-local</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-ws-rm</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-ws-policy</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-ws-security</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-tools-java2ws</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-tools-wsdlto-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-tools-wsdlto-databinding-jaxb</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-tools-wsdlto-frontend-jaxws</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf.xjcplugins</groupId>
      <artifactId>cxf-xjc-boolean</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf.xjcplugins</groupId>
      <artifactId>cxf-xjc-bug671</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf.xjcplugins</groupId>
      <artifactId>cxf-xjc-dv</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf.xjcplugins</groupId>
      <artifactId>cxf-xjc-ts</artifactId>
    </dependency>
    <dependency>
      <groupId>apache-velocity</groupId>
      <artifactId>velocity</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
    </dependency>
    <dependency>
      <groupId>stax</groupId>
      <artifactId>stax-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.santuario</groupId>
      <artifactId>xmlsec</artifactId>
    </dependency>
    <dependency>
      <groupId>org.codehaus.woodstox</groupId>
      <artifactId>wstx-lgpl</artifactId>
    </dependency>
    <dependency>
      <groupId>com.sun.xml.fastinfoset</groupId>
      <artifactId>FastInfoset</artifactId>
    </dependency>
    <dependency>
      <groupId>asm</groupId>
      <artifactId>asm</artifactId>
    </dependency>
    
    <!-- Spring -->
    <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-aop</artifactId>
    </dependency> 
    <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-asm</artifactId>
    </dependency> 
    <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-beans</artifactId>
    </dependency> 
    <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-context</artifactId>
    </dependency> 
    <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-core</artifactId>
    </dependency> 
    <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-expression</artifactId>
    </dependency> 
    <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-jms</artifactId>
    </dependency> 
    <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-tx</artifactId>
    </dependency> 
    
    <!--
    useStrictFiltering requires dependency in all included modules
    http://jira.codehaus.org/browse/MASSEMBLY-317
    -->
    <dependency>
      <groupId>org.jboss.spec.javax.xml.rpc</groupId>
      <artifactId>jboss-jaxrpc-api_1.1_spec</artifactId>
    </dependency>
    
    <dependency>
      <groupId>javax.jws</groupId>
      <artifactId>jsr181-api</artifactId>
    </dependency>

    <dependency>
      <groupId>org.jboss.spec.javax.xml.bind</groupId>
      <artifactId>jboss-jaxb-api_2.2_spec</artifactId>
    </dependency>

    <dependency>
       <groupId>org.jboss.spec.javax.xml.ws</groupId>
       <artifactId>jboss-jaxws-api_2.2_spec</artifactId>
    </dependency> 
    
    <dependency>
      <groupId>org.jboss.spec.javax.xml.soap</groupId>
      <artifactId>jboss-saaj-api_1.3_spec</artifactId>
    </dependency>

    <!-- jboss provided -->
    <dependency>
      <groupId>org.jboss</groupId>
      <artifactId>jboss-common-core</artifactId>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
    </dependency>
    <dependency>
      <groupId>org.jboss.logging</groupId>
      <artifactId>jboss-logging-log4j</artifactId>
    </dependency>
    <dependency>
      <groupId>org.jboss.logging</groupId>
      <artifactId>jboss-logging-spi</artifactId>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <showDeprecation>false</showDeprecation>
          <compilerArguments>
            <endorseddirs>${project.build.directory}/endorsed</endorseddirs>
          </compilerArguments>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>org.jboss.spec.javax.xml.ws</groupId>
                  <artifactId>jboss-jaxws-api_2.2_spec</artifactId>
                  <type>jar</type>
                  <overWrite>true</overWrite>
                  <outputDirectory>${project.build.directory}/endorsed</outputDirectory>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <dependencies>
           <dependency>
             <artifactId>maven-archiver</artifactId>
             <groupId>org.apache.maven</groupId>
             <version>2.4</version>
           </dependency>
         </dependencies> 
        <configuration>
          <archive>
            <manifest>
               <addClasspath>true</addClasspath>
               <classpathLayoutType>custom</classpathLayoutType> 
               <!--a bug in http://jira.codehaus.org/browse/MJAR-118, this needs to be reviewed(remove one $) when maven jar plugin is updated-->
               <customClasspathLayout>$${artifact.artifactId}.$${artifact.extension}</customClasspathLayout>
	    </manifest>         
            <manifestEntries>
              <Class-Path>jbossws-framework.jar jaxws-api.jar jboss-logging.jar jboss-logging-spi.jar jboss-logging-log4j.jar jcl-over-slf4j.jar slf4j-api.jar slf4j-jboss-logging.jar stax-api.jar wstx.jar wstx-lgpl.jar</Class-Path>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <!--
    Name:  enforce
    Descr: Enforce artifact dependencies
    -->
    <profile>
      <id>enforce</id>
      <activation>
        <property>
          <name>!skip-enforce</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-enforcer-plugin</artifactId>
            <executions>
              <execution>
                <id>ban-bad-dependencies</id>
                <goals>
                  <goal>enforce</goal>
                </goals>
                <configuration>
                  <rules>
                    <bannedDependencies>
                      <searchTransitive>true</searchTransitive>
                      <excludes>
                        <exclude>org.apache.cxf:cxf-rt-bindings-corba</exclude>
                        <exclude>org.apache.cxf:cxf-rt-javascript</exclude>
                        <exclude>org.apache.geronimo.specs</exclude>
                        <exclude>org.codehaus.jra:jra</exclude>
                        <exclude>org.slf4j:slf4j-jdk14</exclude>
                      </excludes>
                    </bannedDependencies>
                  </rules>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  
</project>
