<?xml version="1.0"?>
<!--
  JBoss, Home of Professional Open Source
  Copyright [2010], Red Hat, Inc., and individual contributors
  by the @authors tag. See the copyright.txt in the distribution for a
  full listing of individual contributors.

  Licensed 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.jboss.seam.catch</groupId>
      <artifactId>seam-catch-parent</artifactId>
      <version>3.0.0.Alpha2</version>
      <relativePath>../../pom.xml</relativePath>
   </parent>

   <groupId>org.jboss.seam.catch</groupId>
   <artifactId>seam-catch-example-jaxrs</artifactId>
   <packaging>war</packaging>
   <version>3.0.0.Alpha2</version>
   <name>Seam Catch JAX-RS example</name>

   <properties>
      <jboss.home>${env.JBOSS_HOME}</jboss.home>
      <jboss.domain>default</jboss.domain>
      <resteasy.version>2.0.1.GA</resteasy.version>
      <seam.rest.version>3.0.0.Alpha1</seam.rest.version>
      <seam.persistence.version>3.0.0.Alpha1</seam.persistence.version>
      <seam.xml.version>3.0.0.Alpha3</seam.xml.version>
      <javax.ejb.version>1.0.0.Beta2</javax.ejb.version>
      <javax.ws.rs.version>1.1.1</javax.ws.rs.version>
      <javax.persistence.version>1.0.0.Final</javax.persistence.version>
      <javax.servlet.version>1.0.0.Final</javax.servlet.version>
      <jboss.logging.version>3.0.0.Beta4</jboss.logging.version>
   </properties>

   <dependencyManagement>
      <dependencies>
         <dependency>
            <groupId>org.jboss.seam.xml</groupId>
            <artifactId>seam-xml-config</artifactId>
            <version>${seam.xml.version}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging</artifactId>
            <version>${jboss.logging.version}</version>
         </dependency>
         <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>jsr311-api</artifactId>
            <version>${javax.ws.rs.version}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.seam.rest</groupId>
            <artifactId>seam-rest-api</artifactId>
            <version>${seam.rest.version}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.seam.rest</groupId>
            <artifactId>seam-rest</artifactId>
            <version>${seam.rest.version}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jaxrs</artifactId>
            <version>${resteasy.version}</version>
            <exclusions>
               <exclusion>
                  <groupId>javax.activation</groupId>
                  <artifactId>activation</artifactId>
               </exclusion>
               <exclusion>
                  <groupId>commons-httpclient</groupId>
                  <artifactId>commons-httpclient</artifactId>
               </exclusion>
               <exclusion>
                  <groupId>org.apache.httpcomponents</groupId>
                  <artifactId>httpclient</artifactId>
               </exclusion>
               <exclusion>
                  <groupId>commons-codec</groupId>
                  <artifactId>commons-codec</artifactId>
               </exclusion>
            </exclusions>
         </dependency>
         <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-cdi</artifactId>
            <version>${resteasy.version}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.seam.catch</groupId>
            <artifactId>seam-catch-api</artifactId>
            <version>${project.parent.version}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.seam.catch</groupId>
            <artifactId>seam-catch-impl</artifactId>
            <version>${project.parent.version}</version>
         </dependency>
         <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.0-api</artifactId>
            <version>${javax.persistence.version}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.spec.javax.ejb</groupId>
            <artifactId>jboss-ejb-api_3.1_spec</artifactId>
            <version>${javax.ejb.version}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.spec.javax.servlet</groupId>
            <artifactId>jboss-servlet-api_3.0_spec</artifactId>
            <version>${javax.servlet.version}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.seam.persistence</groupId>
            <artifactId>seam-persistence-api</artifactId>
            <version>${seam.persistence.version}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.seam.persistence</groupId>
            <artifactId>seam-persistence-impl</artifactId>
            <version>${seam.persistence.version}</version>
         </dependency>
      </dependencies>
   </dependencyManagement>

   <dependencies>
      <dependency>
         <groupId>org.jboss.spec.javax.ejb</groupId>
         <artifactId>jboss-ejb-api_3.1_spec</artifactId>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.logging</groupId>
         <artifactId>jboss-logging</artifactId>
         <scope>runtime</scope>
      </dependency>
      <dependency>
         <groupId>javax.validation</groupId>
         <artifactId>validation-api</artifactId>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.spec.javax.servlet</groupId>
         <artifactId>jboss-servlet-api_3.0_spec</artifactId>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>org.hibernate.javax.persistence</groupId>
         <artifactId>hibernate-jpa-2.0-api</artifactId>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>javax.enterprise</groupId>
         <artifactId>cdi-api</artifactId>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.spec.javax.interceptor</groupId>
         <artifactId>jboss-interceptors-api_1.1_spec</artifactId>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.seam.rest</groupId>
         <artifactId>seam-rest-api</artifactId>
         <scope>compile</scope>
      </dependency>
      <dependency>
         <groupId>javax.ws.rs</groupId>
         <artifactId>jsr311-api</artifactId>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.seam.catch</groupId>
         <artifactId>seam-catch-api</artifactId>
         <scope>compile</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.seam.catch</groupId>
         <artifactId>seam-catch-impl</artifactId>
         <scope>runtime</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.seam.xml</groupId>
         <artifactId>seam-xml-config</artifactId>
         <scope>runtime</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.seam.rest</groupId>
         <artifactId>seam-rest</artifactId>
         <scope>compile</scope>
      </dependency>
      <!--      <dependency>-->
      <!--         <groupId>org.jboss.seam.persistence</groupId>-->
      <!--         <artifactId>seam-persistence-api</artifactId>-->
      <!--         <scope>compile</scope>-->
      <!--      </dependency>-->
      <!--      <dependency>-->
      <!--         <groupId>org.jboss.seam.persistence</groupId>-->
      <!--         <artifactId>seam-persistence-impl</artifactId>-->
      <!--         <scope>runtime</scope>-->
      <!--      </dependency>-->
      <dependency>
         <groupId>org.jboss.weld</groupId>
         <artifactId>weld-extensions</artifactId>
      </dependency>
      <!-- WELDX depends on this -->
      <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-api</artifactId>
         <scope>runtime</scope>
      </dependency>
      <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-simple</artifactId>
         <scope>runtime</scope>
      </dependency>
   </dependencies>

   <build>
      <finalName>seam-catch-example-jaxrs</finalName>
      <plugins>
         <plugin>
            <!-- no unit tests, surefire would instead run functional tests in incorrect phase -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
               <skip>true</skip>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>selenium-maven-plugin</artifactId>
            <version>1.0.1</version>
         </plugin>
         <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <version>1.0</version>
         </plugin>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>failsafe-maven-plugin</artifactId>
         </plugin>
      </plugins>
   </build>

   <profiles>
      <profile>
         <id>jboss-public-repository</id>
         <!-- Repository is active unless explicitly disabled e.g. -P!jboss-public-repository -->
         <activation>
            <property>
               <name>jboss-public-repository</name>
               <value>!false</value>
            </property>
         </activation>
         <repositories>
            <repository>
               <id>jboss-public-repository-group</id>
               <name>JBoss Public Maven Repository Group</name>
               <url>http://repository.jboss.org/nexus/content/groups/public</url>
               <layout>default</layout>
               <releases>
                  <enabled>true</enabled>
                  <updatePolicy>never</updatePolicy>
               </releases>
               <snapshots>
                  <enabled>false</enabled>
                  <updatePolicy>never</updatePolicy>
               </snapshots>
            </repository>
         </repositories>
         <pluginRepositories>
            <pluginRepository>
               <id>jboss-public-repository-group</id>
               <name>JBoss Public Maven Repository Group</name>
               <url>http://repository.jboss.org/nexus/content/groups/public</url>
               <layout>default</layout>
               <releases>
                  <enabled>true</enabled>
                  <updatePolicy>never</updatePolicy>
               </releases>
               <snapshots>
                  <enabled>true</enabled>
                  <updatePolicy>never</updatePolicy>
               </snapshots>
            </pluginRepository>
         </pluginRepositories>
      </profile>

      <profile>
         <id>jbossas</id>
         <activation>
            <activeByDefault>true</activeByDefault>
         </activation>
         <!-- Mark dependencies provided by JBoss AS -->
         <dependencies>
            <dependency>
               <groupId>org.jboss.logging</groupId>
               <artifactId>jboss-logging</artifactId>
               <scope>provided</scope>
            </dependency>
            <dependency>
               <groupId>org.slf4j</groupId>
               <artifactId>slf4j-api</artifactId>
               <scope>provided</scope>
            </dependency>
            <dependency>
               <groupId>org.slf4j</groupId>
               <artifactId>slf4j-simple</artifactId>
               <scope>provided</scope>
            </dependency>
         </dependencies>

         <build>
            <plugins>
               <!-- JBoss AS deployer plugin will deploy your war to a local JBoss AS container if you've declared $JBOSS_HOME in your OS -->
               <!-- To use, set the JBOSS_HOME environment variable (or jboss.home in $HOME/.m2/settings.xml) and run 'mvn package jboss:hard-deploy' -->
               <plugin>
                  <groupId>org.codehaus.mojo</groupId>
                  <artifactId>jboss-maven-plugin</artifactId>
                  <version>1.4.1</version>
                  <configuration>
                     <jbossHome>${jboss.home}</jbossHome>
                     <serverName>${jboss.domain}</serverName>
                     <fileNames>
                        <!-- JNDI DataSource that connects to in-memory HSQLDB to demonstrate JPA -->
                        <!--
                        <fileName>src/main/resources-jbossas/default-ds.xml</fileName>
                        -->
                        <!-- DataSource needs to go before the application -->
                        <fileName>${project.build.directory}/${project.build.finalName}.war</fileName>
                     </fileNames>
                  </configuration>
               </plugin>
            </plugins>
            <resources>
               <resource>
                  <directory>src/main/resources</directory>
               </resource>
               <resource>
                  <directory>src/main/resources-jbossas</directory>
               </resource>
            </resources>
         </build>
      </profile>

      <profile>
         <id>glassfish</id>
         <build>
            <resources>
               <resource>
                  <directory>src/main/resources</directory>
               </resource>
               <resource>
                  <directory>src/main/resources-glassfish</directory>
               </resource>
            </resources>
         </build>
      </profile>

   </profiles>

</project>
