<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright 2011 John Casey
  
  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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  
  <parent>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>7</version>
  </parent>
  
  <groupId>org.commonjava.couch</groupId>
  <artifactId>couch-java-parent</artifactId>
  <version>1.1</version>
  <packaging>pom</packaging>
  
  <name>CouchDB Applications :: Parent</name>
  
  <modules>
    <module>couch-app-support</module>
    <module>couch-user-manager</module>
    <module>shiro-couch</module>
    <module>couch-test</module>
    <module>couch-web</module>
    <module>rbac-api</module>
  </modules>
  
  <scm>
    <connection>scm:git:http://jdcasey@github.com/jdcasey/couch-java.git</connection>
    <developerConnection>scm:git:git@github.com:jdcasey/couch-java.git</developerConnection>
    <url>http://github.com/jdcasey/couch-java</url>
  </scm>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.commonjava.couch</groupId>
        <artifactId>shiro-couch</artifactId>
        <version>1.1</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.couch</groupId>
        <artifactId>couch-user-manager</artifactId>
        <version>1.1</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.couch</groupId>
        <artifactId>rbac-api</artifactId>
        <version>1.1</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.couch</groupId>
        <artifactId>couch-app-support</artifactId>
        <version>1.1</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.web</groupId>
        <artifactId>json-serialization</artifactId>
        <version>0.2</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.couch.web</groupId>
        <artifactId>restful-user-manager</artifactId>
        <version>1.1</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.web</groupId>
        <artifactId>json-test-harness</artifactId>
        <version>0.1</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.commonjava.couch.test</groupId>
        <artifactId>couch-test-harness</artifactId>
        <version>1.1</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.commonjava.couch.test</groupId>
        <artifactId>couch-user-test-harness</artifactId>
        <version>1.1</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.commonjava.qarqas</groupId>
        <artifactId>qarqas-test-harness</artifactId>
        <version>0.2</version>
        <scope>test</scope>
      </dependency>
      
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>configuration-api</artifactId>
        <version>${configurationVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>configuration-dotconf</artifactId>
        <version>${configurationVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>logging</artifactId>
        <version>1.1</version>
      </dependency>
      
      <!-- START: PROVIDED DEPENDENCIES -->
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-cdi</artifactId>
        <version>2.2.0.GA</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>jaxrs-api</artifactId>
        <version>2.2.0.GA</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxrs</artifactId>
        <version>2.2.0.GA</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.spec.javax.servlet</groupId>
        <artifactId>jboss-servlet-api_3.0_spec</artifactId>
        <version>1.0.0.Final</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.enterprise</groupId>
        <artifactId>cdi-api</artifactId>
        <version>1.0-SP4</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
        <scope>provided</scope>
      </dependency>
      <!-- END: PROVIDED DEPENDENCIES -->
      
      <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-core</artifactId>
        <version>${shiroVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-web</artifactId>
        <version>${shiroVersion}</version>
      </dependency>
      
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4jVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</artifactId>
        <version>${slf4jVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4jVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>${slf4jVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-ext</artifactId>
        <version>${slf4jVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4jVersion}</version>
      </dependency>
      
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.0.1</version>
      </dependency>
      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.5</version>
      </dependency>
      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.1</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.5</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.1.1</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>1.1</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
        <version>1.0.0.CR4</version>
        <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.as</groupId>
         <artifactId>jboss-as-arquillian-container-managed</artifactId>
         <version>7.1.0.Beta1b</version>
         <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.weld.se</groupId>
        <artifactId>weld-se-core</artifactId>
        <version>1.1.2.Final</version>
        <scope>test</scope>
      </dependency>
      <!-- <dependency>
        <groupId>org.jboss.shrinkwrap.resolver</groupId>
        <artifactId>shrinkwrap-resolver-api-maven</artifactId>
        <version>1.1.0-alpha-1-SNAPSHOT</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.shrinkwrap.resolver</groupId>
        <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
        <version>1.1.0-alpha-1-SNAPSHOT</version>
        <scope>test</scope>
      </dependency> -->
      <dependency>
        <groupId>org.sonatype.aether</groupId>
        <artifactId>aether-api</artifactId>
        <version>1.12</version>
      </dependency>
      <dependency>
        <groupId>org.sonatype.aether</groupId>
        <artifactId>aether-impl</artifactId>
        <version>1.12</version>
      </dependency>
      <dependency>
        <groupId>org.sonatype.aether</groupId>
        <artifactId>aether-spi</artifactId>
        <version>1.12</version>
      </dependency>
      <dependency>
        <groupId>org.sonatype.aether</groupId>
        <artifactId>aether-util</artifactId>
        <version>1.12</version>
      </dependency>
      <dependency>
        <groupId>org.sonatype.aether</groupId>
        <artifactId>aether-connector-wagon</artifactId>
        <version>1.12</version>
        <exclusions>
          <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-aether-provider</artifactId>
        <version>3.0.3</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>1.7.2</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  
  <dependencies>
    <dependency>
      <groupId>org.commonjava.util</groupId>
      <artifactId>logging</artifactId>
    </dependency>
    
    <dependency>
      <groupId>javax.inject</groupId>
      <artifactId>javax.inject</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.enterprise</groupId>
      <artifactId>cdi-api</artifactId>
    </dependency>
  </dependencies>
  
  <build>
    <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-dependency-plugin</artifactId>
                    <versionRange>[1.0.0,)</versionRange>
                    <goals>
                      <goal>copy-dependencies</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.3</version>
          <executions>
            <execution>
              <id>resolve-for-testing</id>
              <goals>
                <goal>copy-dependencies</goal>
              </goals>
              <phase>process-test-classes</phase>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.2.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.3.2</version>
          <configuration>
            <source>1.6</source>
            <target>1.6</target>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.10</version>
          <configuration>
            <!-- <systemPropertyVariables>
              <JBOSS_HOME>${jbossHome}</JBOSS_HOME>
            </systemPropertyVariables> -->
            <excludes>
              <exclude>**/fixture/*.java</exclude>
              <exclude>**/live/*.java</exclude>
            </excludes>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.10</version>
          <configuration>
            <excludes>
              <exclude>**/fixture/*.java</exclude>
            </excludes>
            <includes>
              <include>**/live/*.java</include>
            </includes>
            <!-- <systemPropertyVariables>
              <HTTP_PORT>${qarqas.export.http}</HTTP_PORT>
            </systemPropertyVariables> -->
          </configuration>
          <executions>
            <execution>
              <id>integration-tests</id>
              <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>2.1.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.2.1</version>
          <configuration>
            <autoVersionSubmodules>true</autoVersionSubmodules>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>2.8</version>
          <configuration>
            <detectOfflineLinks>false</detectOfflineLinks>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.commonjava.maven.plugins</groupId>
          <artifactId>qarqas-maven-plugin</artifactId>
          <version>0.2</version>
          <executions>
            <execution>
              <id>infra</id>
              <goals>
                <goal>setup</goal>
                <goal>teardown</goal>
              </goals>
              <configuration>
                <clientKey>couch</clientKey>
                <configurators>reservation</configurators>
                <useDefaultConfigurators>false</useDefaultConfigurators>
                <output>${session.executionRootDirectory}/target/jbossas</output>
                <configProperties>
                  <reservationBaseUrl>http://localhost:9080/qarqas/api/1.0/reservation/</reservationBaseUrl>
                </configProperties>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  
  <properties>
    <jbossHome>${env.JBOSS_HOME}</jbossHome>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <configurationVersion>0.2</configurationVersion>
    <slf4jVersion>1.6.2</slf4jVersion>
    <shiroVersion>1.1.0</shiroVersion>
  </properties>
  
</project>