<?xml version="1.0" encoding="UTF-8"?>
<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.2.Final</version>
    <relativePath>../modeshape-parent</relativePath>
  </parent>

  <!-- The groupId and version values are inherited from parent -->
  <artifactId>modeshape-jcr</artifactId>
  <packaging>jar</packaging>
  <name>ModeShape JCR Repository</name>
  <description>ModeShape implementation of the JCR API</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>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-graph</artifactId>
    </dependency>
    <dependency>
      <groupId>org.modeshape</groupId>
      <artifactId>modeshape-graph</artifactId>
      <version>${project.version}</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.modeshape</groupId>
      <artifactId>modeshape-repository</artifactId>
    </dependency>
    <dependency>
      <groupId>org.modeshape</groupId>
      <artifactId>modeshape-jcr-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.modeshape</groupId>
      <artifactId>modeshape-cnd</artifactId>
    </dependency>
    <dependency>
      <groupId>org.modeshape</groupId>
      <artifactId>modeshape-search-lucene</artifactId>
    </dependency>

    <!--
    These following are defined as 'provided' in the parent POM, since ModeShape
    has code that is optional if these APIs are available.
    -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.jboss.spec.javax.security.jacc</groupId>
      <artifactId>jboss-jacc-api_1.4_spec</artifactId>
    </dependency>

    <!-- 
    Testing (note the scope)
    -->
    <dependency>
      <groupId>org.modeshape</groupId>
      <artifactId>modeshape-clustering</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-library</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
    </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>test</scope>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <scope>test</scope>
    </dependency>
    <!-- 
      Apache JCR API unit tests (for any JCR implementation), which is a subset of the official TCK
    -->
    <dependency>
      <groupId>org.apache.jackrabbit</groupId>
      <artifactId>jackrabbit-jcr-tests</artifactId>
    </dependency>
		<!--
		PicketBox (JAAS implementation used in test cases)
		-->
    <dependency>
      <groupId>org.picketbox</groupId>
	    <artifactId>picketbox-bare</artifactId>
    </dependency>
		<!--
    <dependency>
      <groupId>org.jboss.security</groupId>
      <artifactId>jboss-idtrust</artifactId>
      <version>2.0.2.CR1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.security</groupId>
      <artifactId>jboss-security-spi-bare</artifactId>
      <version>2.0.2.SP6</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.security</groupId>
      <artifactId>jbosssx-bare</artifactId>
      <version>2.0.2.SP6</version>
      <exclusions>
        <exclusion>
          <groupId>apache-xalan</groupId>
          <artifactId>xalan</artifactId>
        </exclusion>
        <exclusion>
          <groupId>apache-xalan</groupId>
          <artifactId>serializer</artifactId>
        </exclusion>
        <exclusion>
					<groupId>org.hibernate</groupId>
					<artifactId>hibernate</artifactId>
				</exclusion>
        <exclusion>
					<groupId>org.jboss.security</groupId>
					<artifactId>jboss-xacml</artifactId>
				</exclusion>
      </exclusions>
      <scope>test</scope>
    </dependency>
		-->
  </dependencies>
  <build>
    <resources>
      <resource>
        <filtering>false</filtering>
        <directory>src/main/resources</directory>
        <includes>
          <include>*</include>
          <include>**/*</include>
        </includes>
      </resource>
	    <!-- Apply the properties set in the POM to the resource files -->
      <resource>
        <filtering>true</filtering>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/repository.properties</include>
        </includes>
      </resource>
    </resources>
    <plugins>
      <!-- Specify the compiler options and settings -->
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${maven.compiler.plugin.version}</version>
            <configuration>
                <source>${java.version.jcr.graph}</source>
                <target>${java.version.jcr.graph}</target>
                <showDeprecation>false</showDeprecation>
                <showWarnings>false</showWarnings>
            </configuration>
      </plugin>
      <!--
    	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>
		</plugins>
  </build>
	<profiles>
		<profile>
			<id>assembly</id>
			<build>
	    	<plugins>
		      <plugin>
		        <artifactId>maven-assembly-plugin</artifactId>
		        <configuration>
              <descriptors>
                <descriptor>src/main/assembly/with-dependencies.xml</descriptor>
              </descriptors>
		        </configuration>
		        <executions>
		          <execution>
		            <phase>package</phase>
		            <goals>
		              <goal>single</goal>
		            </goals>
		          </execution>
		        </executions>
		      </plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
