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

<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You 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.apache.jackrabbit</groupId>
    <artifactId>jackrabbit-parent</artifactId>
    <version>2.21.4-SNAPSHOT</version>
    <relativePath>../jackrabbit-parent/pom.xml</relativePath>
  </parent>

  <!-- =================================================================== -->
  <!-- P R O J E C T  D E S C R I P T I O N                                -->
  <!-- =================================================================== -->
  <artifactId>jackrabbit-jcr-rmi</artifactId>
  <packaging>bundle</packaging>

  <name>Jackrabbit JCR-RMI</name>
  <description>
    JCR-RMI is a transparent Remote Method Invocation (RMI) layer for the
    Content Repository for Java Technology API (JCR). The layer makes it
    possible to remotely access JCR content repositories.
  </description>

  <!-- =================================================================== -->
  <!-- B U I L D   S E T T I N G S                                         -->
  <!-- =================================================================== -->
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-Category>jcr,jackrabbit</Bundle-Category>
            <Bundle-DocURL>http://jackrabbit.apache.org/</Bundle-DocURL>
            <!-- optional resolution XA -->
            <Import-Package>
              javax.transaction.xa;resolution:=optional,*
            </Import-Package>
            <!-- inline RangeIterator adapt to not add library dependency -->
            <Embed-Dependency>
              jackrabbit-jcr-commons;inline=org/apache/jackrabbit/commons/iterator/RangeIteratorAdapter*
            </Embed-Dependency>
          </instructions>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>src/main/javadoc/**/*.uxf</exclude>
          </excludes>
        </configuration>
      </plugin>
    </plugins>
    <pluginManagement>
    	<plugins>
    		<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
    		<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-antrun-plugin
    								</artifactId>
    								<versionRange>[1.6,)</versionRange>
    								<goals>
    									<goal>run</goal>
    								</goals>
    							</pluginExecutionFilter>
    							<action>
    								<ignore />
    							</action>
    						</pluginExecution>
    					</pluginExecutions>
    				</lifecycleMappingMetadata>
    			</configuration>
    		</plugin>
    	</plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <id>integrationTesting</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <argLine>${test.opts}</argLine>
              <fork>true</fork>
              <systemProperties>
                <property>
                  <name>jackrabbit.test.integration</name>
                  <value>true</value>
                </property>
                <property>
                  <name>known.issues</name>
                  <value>
org.apache.jackrabbit.test.api.ShareableNodeTest
org.apache.jackrabbit.test.api.SetValueValueFormatExceptionTest#testNodeNotReferenceable

org.apache.jackrabbit.test.api.NameTest#testExpandedNameValue
org.apache.jackrabbit.test.api.NameTest#testExpandedNameValueProperty

org.apache.jackrabbit.test.api.NodeRemoveMixinTest#testNotAssigned
org.apache.jackrabbit.test.api.ValueFactoryTest#testValueFormatException

org.apache.jackrabbit.test.api.GetWeakReferencesTest#testMultiValues
org.apache.jackrabbit.test.api.GetWeakReferencesTest#testSingleValue

org.apache.jackrabbit.test.api.nodetype.NodeTypeCreationTest#testEmptyNodeDefinitionTemplate
org.apache.jackrabbit.test.api.nodetype.NodeTypeCreationTest#testEmptyNodeTypeTemplate
org.apache.jackrabbit.test.api.nodetype.NodeTypeCreationTest#testEmptyPropertyDefinitionTemplate
org.apache.jackrabbit.test.api.nodetype.NodeTypeCreationTest#testInvalidJCRNames
org.apache.jackrabbit.test.api.nodetype.NodeTypeCreationTest#testNewNodeTypeTemplate
org.apache.jackrabbit.test.api.nodetype.NodeTypeCreationTest#testNodeDefinitionTemplate
org.apache.jackrabbit.test.api.nodetype.NodeTypeCreationTest#testNonEmptyNodeTypeTemplate
org.apache.jackrabbit.test.api.nodetype.NodeTypeCreationTest#testPropertyDefinitionTemplate
org.apache.jackrabbit.test.api.nodetype.NodeTypeCreationTest#testRegisterNodeType
org.apache.jackrabbit.test.api.nodetype.NodeTypeCreationTest#testRegisterNodeTypes
org.apache.jackrabbit.test.api.nodetype.NodeTypeCreationTest#testResidualNames
org.apache.jackrabbit.test.api.nodetype.NodeTypeCreationTest#testSetDefaultValues

