<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.modeshape</groupId>
    <artifactId>modeshape-parent</artifactId>
    <version>2.8.0.Final</version>
    <relativePath>../../modeshape-parent</relativePath>
  </parent>
	<!-- The groupId and version values are inherited from parent -->
	<artifactId>modeshape-web-jcr-rest-client</artifactId>
	<packaging>jar</packaging>
	<name>ModeShape JCR REST Client</name>
	<description>ModeShape JCR REST client resource publishing
	</description>
	<url>http://www.modeshape.org</url>
	<!--
		Define the dependencies. Note that all version and scopes default to
		those defined in the dependencyManagement section of the parent pom.
	-->
	<dependencies>
		<dependency>
			<groupId>org.modeshape</groupId>
			<artifactId>modeshape-common</artifactId>
		</dependency>
    <dependency>
        <groupId>javax.jcr</groupId>
        <artifactId>jcr</artifactId>
    </dependency>
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
    </dependency>
		<dependency>
			<groupId>org.modeshape</groupId>
			<artifactId>modeshape-common</artifactId>
			<version>${project.version}</version>
			<type>test-jar</type>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.modeshape</groupId>
			<artifactId>modeshape-web-jcr-rest-war</artifactId>
			<type>war</type>
			<version>${project.version}</version>
			<scope>integration-test</scope>
		</dependency>
		<dependency>
			<groupId>org.jboss.resteasy</groupId>
			<artifactId>resteasy-jaxrs</artifactId>
			<version>1.2.1.GA</version>
			 <exclusions>
                <exclusion>
                    <artifactId>slf4j-simple</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            		<exclusion>
            			<groupId>org.slf4j</groupId>
            			<artifactId>jcl-over-slf4j</artifactId>
            		</exclusion>
            </exclusions>
		</dependency>
		<dependency>
			<groupId>org.jboss.resteasy</groupId>
			<artifactId>resteasy-jaxb-provider</artifactId>
			<version>1.2.1.GA</version>
			<scope>runtime</scope>
		      <exclusions>
                <exclusion>
                    <groupId>com.sun.xml.bind</groupId>
                    <artifactId>jaxb-impl</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.xml.stream</groupId>
                    <artifactId>stream.buffer</artifactId>
                </exclusion>
            </exclusions>
		</dependency>
		<dependency>
			<groupId>org.jboss.resteasy</groupId>
			<artifactId>resteasy-jettison-provider</artifactId>
			<version>1.2.1.GA</version>
		</dependency>
        <dependency>
            <groupId>org.codehaus.jettison</groupId>
            <artifactId>jettison</artifactId>
            <version>1.1</version>
            <exclusions>
                <!-- This results in duplicate stax-api jars. This is the older
                     one. A newer is brought in by com.sun.xml.bind:jaxb-impl -->
                <exclusion>
                    <groupId>stax</groupId>
                    <artifactId>stax-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.1.2</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-library</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<scope>test</scope>
		</dependency>
		<!--
			Logging (require SLF4J API for compiling, but use Log4J and its SLF4J
			binding for testing)
		-->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<scope>runtime</scope>
		</dependency>
	</dependencies>
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-report-plugin
				</artifactId>
			</plugin>
		</plugins>
	</reporting>
	<profiles>
    <profile>
		<id>assembly</id>
		<build>
      <plugins>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${maven.assembly.plugin.version}</version>
           <configuration>
             <descriptors>
               <descriptor>src/assembly/build-jar-with-dependencies.xml</descriptor>
             </descriptors>
						 <archive>
							 <manifest>
								 <addClasspath>true</addClasspath>
						 	</manifest>
						 </archive>
           </configuration>
           <executions>
             <execution>
							 <id>assembly-with-dependencies</id>
               <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
             </execution>
           </executions>
          </plugin>                        
				</plugins>
			</build>	
		</profile>
		<profile>
			<id>cargo-1</id>
			<activation>
				<property>
					<name>!cargo-1-non-existant</name>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.cargo</groupId>
						<artifactId>cargo-maven2-plugin</artifactId>
          	            <version>${maven.codehaus.cargo.plugin.version}</version>
						<executions>
							<execution>
								<id>start-container</id>
								<phase>pre-integration-test</phase>
								<goals>
									<goal>start</goal>
								</goals>
							</execution>
							<execution>
								<id>stop-container</id>
								<phase>post-integration-test</phase>
								<goals>
									<goal>stop</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
                            <skip>${skipTests}</skip>
							<container>
								<containerId>${cargo.container}</containerId>
							</container>
							<configuration>
								<properties>
									<cargo.logging>high</cargo.logging>
									<cargo.servlet.users>dnauser:password:connect,readwrite|unauthorized:password:bogus</cargo.servlet.users>
									<cargo.servlet.port>8090</cargo.servlet.port>
								</properties>
								<home>target/cargo</home>
								<deployables>
									<!-- application to deploy -->
									<deployable>
										<groupId>org.modeshape</groupId>
										<artifactId>modeshape-web-jcr-rest-war
										</artifactId>
										<type>war</type>
										<properties>
											<context>resources</context>
										</properties>
									</deployable>
								</deployables>
							</configuration>
						</configuration>
					</plugin>
					<!--
						Override the default Surefire behavior to run during
						integration-test phase
					-->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>
          	<version>${maven.surefire.plugin.version}</version>
						<configuration>
							<skip>true</skip>
						</configuration>
						<executions>
							<execution>
								<id>surefire-it</id>
								<phase>integration-test</phase>
								<goals>
									<goal>test</goal>
								</goals>
								<configuration>
									<skip>false</skip>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<!--
						Adding OSGI metadata to the JAR without changing the packaging type.
					-->
					
					<plugin>
						<artifactId>maven-jar-plugin</artifactId>
          	<version>${maven.jar.plugin.version}</version>
						<configuration>
							<archive>
								<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
							</archive>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.apache.felix</groupId>
						<artifactId>maven-bundle-plugin</artifactId>
          	<version>${maven.bundle.plugin.version}</version>
						<executions>
							<execution>
								<id>bundle-manifest</id>
								<phase>process-classes</phase>
								<goals>
									<goal>manifest</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>cargo-2</id>
			<build>
				<pluginManagement>
					<plugins>
         <!--
             Adding OSGI metadata to the JAR without changing the packaging type.
         -->
         <plugin>
              <artifactId>maven-jar-plugin</artifactId>
              <configuration>
                   <archive>
                       <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                   </archive>
              </configuration>
         </plugin>
         <plugin>
              <groupId>org.apache.felix</groupId>
              <artifactId>maven-bundle-plugin</artifactId>
              <executions>
                  <execution>
                      <id>bundle-manifest</id>
                      <phase>process-classes</phase>
                      <goals>
                          <goal>manifest</goal>
                      </goals>
                     </execution>
                       </executions>
                                                </plugin>
						<plugin>
							<artifactId>maven-assembly-plugin</artifactId>
          		<version>${maven.assembly.plugin.version}</version>
							<configuration>
								<descriptorRefs>
									<descriptorRef>jar-with-dependencies</descriptorRef>
								</descriptorRefs>
							</configuration>
							<executions>
								<execution>
									<id>create-project-bundle</id>
									<phase>package</phase>
									<goals>
										<goal>single</goal>
									</goals>
								</execution>
							</executions>
						</plugin>
					</plugins>
				</pluginManagement>
				<plugins>
					<plugin>
						<groupId>org.codehaus.cargo</groupId>
						<artifactId>cargo-maven2-plugin</artifactId>
          	            <version>${maven.codehaus.cargo.plugin.version}</version>
						<executions>
							<execution>
								<id>start-container</id>
								<phase>pre-integration-test</phase>
								<goals>
									<goal>start</goal>
								</goals>
							</execution>
							<execution>
								<id>stop-container</id>
								<phase>post-integration-test</phase>
								<goals>
									<goal>stop</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
                            <skip>${skipTests}</skip>
							<container>
								<containerId>${cargo.container}</containerId>
								<systemProperties>
									<java.io.tmpdir>${project.build.directory}/tmp</java.io.tmpdir>
								</systemProperties>
							</container>
							<configuration>
								<properties>
									<cargo.logging>high</cargo.logging>
									<cargo.servlet.users>dnauser2:password2:connect,readwrite|unauthorized:password:bogus</cargo.servlet.users>
									<cargo.servlet.port>8180</cargo.servlet.port>
								</properties>
								<home>${project.build.directory}/cargo</home>
								<deployables>
									<!-- application to deploy -->
									<deployable>
										<groupId>org.modeshape</groupId>
										<artifactId>modeshape-web-jcr-rest-war
										</artifactId>
										<type>war</type>
										<properties>
											<context>resources</context>
										</properties>
									</deployable>
								</deployables>
							</configuration>
						</configuration>
					</plugin>
					<!--
						Override the default Surefire behavior to run during
						integration-test phase
					-->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>
						<version>${maven.surefire.plugin.version}</version>
						<configuration>
							<skip>true</skip>
						</configuration>
						<executions>
							<execution>
								<id>surefire-it</id>
								<phase>integration-test</phase>
								<goals>
									<goal>test</goal>
								</goals>
								<configuration>
									<skip>false</skip>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
