<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (C) 2003-2010 eXo Platform SAS.

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU Affero General Public License
    as published by the Free Software Foundation; either version 3
    of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, see <http://www.gnu.org/licenses />.

-->
<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.exoplatform.jcr</groupId>
    <artifactId>jcr-parent</artifactId>
    <version>1.10.8</version>
    <relativePath>../../pom.xml</relativePath>
  </parent>
  <artifactId>exo.jcr.component.core</artifactId>
  <name>eXo JCR Service core</name>
  <description>eXo JCR Service core component</description>
  <properties>
    <jcr.test.configuration.file>/conf/standalone/test-configuration.xml</jcr.test.configuration.file>
    <!-- We cannot analyze with clover these classes - code too large error -->
    <maven.clover.excludesList>**/xpath/**/*.java</maven.clover.excludesList>
  </properties>
  <dependencies>
    <!-- JCR API -->
    <dependency>
      <groupId>javax.jcr</groupId>
      <artifactId>jcr</artifactId>
      <version>1.0</version>
      <scope>compile</scope>
    </dependency>
    <!-- eXo dependencies (eXo JCR API) -->
    <dependency>
      <groupId>org.exoplatform.kernel</groupId>
      <artifactId>exo.kernel.container</artifactId>
      <version>${org.exoplatform.kernel.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.kernel</groupId>
      <artifactId>exo.kernel.component.command</artifactId>
      <version>${org.exoplatform.kernel.version}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.kernel</groupId>
      <artifactId>exo.kernel.component.common</artifactId>
      <version>${org.exoplatform.kernel.version}</version>
      <scope>provided</scope>
    </dependency>
    <!-- eXo dependencies (eXo JCR Impl) -->
    <dependency>
      <groupId>org.exoplatform.kernel</groupId>
      <artifactId>exo.kernel.component.cache</artifactId>
      <version>${org.exoplatform.kernel.version}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.core</groupId>
      <artifactId>exo.core.component.organization.api</artifactId>
      <version>${org.exoplatform.core.version}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.core</groupId>
      <artifactId>exo.core.component.document</artifactId>
      <version>${org.exoplatform.core.version}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.core</groupId>
      <artifactId>exo.core.component.security.core</artifactId>
      <version>${org.exoplatform.core.version}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.core</groupId>
      <artifactId>exo.core.component.database</artifactId>
      <version>${org.exoplatform.core.version}</version>
      <scope>compile</scope>
    </dependency>
    <!-- DEPRECATED: Third party dependencies (eXo JCR API) -->
    <!--
      dependency> <groupId>jibx</groupId> <artifactId>jibx-bind</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>jibx</groupId> <artifactId>jibx-run</artifactId>
      <version>1.1.3</version> </dependency> <dependency> <groupId>bcel</groupId> <artifactId>bcel</artifactId> <version>5.1</version> <scope>compile</scope> </dependency> <dependency>
      <groupId>xpp3</groupId> <artifactId>xpp3</artifactId> <version>1.1.3.4.O</version> <scope>compile</scope> </dependency -->
    <!-- Third party dependencies (eXo JCR Impl) -->
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-core</artifactId>
      <version>2.2.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-spellchecker</artifactId>
      <version>2.2.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-memory</artifactId>
      <version>2.2.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>javax.xml.stream</groupId>
      <artifactId>stax-api</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>com.sun.xml.stream</groupId>
      <artifactId>sjsxp</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
    </dependency>
    <dependency>
      <groupId>picocontainer</groupId>
      <artifactId>picocontainer</artifactId>
      <version>1.1</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.0.4</version>
    </dependency>
    <dependency>
      <groupId>xpp3</groupId>
      <artifactId>xpp3</artifactId>
      <version>1.1.3.4.O</version>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.3</version>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.kernel</groupId>
      <artifactId>exo.kernel.commons</artifactId>
      <version>${org.exoplatform.kernel.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jibx</groupId>
      <artifactId>jibx-run</artifactId>
      <version>1.1.6a</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>commons-chain</groupId>
      <artifactId>commons-chain</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>xml-apis</groupId>
      <artifactId>xml-apis</artifactId>
      <version>1.0.b2</version>
    </dependency>
    <dependency>
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
      <version>1.7.0</version>
    </dependency>
    <dependency>
      <groupId>hsqldb</groupId>
      <artifactId>hsqldb</artifactId>
      <!-- version>1.7.3.3</version -->
      <version>1.8.0.7</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>1.2.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>jotm</groupId>
      <artifactId>jotm</artifactId>
      <version>2.0.10</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <groupId>javax.resource</groupId>
          <artifactId>connector</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>javax.resource</groupId>
      <artifactId>connector-api</artifactId>
      <version>1.5</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>javax.transaction</groupId>
      <artifactId>jta</artifactId>
      <version>1.0.1B</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>concurrent</groupId>
      <artifactId>concurrent</artifactId>
      <version>1.3.4</version>
      <scope>compile</scope>
    </dependency>
    <!-- slf4j-log4j12 for TCK -->
    <!-- url>http://www.slf4j.org/download.html</url -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.2</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.ws.commons</groupId>
      <artifactId>ws-commons-util</artifactId>
      <version>1.0.1</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <groupId>xml-apis</groupId>
          <artifactId>xml-apis</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.jackrabbit</groupId>
      <artifactId>jackrabbit-jcr-tests</artifactId>
      <classifier>sources</classifier>
      <version>1.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>net.sf.ehcache</groupId>
      <artifactId>ehcache</artifactId>
      <version>1.4.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.jcs</groupId>
      <artifactId>jcs</artifactId>
      <version>1.3</version>
      <scope>test</scope>
    </dependency>
    <!-- ===== Databases JDBC support ===== -->
    <!-- For MySQL support -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.0.8</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
  <!-- For PostgresSQL support -->
  <!--
      dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> <version>8.2-504.jdbc3</version> <scope>compile</scope> </dependency -->
  <!-- For Oracle 10g support (local-jcr repository) -->
  <!--
    dependency> <groupId>ojdbc</groupId> <artifactId>ojdbc</artifactId> <version>14</version> <scope>compile</scope> </dependency> <dependency> <groupId>ojdbc</groupId>
    <artifactId>orai18n</artifactId> <version>14</version> <scope>compile</scope> </dependency -->
  <!-- For IBM DB2 support (local-jcr repository) -->
  <!--
    dependency> <groupId>com.ibm.db2</groupId> <artifactId>db2jcc</artifactId> <version>9.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.ibm.db2</groupId>
    <artifactId>db2jcc_license_cu</artifactId> <version>9.1</version> <scope>compile</scope> </dependency -->
  <!-- For MS SQL 7/2000/2005 and Sybase ASE/Anywhere support (jTDS driver) -->
  <!--
      dependency> <groupId>net.sourceforge.jtds</groupId> <artifactId>jtds</artifactId> <version>1.2</version> <scope>compile</scope> </dependency -->
  <!-- For MS SQL 2005 support (Microsoft JDBC driver) (local-jcr repository) -->
  <!--
      dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc</artifactId> <version>9.0</version> <scope>compile</scope> </dependency -->
  <!-- For Sybase ASE/Anywhere support (jConnect driver) (local-jcr repository) -->
  <!--
      dependency> <groupId>com.sybase.jdbc3.jdbc</groupId> <artifactId>jconn3</artifactId> <version>6.05</version> <scope>compile</scope> </dependency -->
  <!-- For Apache Derby support (aka JavaDB) -->
  <!--
      dependency> <groupId>org.apache.derby</groupId> <artifactId>derby</artifactId> <version>10.2.2.0</version> <scope>compile</scope> </dependency -->
  <!-- H2 Database -->
  <!--
      dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.0.74</version> <scope>compile</scope> </dependency -->
  <!-- ======================================================================= -->
  <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
          <include>**/*.properties</include>
          <include>**/*.xsl</include>
          <include>**/*.dtd</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.xml</include>
          <include>**/*.properties</include>
          <include>**/login.conf</include>
          <include>**/*.sql</include>
          <include>**/META-INF/**/*.*</include>
          <include>**/*.dtd</include>
        </includes>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>src/test/java</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
          <include>**/*.drl</include>
          <include>**/*.vm</include>
          <include>**/*.doc</include>
          <include>**/*.xls</include>
          <include>**/*.ppt</include>
          <include>**/*.txt</include>
          <include>**/*.dtd</include>
        </includes>
      </testResource>
      <testResource>
        <directory>src/test/resources</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
          <include>**/*.drl</include>
          <include>**/*.vm</include>
          <include>**/*.doc</include>
          <include>**/*.xls</include>
          <include>**/*.ppt</include>
          <include>**/*.txt</include>
          <include>**/*.tiff</include>
          <include>**/*.pdf</include>
          <include>**/*.dtd</include>
        </includes>
      </testResource>
    </testResources>
    <plugins>
      <plugin>
        <groupId>org.jibx</groupId>
        <artifactId>maven-jibx-plugin</artifactId>
        <version>1.1.6a</version>
        <configuration>
          <directory>src/main/resources</directory>
          <includes>
            <includes>binding*.xml</includes>
          </includes>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>bind</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>delete-sources</id>
            <phase>process-sources</phase>
            <configuration>
              <tasks>
                <echo>Remove files that have been customized</echo>
                <delete>
                  <fileset dir="${project.build.directory}/generated-sources/javacc/org/exoplatform/services/jcr/impl/core/query">
                    <include name="sql/ASTLiteral.java" />
                    <include name="sql/ASTContainsExpression.java" />
                    <include name="sql/ASTPredicate.java" />
                    <include name="sql/ASTIdentifier.java" />
                    <include name="xpath/SimpleNode.java" />
                  </fileset>
                </delete>
                <delete>
                  <fileset dir="${project.build.directory}/generated-sources/jjtree/org/exoplatform/services/jcr/impl/core/query">
                    <include name="sql/ASTLiteral.java" />
                    <include name="sql/ASTContainsExpression.java" />
                    <include name="sql/ASTPredicate.java" />
                    <include name="sql/ASTIdentifier.java" />
                    <include name="xpath/SimpleNode.java" />
                  </fileset>
                </delete>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>ant</groupId>
            <artifactId>ant-optional</artifactId>
            <version>1.5.3-1</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>javacc-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>fulltext</id>
            <configuration>
              <sourceDirectory>${basedir}/src/main/javacc/fulltext</sourceDirectory>
            </configuration>
            <goals>
              <goal>jjtree-javacc</goal>
            </goals>
          </execution>
          <execution>
            <id>sql</id>
            <configuration>
              <sourceDirectory>${basedir}/src/main/javacc/sql</sourceDirectory>
            </configuration>
            <goals>
              <goal>jjtree-javacc</goal>
            </goals>
          </execution>
          <execution>
            <id>xpath</id>
            <configuration>
              <sourceDirectory>${basedir}/src/main/javacc/xpath</sourceDirectory>
            </configuration>
            <goals>
              <goal>jjtree-javacc</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>net.java.dev.javacc</groupId>
            <artifactId>javacc</artifactId>
            <version>3.2</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>taglist-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>unpack</id>
            <phase>generate-test-sources</phase>
            <goals>
              <goal>unpack</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>org.apache.jackrabbit</groupId>
                  <artifactId>jackrabbit-jcr-tests</artifactId>
                  <classifier>sources</classifier>
                  <type>jar</type>
                  <overWrite>false</overWrite>
                </artifactItem>
              </artifactItems>
              <outputDirectory>${project.build.testSourceDirectory}</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <argLine>${env.MAVEN_OPTS}</argLine>
          <systemProperties>
            <property>
              <name>jcr.test.configuration.file</name>
              <value>${jcr.test.configuration.file}</value>
            </property>
          </systemProperties>
          <includes>
            <include>org/exoplatform/services/jcr/**/api/**/Test*.java</include>
            <include>org/exoplatform/services/jcr/**/usecases/**/Test*.java</include>
            <include>org/exoplatform/services/jcr/**/usecases/**/*Test.java</include>
            <include>org/exoplatform/services/jcr/**/impl/**/Test*.java</include>
          </includes>
          <excludes>
            <exclude>org/exoplatform/services/jcr/**/TestErrorMultithreading.java</exclude>
            <exclude>org/exoplatform/services/jcr/**/api/**/TestSameNameItems.java</exclude>
            <exclude>org/exoplatform/services/jcr/**/api/**/TestVersionRestore.java</exclude>
            <exclude>org/exoplatform/services/jcr/**/impl/**/TestWorkspaceManagement.java</exclude>
            <exclude>org/exoplatform/services/jcr/**/impl/**/TestRepositoryManagement.java</exclude>
            <exclude>org/exoplatform/services/jcr/**/impl/**/TestSaveConfiguration.java</exclude>
            <exclude>org/exoplatform/services/jcr/**/impl/**/ValueStoragePluginTest.java</exclude>
            <exclude>org/exoplatform/services/jcr/**/impl/**/TestWorkspaceRestore.java</exclude>
            <exclude>org/exoplatform/services/jcr/**/impl/**/TestSessionCleaner.java</exclude>
            <exclude>org/exoplatform/services/jcr/**/impl/**/Base*.java</exclude>
            <exclude>org/exoplatform/services/jcr/**/api/TestAll.java</exclude>
            <!--exclude>org/exoplatform/services/jcr/**/usecases/**/TestDateBetween.java</exclude-->
            <exclude>org/exoplatform/services/jcr/**/usecases/**/RemoveSameNameSiblingTest.java</exclude>
            <exclude>org/exoplatform/services/jcr/**/usecases/**/TestQueryWithNumberAndSpace.java</exclude>
            <exclude>org/exoplatform/services/jcr/**/usecases/BaseUsecasesTest.java</exclude>
            <exclude>**/apache/**</exclude>
            <exclude>org/exoplatform/services/jcr/**/api/**/TestSameNameItems.java</exclude>
            <exclude>org/exoplatform/services/jcr/**/api/**/TestVersionRestore.java</exclude>
          </excludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>run-devtests</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <argLine>${env.MAVEN_OPTS}</argLine>
              <systemProperties>
                <property>
                  <name>jcr.test.configuration.file</name>
                  <value>${jcr.test.configuration.file}</value>
                </property>
              </systemProperties>
              <includes>
                <include>org/exoplatform/services/jcr/**/TestErrorMultithreading__.java</include>
                <include>org/exoplatform/services/jcr/**/TestConcurrentItems__.java</include>
                <include>org/exoplatform/services/jcr/**/TestJDBCValueContentAddressStorageImpl__.java</include>
                <include>org/exoplatform/services/jcr/**/TestCASableSimpleFileIOChannel__.java</include>
                <include>org/exoplatform/services/jcr/**/TestCASableTreeFileIOChannel__.java</include>
                <include>org/exoplatform/services/jcr/**/TestInvalidItemState__.java</include>
                <include>org/exoplatform/services/jcr/**/TestCleanableFileStreamValueData.java</include>
              </includes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- *** -->
    <!-- TCK -->
    <!-- *** -->
    <!-- Use "mvn -Prun-tck" to launch only them -->
    <profile>
      <id>run-tck</id>
      <build>
        <testResources>
          <testResource>
            <directory>${project.build.testSourceDirectory}</directory>
            <includes>
              <include>**/org/apache/jackrabbit/test/api/nodetype/spec/*.txt</include>
            </includes>
          </testResource>
        </testResources>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <!-- TAKE CARE TO UPDATE ALSO run-all PROFILE -->
              <argLine>${env.MAVEN_OPTS}</argLine>
              <systemProperties>
                <property>
                  <name>jcr.test.configuration.file</name>
                  <value>${jcr.test.configuration.file}</value>
                </property>
                <property>
                  <name>known.issues</name>
                  <value>org.apache.jackrabbit.test.api.nodetype.PropertyDefTest#testIsRequiredType
                      org.apache.jackrabbit.test.api.DocumentViewImportTest#testSessionImportXml
                      org.apache.jackrabbit.test.api.DocumentViewImportTest#testWorkspaceImportXml
                      org.apache.jackrabbit.test.api.DocumentViewImportTest#testWorkspaceGetImportContentHandler
                      org.apache.jackrabbit.test.api.DocumentViewImportTest#testSessionGetImportContentHandler
                      org.apache.jackrabbit.test.api.SetPropertyConstraintViolationExceptionTest#testBooleanProperty
                      org.apache.jackrabbit.test.api.SetValueConstraintViolationExceptionTest#testMultipleBooleanProperty
                      org.apache.jackrabbit.test.api.SetValueConstraintViolationExceptionTest#testBooleanProperty
                      org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreName
                      org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreOrder
                      org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreOrder2</value>
                </property>
              </systemProperties>
              <includes>
                <include>org/apache/jackrabbit/test/api/*Test.java</include>
                <include>org/apache/jackrabbit/test/api/observation/*Test.java</include>
                <include>org/apache/jackrabbit/test/api/lock/*Test.java</include>
                <include>org/apache/jackrabbit/test/api/nodetype/*Test.java</include>
                <include>org/apache/jackrabbit/test/api/query/*Test.java</include>
                <include>org/apache/jackrabbit/test/api/version/*Test.java</include>
              </includes>
              <excludes>
                <exclude>org/apache/jackrabbit/test/api/TestAll.java</exclude>
                <exclude>org/apache/jackrabbit/test/api/**/Abstract*.java</exclude>
                <exclude>org/apache/jackrabbit/test/api/**/FrozenNodeTest.java</exclude>
                <exclude>**/exoplatform/**</exclude>
              </excludes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- *** -->
    <!-- ALL -->
    <!-- *** -->
    <!-- Use "mvn -Prun-all" to launch default tests and TCK -->
    <profile>
      <id>run-all</id>
      <build>
        <testResources>
          <testResource>
            <directory>${project.build.testSourceDirectory}</directory>
            <includes>
              <include>**/org/apache/jackrabbit/test/api/nodetype/spec/*.txt</include>
            </includes>
          </testResource>
        </testResources>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <!-- TAKE CARE TO UPDATE ALSO run-tck PROFILE -->
              <argLine>${env.MAVEN_OPTS}</argLine>
              <systemProperties>
                <property>
                  <name>jcr.test.configuration.file</name>
                  <value>${jcr.test.configuration.file}</value>
                </property>
                <property>
                  <name>known.issues</name>
                  <value>org.apache.jackrabbit.test.api.nodetype.PropertyDefTest#testIsRequiredType
                      org.apache.jackrabbit.test.api.DocumentViewImportTest#testSessionImportXml
                      org.apache.jackrabbit.test.api.DocumentViewImportTest#testWorkspaceImportXml
                      org.apache.jackrabbit.test.api.DocumentViewImportTest#testWorkspaceGetImportContentHandler
                      org.apache.jackrabbit.test.api.DocumentViewImportTest#testSessionGetImportContentHandler
                      org.apache.jackrabbit.test.api.SetPropertyConstraintViolationExceptionTest#testBooleanProperty
                      org.apache.jackrabbit.test.api.SetValueConstraintViolationExceptionTest#testMultipleBooleanProperty
                      org.apache.jackrabbit.test.api.SetValueConstraintViolationExceptionTest#testBooleanProperty
                      org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreName
                      org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreOrder
                      org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreOrder2</value>
                </property>
              </systemProperties>
              <includes>
                <!-- From default tests -->
                <include>org/exoplatform/services/jcr/**/api/**/Test*.java</include>
                <include>org/exoplatform/services/jcr/**/usecases/**/Test*.java</include>
                <include>org/exoplatform/services/jcr/**/usecases/**/*Test.java</include>
                <include>org/exoplatform/services/jcr/**/impl/**/Test*.java</include>
                <!-- From TCK -->
                <include>org/apache/jackrabbit/test/api/*Test.java</include>
                <include>org/apache/jackrabbit/test/api/observation/*Test.java</include>
                <include>org/apache/jackrabbit/test/api/lock/*Test.java</include>
                <include>org/apache/jackrabbit/test/api/nodetype/*Test.java</include>
                <include>org/apache/jackrabbit/test/api/query/*Test.java</include>
                <include>org/apache/jackrabbit/test/api/version/*Test.java</include>
              </includes>
              <excludes>
                <!-- From default tests -->
                <exclude>org/exoplatform/services/jcr/**/TestErrorMultithreading.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/api/**/TestSameNameItems.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/api/**/TestVersionRestore.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/impl/**/TestWorkspaceManagement.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/impl/**/TestRepositoryManagement.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/impl/**/TestSaveConfiguration.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/impl/**/ValueStoragePluginTest.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/impl/**/TestWorkspaceRestore.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/impl/**/TestSessionCleaner.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/impl/**/Base*.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/api/TestAll.java</exclude>
                <!--exclude>org/exoplatform/services/jcr/**/usecases/**/TestDateBetween.java</exclude-->
                <exclude>org/exoplatform/services/jcr/**/usecases/**/RemoveSameNameSiblingTest.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/usecases/**/TestQueryWithNumberAndSpace.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/usecases/BaseUsecasesTest.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/api/**/TestSameNameItems.java</exclude>
                <exclude>org/exoplatform/services/jcr/**/api/**/TestVersionRestore.java</exclude>
                <!-- From TCK -->
                <exclude>org/apache/jackrabbit/test/api/TestAll.java</exclude>
                <exclude>org/apache/jackrabbit/test/api/**/Abstract*.java</exclude>
                <exclude>org/apache/jackrabbit/test/api/**/FrozenNodeTest.java</exclude>
              </excludes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>delete-tck</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-clean-plugin</artifactId>
            <configuration>
              <filesets>
                <fileset>
                  <directory>${project.build.testSourceDirectory}/org/apache/</directory>
                </fileset>
              </filesets>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