org.apache.jackrabbit.test.api.observation.GetUserDataTest#testSave
org.apache.jackrabbit.test.api.observation.GetUserDataTest#testVersioning
org.apache.jackrabbit.test.api.observation.GetUserDataTest#testWorkspaceOperation
org.apache.jackrabbit.test.api.observation.NodeReorderTest#testNodeReorderMove

org.apache.jackrabbit.test.api.PathTest#testResolvedIdentifierBasedPropertyValue

org.apache.jackrabbit.test.api.query.CreateQueryTest#testUnknownQueryLanguage
org.apache.jackrabbit.test.api.query.DerefQueryLevel1Test#testDerefMultiPropWithNodeStar
org.apache.jackrabbit.test.api.query.DerefQueryLevel1Test#testDerefMultiPropWithNodeTest
org.apache.jackrabbit.test.api.query.DerefQueryLevel1Test#testDerefSinglePropWithNodeStar
org.apache.jackrabbit.test.api.query.DerefQueryLevel1Test#testDerefSinglePropWithNodeTest
org.apache.jackrabbit.test.api.query.ElementTest#testElementTest
org.apache.jackrabbit.test.api.query.ElementTest#testElementTestAnyNode
org.apache.jackrabbit.test.api.query.ElementTest#testElementTestAnyNodeNtBase
org.apache.jackrabbit.test.api.query.ElementTest#testElementTestAnyNodeSomeNT
org.apache.jackrabbit.test.api.query.ElementTest#testElementTestNameTest
org.apache.jackrabbit.test.api.query.ElementTest#testElementTestNameTestNtBase
org.apache.jackrabbit.test.api.query.ElementTest#testElementTestNameTestSomeNT
org.apache.jackrabbit.test.api.query.ElementTest#testElementTestNameTestSomeNTWithSNS
org.apache.jackrabbit.test.api.query.GetLanguageTest#testGetLanguage
org.apache.jackrabbit.test.api.query.GetLanguageTest#testJCRQOM
org.apache.jackrabbit.test.api.query.GetLanguageTest#testJCRSQL2
org.apache.jackrabbit.test.api.query.GetLanguageTest#testSQL
org.apache.jackrabbit.test.api.query.GetPersistentQueryPathLevel1Test#testGetStoredQueryPath
org.apache.jackrabbit.test.api.query.GetPersistentQueryPathTest#testGetPersistentQueryPath
org.apache.jackrabbit.test.api.query.GetPropertyNamesTest#testGetPropertyNames
org.apache.jackrabbit.test.api.query.GetStatementTest#testGetStatement
org.apache.jackrabbit.test.api.query.GetSupportedQueryLanguagesTest#testGetSupportedQueryLanguages
org.apache.jackrabbit.test.api.query.OrderByDateTest#testDateOrder
org.apache.jackrabbit.test.api.query.OrderByDateTest#testDateOrderMillis
org.apache.jackrabbit.test.api.query.OrderByDateTest#testDateOrderNegativeTimeZone
org.apache.jackrabbit.test.api.query.OrderByDateTest#testDateOrderPositiveTimeZone
org.apache.jackrabbit.test.api.query.OrderByDecimalTest#testDecimal
org.apache.jackrabbit.test.api.query.OrderByDoubleTest#testDoubleOrder1
org.apache.jackrabbit.test.api.query.OrderByDoubleTest#testDoubleOrder2
org.apache.jackrabbit.test.api.query.OrderByLengthTest#testLength
org.apache.jackrabbit.test.api.query.OrderByLocalNameTest#testLocalName
org.apache.jackrabbit.test.api.query.OrderByLongTest#testIntegerOrder
org.apache.jackrabbit.test.api.query.OrderByLowerCaseTest#testLowerCase
org.apache.jackrabbit.test.api.query.OrderByMultiTypeTest#testMultipleOrder
org.apache.jackrabbit.test.api.query.OrderByNameTest#testName
org.apache.jackrabbit.test.api.query.OrderByStringTest#testStringOrder
org.apache.jackrabbit.test.api.query.OrderByUpperCaseTest#testLowerCase
org.apache.jackrabbit.test.api.query.OrderByURITest#testURI
org.apache.jackrabbit.test.api.query.PredicatesTest#testAnd
org.apache.jackrabbit.test.api.query.PredicatesTest#testCombinedAnd
org.apache.jackrabbit.test.api.query.PredicatesTest#testCombinedOr
org.apache.jackrabbit.test.api.query.PredicatesTest#testEquality
org.apache.jackrabbit.test.api.query.PredicatesTest#testOr
org.apache.jackrabbit.test.api.query.qom.AndConstraintTest#testAnd
org.apache.jackrabbit.test.api.query.qom.BindVariableValueTest#testBindVariableNames
org.apache.jackrabbit.test.api.query.qom.BindVariableValueTest#testBoolean
org.apache.jackrabbit.test.api.query.qom.BindVariableValueTest#testDate
org.apache.jackrabbit.test.api.query.qom.BindVariableValueTest#testDecimal
org.apache.jackrabbit.test.api.query.qom.BindVariableValueTest#testDouble
org.apache.jackrabbit.test.api.query.qom.BindVariableValueTest#testIllegalArgumentException
org.apache.jackrabbit.test.api.query.qom.BindVariableValueTest#testLong
org.apache.jackrabbit.test.api.query.qom.BindVariableValueTest#testName
org.apache.jackrabbit.test.api.query.qom.BindVariableValueTest#testPath
org.apache.jackrabbit.test.api.query.qom.BindVariableValueTest#testReference
org.apache.jackrabbit.test.api.query.qom.BindVariableValueTest#testString
org.apache.jackrabbit.test.api.query.qom.BindVariableValueTest#testURI
org.apache.jackrabbit.test.api.query.qom.BindVariableValueTest#testWeakReference
org.apache.jackrabbit.test.api.query.qom.ChildNodeJoinConditionTest#testInnerJoin
org.apache.jackrabbit.test.api.query.qom.ChildNodeJoinConditionTest#testLeftOuterJoin
org.apache.jackrabbit.test.api.query.qom.ChildNodeJoinConditionTest#testRightOuterJoin
org.apache.jackrabbit.test.api.query.qom.ChildNodeTest#testChildNode
org.apache.jackrabbit.test.api.query.qom.ChildNodeTest#testChildNodes
org.apache.jackrabbit.test.api.query.qom.ChildNodeTest#testChildNodesDoNotMatchSelector
org.apache.jackrabbit.test.api.query.qom.ChildNodeTest#testNotASelectorName
org.apache.jackrabbit.test.api.query.qom.ChildNodeTest#testPathDoesNotExist
org.apache.jackrabbit.test.api.query.qom.ChildNodeTest#testRelativePath
org.apache.jackrabbit.test.api.query.qom.ChildNodeTest#testSyntacticallyInvalidPath
org.apache.jackrabbit.test.api.query.qom.ColumnTest#testColumnNames
org.apache.jackrabbit.test.api.query.qom.ColumnTest#testExpandColumnsForNodeType
org.apache.jackrabbit.test.api.query.qom.ColumnTest#testMultiColumn
org.apache.jackrabbit.test.api.query.qom.DescendantNodeJoinConditionTest#testInnerJoin
org.apache.jackrabbit.test.api.query.qom.DescendantNodeJoinConditionTest#testLeftOuterJoin
org.apache.jackrabbit.test.api.query.qom.DescendantNodeJoinConditionTest#testRightOuterJoin
org.apache.jackrabbit.test.api.query.qom.DescendantNodeTest#testDescendantNode
org.apache.jackrabbit.test.api.query.qom.DescendantNodeTest#testDescendantNodes
org.apache.jackrabbit.test.api.query.qom.DescendantNodeTest#testDescendantNodesDoNotMatchSelector
org.apache.jackrabbit.test.api.query.qom.DescendantNodeTest#testNotASelectorName
org.apache.jackrabbit.test.api.query.qom.DescendantNodeTest#testPathDoesNotExist
org.apache.jackrabbit.test.api.query.qom.DescendantNodeTest#testRelativePath
org.apache.jackrabbit.test.api.query.qom.DescendantNodeTest#testSyntacticallyInvalidPath
org.apache.jackrabbit.test.api.query.qom.EquiJoinConditionTest#testInnerJoin1
org.apache.jackrabbit.test.api.query.qom.EquiJoinConditionTest#testInnerJoin2
org.apache.jackrabbit.test.api.query.qom.EquiJoinConditionTest#testLeftOuterJoin1
org.apache.jackrabbit.test.api.query.qom.EquiJoinConditionTest#testLeftOuterJoin2
org.apache.jackrabbit.test.api.query.qom.EquiJoinConditionTest#testRightOuterJoin1
org.apache.jackrabbit.test.api.query.qom.EquiJoinConditionTest#testRightOuterJoin2
org.apache.jackrabbit.test.api.query.qom.FullTextSearchScoreTest#testConstraint
org.apache.jackrabbit.test.api.query.qom.FullTextSearchScoreTest#testOrdering
org.apache.jackrabbit.test.api.query.qom.GetQueryTest#testGetQuery
org.apache.jackrabbit.test.api.query.qom.GetQueryTest#testInvalidQueryException
org.apache.jackrabbit.test.api.query.qom.LengthTest#testBinaryLength
org.apache.jackrabbit.test.api.query.qom.LengthTest#testBooleanLength
org.apache.jackrabbit.test.api.query.qom.LengthTest#testDateLength
org.apache.jackrabbit.test.api.query.qom.LengthTest#testDecimalLength
org.apache.jackrabbit.test.api.query.qom.LengthTest#testDoubleLength
org.apache.jackrabbit.test.api.query.qom.LengthTest#testLengthBinaryLiteral
org.apache.jackrabbit.test.api.query.qom.LengthTest#testLengthBooleanLiteral
org.apache.jackrabbit.test.api.query.qom.LengthTest#testLengthDateLiteral
org.apache.jackrabbit.test.api.query.qom.LengthTest#testLengthDecimalLiteral
org.apache.jackrabbit.test.api.query.qom.LengthTest#testLengthDoubleLiteral
org.apache.jackrabbit.test.api.query.qom.LengthTest#testLengthNameLiteral
org.apache.jackrabbit.test.api.query.qom.LengthTest#testLengthPathLiteral
org.apache.jackrabbit.test.api.query.qom.LengthTest#testLengthReferenceLiteral
org.apache.jackrabbit.test.api.query.qom.LengthTest#testLengthStringLiteral
org.apache.jackrabbit.test.api.query.qom.LengthTest#testLengthURILiteral
org.apache.jackrabbit.test.api.query.qom.LengthTest#testLengthWeakReferenceLiteral
org.apache.jackrabbit.test.api.query.qom.LengthTest#testLongLength
org.apache.jackrabbit.test.api.query.qom.LengthTest#testNameLength
org.apache.jackrabbit.test.api.query.qom.LengthTest#testPathLength
org.apache.jackrabbit.test.api.query.qom.LengthTest#testReferenceLength
org.apache.jackrabbit.test.api.query.qom.LengthTest#testStringLength
org.apache.jackrabbit.test.api.query.qom.LengthTest#testURILength
org.apache.jackrabbit.test.api.query.qom.LengthTest#testWeakReferenceLength
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testBinaryLiteral
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testBooleanLiteral
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testDateLiteral
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testDecimalLiteral
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testDoubleLiteral
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testEqualTo
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testGreaterThan
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testGreaterThanOrEqualTo
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testLessThan
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testLessThanOrEqualTo
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testLike
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testLongLiteral
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testNameLiteral
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testNotEqualTo
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testPathLiteral
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testReferenceLiteral
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testStringLiteral
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testStringLiteralInvalidName
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testURILiteral
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testWeakReferenceLiteral
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testBinaryLiteral
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testBooleanLiteral
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testDateLiteral
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testDecimalLiteral
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testDoubleLiteral
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testEqualTo
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testLongLiteral
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testNameLiteral
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testNotEqualTo
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testPathLiteral
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testReferenceLiteral
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testStringLiteral
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testStringLiteralInvalidName
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testURILiteral
org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testWeakReferenceLiteral
org.apache.jackrabbit.test.api.query.qom.NotConstraintTest#testNot
org.apache.jackrabbit.test.api.query.qom.OrConstraintTest#testOr
org.apache.jackrabbit.test.api.query.qom.OrderingTest#testMultipleSelectors
org.apache.jackrabbit.test.api.query.qom.PropertyExistenceTest#testPropertyExistence
org.apache.jackrabbit.test.api.query.qom.PropertyValueTest#testPropertyExistence
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testAnd
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testBindVariableValue
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testChildNode
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testChildNodeJoinCondition
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testChildNodeWithSelector
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testColumn
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testColumnAllProperties
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testColumnWithColumnName
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testColumnWithSelector
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testComparison
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testCreateQuery
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testCreateQueryFromSource
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testCreateQueryFromSourceWithConstraint
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testCreateQueryFromSourceWithConstraintAndOrdering
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testCreateQueryFromSourceWithConstraintOrderingAndColumn
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testCreateQueryWithConstraint
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testCreateQueryWithConstraintAndOrdering
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testCreateQueryWithConstraintOrderingAndColumn
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testDescendantNode
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testDescendantNodeJoinCondition
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testDescendantNodeWithSelector
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testEquiJoinCondition
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testFullTextSearch
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testFullTextSearchAllProperties
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testFullTextSearchScore
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testFullTextSearchScoreWithSelector
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testFullTextSearchWithBindVariableValue
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testJoin
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testLength
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testLiteral
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testLowerCase
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testNodeLocalName
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testNodeLocalNameWithSelector
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testNodeName
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testNodeNameWithSelector
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testNot
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testOr
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testOrderingAscending
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testOrderingDescending
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testPropertyExistence
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testPropertyExistenceWithSelector
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testPropertyValue
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testPropertyValueWithSelector
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testSameNode
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testSameNodeJoinCondition
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testSameNodeJoinConditionWithPath
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testSameNodeWithSelector
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testSelector
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testSelectorWithName
org.apache.jackrabbit.test.api.query.qom.QueryObjectModelFactoryTest#testUpperCase
org.apache.jackrabbit.test.api.query.qom.RowTest#testGetNode
org.apache.jackrabbit.test.api.query.qom.RowTest#testGetNodeWithSelector
org.apache.jackrabbit.test.api.query.qom.RowTest#testGetPath
org.apache.jackrabbit.test.api.query.qom.RowTest#testGetPathWithSelector
org.apache.jackrabbit.test.api.query.qom.RowTest#testGetScore
org.apache.jackrabbit.test.api.query.qom.RowTest#testGetScoreWithSelector
org.apache.jackrabbit.test.api.query.qom.RowTest#testGetValue
org.apache.jackrabbit.test.api.query.qom.RowTest#testGetValues
org.apache.jackrabbit.test.api.query.qom.SameNodeJoinConditionTest#testInnerJoin
org.apache.jackrabbit.test.api.query.qom.SameNodeJoinConditionTest#testInnerJoinWithPath
org.apache.jackrabbit.test.api.query.qom.SameNodeJoinConditionTest#testLeftOuterJoin
org.apache.jackrabbit.test.api.query.qom.SameNodeJoinConditionTest#testLeftOuterJoinWithPath
org.apache.jackrabbit.test.api.query.qom.SameNodeJoinConditionTest#testRightOuterJoin
org.apache.jackrabbit.test.api.query.qom.SameNodeJoinConditionTest#testRightOuterJoinWithPath
org.apache.jackrabbit.test.api.query.qom.SameNodeTest#testChildNodesDoNotMatchSelector
org.apache.jackrabbit.test.api.query.qom.SameNodeTest#testNotASelectorName
org.apache.jackrabbit.test.api.query.qom.SameNodeTest#testPathDoesNotExist
org.apache.jackrabbit.test.api.query.qom.SameNodeTest#testRelativePath
org.apache.jackrabbit.test.api.query.qom.SameNodeTest#testSameNode
org.apache.jackrabbit.test.api.query.qom.SameNodeTest#testSyntacticallyInvalidPath
org.apache.jackrabbit.test.api.query.qom.SelectorTest#testDuplicateNodeType
org.apache.jackrabbit.test.api.query.qom.SelectorTest#testSelector
org.apache.jackrabbit.test.api.query.qom.SelectorTest#testSyntacticallyInvalidName
org.apache.jackrabbit.test.api.query.qom.SelectorTest#testUnknownNodeType
org.apache.jackrabbit.test.api.query.qom.UpperLowerCaseTest#testLength
org.apache.jackrabbit.test.api.query.qom.UpperLowerCaseTest#testLowerCaseTwice
org.apache.jackrabbit.test.api.query.qom.UpperLowerCaseTest#testLowerUpperCase
org.apache.jackrabbit.test.api.query.qom.UpperLowerCaseTest#testNodeLocalName
org.apache.jackrabbit.test.api.query.qom.UpperLowerCaseTest#testNodeName
org.apache.jackrabbit.test.api.query.qom.UpperLowerCaseTest#testPropertyValue
org.apache.jackrabbit.test.api.query.qom.UpperLowerCaseTest#testUpperCaseTwice
org.apache.jackrabbit.test.api.query.qom.UpperLowerCaseTest#testUpperLowerCase
org.apache.jackrabbit.test.api.query.QueryResultNodeIteratorTest#testGetPosition
org.apache.jackrabbit.test.api.query.QueryResultNodeIteratorTest#testGetPositionEmptyIterator
org.apache.jackrabbit.test.api.query.QueryResultNodeIteratorTest#testGetSize
org.apache.jackrabbit.test.api.query.QueryResultNodeIteratorTest#testNoSuchElementException
org.apache.jackrabbit.test.api.query.QueryResultNodeIteratorTest#testSkip
org.apache.jackrabbit.test.api.query.SetLimitTest#testSetLimit
org.apache.jackrabbit.test.api.query.SetOffsetTest#testSetOffset
org.apache.jackrabbit.test.api.query.SimpleSelectionTest#testSingleProperty
org.apache.jackrabbit.test.api.query.SQLJcrPathTest#testJcrPath
org.apache.jackrabbit.test.api.query.SQLJoinTest#testJoin
org.apache.jackrabbit.test.api.query.SQLJoinTest#testJoinFilterPrimaryType
org.apache.jackrabbit.test.api.query.SQLJoinTest#testJoinNtBase
org.apache.jackrabbit.test.api.query.SQLJoinTest#testJoinSNS
org.apache.jackrabbit.test.api.query.SQLOrderByTest#testOrderByAscending
org.apache.jackrabbit.test.api.query.SQLOrderByTest#testOrderByDefault
org.apache.jackrabbit.test.api.query.SQLOrderByTest#testOrderByDescending
org.apache.jackrabbit.test.api.query.SQLPathTest#testChildAxisLeaf
org.apache.jackrabbit.test.api.query.SQLPathTest#testChildAxisRoot
org.apache.jackrabbit.test.api.query.SQLPathTest#testChildAxisTestRoot
org.apache.jackrabbit.test.api.query.SQLPathTest#testDescendantLeaf
org.apache.jackrabbit.test.api.query.SQLPathTest#testDescendantSelfTestRoot
org.apache.jackrabbit.test.api.query.SQLPathTest#testDescendantTestRoot
org.apache.jackrabbit.test.api.query.SQLQueryLevel2Test#testFullTextSearch
org.apache.jackrabbit.test.api.query.SQLQueryLevel2Test#testMultiValueSearch
org.apache.jackrabbit.test.api.query.SQLQueryLevel2Test#testPathColumn
org.apache.jackrabbit.test.api.query.SQLQueryLevel2Test#testRange
org.apache.jackrabbit.test.api.query.SQLQueryLevel2Test#testScoreColumn
org.apache.jackrabbit.test.api.query.TextNodeTest#testTextNodeTest
org.apache.jackrabbit.test.api.query.TextNodeTest#testTextNodeTestContains
org.apache.jackrabbit.test.api.query.TextNodeTest#testTextNodeTestMultiNodes
org.apache.jackrabbit.test.api.query.TextNodeTest#testTextNodeTestWithPosition
org.apache.jackrabbit.test.api.query.XPathDocOrderTest#testDocOrderFirstFunction
org.apache.jackrabbit.test.api.query.XPathDocOrderTest#testDocOrderLastFunction
org.apache.jackrabbit.test.api.query.XPathDocOrderTest#testDocOrderPositionFunction
org.apache.jackrabbit.test.api.query.XPathDocOrderTest#testDocOrderPositionIndex
org.apache.jackrabbit.test.api.query.XPathJcrPathTest#testJcrPath
org.apache.jackrabbit.test.api.query.XPathOrderByTest#testOrderBy
org.apache.jackrabbit.test.api.query.XPathOrderByTest#testOrderByAscending
org.apache.jackrabbit.test.api.query.XPathOrderByTest#testOrderByDescending
org.apache.jackrabbit.test.api.query.XPathPosIndexTest#testDocOrderIndexedNotation
org.apache.jackrabbit.test.api.query.XPathQueryLevel2Test#testFullTextSearch
org.apache.jackrabbit.test.api.query.XPathQueryLevel2Test#testMultiValueSearch
org.apache.jackrabbit.test.api.query.XPathQueryLevel2Test#testPathColumn
org.apache.jackrabbit.test.api.query.XPathQueryLevel2Test#testRange
org.apache.jackrabbit.test.api.query.XPathQueryLevel2Test#testScoreColumn

org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testSetIllegalPolicy
org.apache.jackrabbit.test.api.security.RSessionAccessControlPolicyTest#testSetInvalidPolicy

org.apache.jackrabbit.test.api.SerializationTest#testLockExceptionSessionWithHandler
org.apache.jackrabbit.test.api.SerializationTest#testLockExceptionWorkspaceWithHandler
org.apache.jackrabbit.test.api.SerializationTest#testVersioningExceptionFileChildSessionContentHandler
org.apache.jackrabbit.test.api.SerializationTest#testVersioningExceptionFileChildWorkspaceContentHandler
org.apache.jackrabbit.test.api.SerializationTest#testVersioningExceptionFileParentSessionContentHandler
org.apache.jackrabbit.test.api.SerializationTest#testVersioningExceptionFileParentWorkspaceContentHandler

org.apache.jackrabbit.test.api.SessionTest#testHasCapability

org.apache.jackrabbit.test.api.version.CopyTest#testCopy
org.apache.jackrabbit.test.api.version.VersionHistoryTest#testGetAllFrozenNodes

org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testSetPolicy
org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testSetAllPolicies
org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testGetPolicyAfterSet
org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testResetPolicy
org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testSetPolicyIsTransient
org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testGetPolicyAfterSave
org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testNodeIsModifiedAfterSecondSetPolicy
org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testNodeIsModifiedAfterSetPolicy
org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testRemovePolicy
org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testRemovePolicyIsTransient
org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testNodeIsModifiedAfterRemovePolicy
org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testSetPolicyOnNewNode
org.apache.jackrabbit.test.api.security.AccessControlPolicyTest#testRemoveTransientlyAddedPolicy
org.apache.jackrabbit.test.api.security.AccessControlListTest#testAddAccessControlEntry
org.apache.jackrabbit.test.api.security.AccessControlListTest#testAddAggregatePrivilege
org.apache.jackrabbit.test.api.security.AccessControlListTest#testAddAggregatedPrivilegesSeparately
org.apache.jackrabbit.test.api.security.AccessControlListTest#testAddPrivilegesPresentInEntries
org.apache.jackrabbit.test.api.security.AccessControlListTest#testAddAccessControlEntryAndSetPolicy
org.apache.jackrabbit.test.api.security.AccessControlListTest#testAddAccessControlEntryIsTransient
org.apache.jackrabbit.test.api.security.AccessControlListTest#testAddAccessControlEntryInvalidPrincipal
org.apache.jackrabbit.test.api.security.AccessControlListTest#testAddAccessControlEntryEmptyPrivilegeArray
org.apache.jackrabbit.test.api.security.AccessControlListTest#testAddAccessControlEntryInvalidPrivilege
org.apache.jackrabbit.test.api.security.AccessControlListTest#testRemoveAddedAccessControlEntry
org.apache.jackrabbit.test.api.security.AccessControlListTest#testRemoveAccessControlEntryAndSetPolicy
org.apache.jackrabbit.test.api.security.AccessControlListTest#testRemoveAccessControlEntryIsTransient
org.apache.jackrabbit.test.api.security.AccessControlListTest#testRemoveIllegalAccessControlEntry
org.apache.jackrabbit.test.api.security.AccessControlListTest#testAddAccessControlEntryTwice
org.apache.jackrabbit.test.api.security.AccessControlListTest#testAddAccessControlEntryAgain
org.apache.jackrabbit.test.api.security.AccessControlListTest#testExtendPrivileges
org.apache.jackrabbit.test.api.security.RSessionAccessControlPolicyTest#testSetPolicy
<!-- JCR-3206 -->
org.apache.jackrabbit.test.api.observation.EventJournalTest
                  </value>
                </property>
                <property>
                  <name>derby.system.durability</name>
                  <value>test</value>
                </property>
                <property>
                  <name>derby.storage.fileSyncTransactionLog</name>
                  <value>true</value>
                </property>
                <property>
                  <name>derby.stream.error.file</name>
                  <value>target/derby.log</value>
                </property>
              </systemProperties>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <!-- =================================================================== -->
  <!-- D E P E N D E N C I E S                                             -->
  <!-- =================================================================== -->
  <dependencies>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.annotation</artifactId>
      <scope>provided</scope>
    </dependency>
    <!-- Hard dependencies -->
    <dependency>
      <groupId>javax.jcr</groupId>
      <artifactId>jcr</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <!--
      We use the RangeIteratorAdapter but include it in the library thus
      users of the jackrabbit-jcr-rmi library do not need to get the
      jackrabbit-jcr-commons library
    -->
    <dependency>
      <groupId>org.apache.jackrabbit</groupId>
      <artifactId>jackrabbit-jcr-commons</artifactId>
        <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    
    <!-- Oak Jackrabbit API extensions -->
    <dependency>
      <groupId>org.apache.jackrabbit</groupId>
      <artifactId>oak-jackrabbit-api</artifactId>
      <scope>provided</scope>
    </dependency>

    <!-- Test dependencies -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.jackrabbit</groupId>
      <artifactId>jackrabbit-core</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.jackrabbit</groupId>
      <artifactId>jackrabbit-jcr-tests</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.derby</groupId>
      <artifactId>derby</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

</project>
