<?xml version="1.0"?>
<project>
  <parent>
    <artifactId>jackrabbit</artifactId>

    <groupId>org.apache.jackrabbit</groupId>

    <version>1.4-SNAPSHOT</version>

  </parent>

  <modelVersion>4.0.0</modelVersion>

  <artifactId>jackrabbit-core</artifactId>

  <name>Jackrabbit Core</name>

  <version>1.4-SNAPSHOT</version>

  <description>Jackrabbit content repository implementation</description>

  <build>
    <resources>
      <resource>
        <filtering>true</filtering>

        <directory>src/main/resources</directory>

      </resource>

    </resources>

    <plugins>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>

        <executions>
          <execution>
            <id>delete-sources</id>

            <phase>process-sources</phase>

            <goals>
              <goal>run</goal>

            </goals>

            <configuration>
              <tasks>
                <echo>Remove files that have been customized in Jackrabbit</echo>

                <delete>
                  <fileset dir="${project.build.directory}/generated-src/main/java/org/apache/jackrabbit/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>

          </execution>

          <execution>
            <id>process-test-resources</id>

            <phase>process-test-resources</phase>

            <goals>
              <goal>run</goal>

            </goals>

            <configuration>
              <tasks>
                <copy todir="${project.build.directory}/repository">
                  <fileset dir="${basedir}/src/test/repository"/>

                </copy>

              </tasks>

            </configuration>

          </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>

        <version>2.1</version>

        <executions>
          <execution>
            <id>fulltext-jjtree</id>

            <goals>
              <goal>jjtree</goal>

            </goals>

            <configuration>
              <sourceDirectory>${basedir}/src/main/javacc/fulltext</sourceDirectory>

              <outputDirectory>${project.build.directory}/generated-src/main/java/org/apache/jackrabbit/core/query/lucene/fulltext</outputDirectory>

              <timestampDirectory>${project.build.directory}/generated-src/javacc-timestamp</timestampDirectory>

              <packageName>org.apache.jackrabbit.core.query.lucene.fulltext</packageName>

            </configuration>

          </execution>

          <execution>
            <id>fulltext-javacc</id>

            <goals>
              <goal>javacc</goal>

            </goals>

            <configuration>
              <sourceDirectory>${project.build.directory}/generated-src/main/java/org/apache/jackrabbit/core/query/lucene/fulltext</sourceDirectory>

              <outputDirectory>${project.build.directory}/generated-src/main/java</outputDirectory>

              <timestampDirectory>${project.build.directory}/generated-src/javacc-timestamp</timestampDirectory>

              <packageName>org.apache.jackrabbit.core.query.lucene.fulltext</packageName>

            </configuration>

          </execution>

          <execution>
            <id>sql-jjtree</id>

            <goals>
              <goal>jjtree</goal>

            </goals>

            <configuration>
              <sourceDirectory>${basedir}/src/main/javacc/sql</sourceDirectory>

              <outputDirectory>${project.build.directory}/generated-src/main/java/org/apache/jackrabbit/core/query/sql</outputDirectory>

              <timestampDirectory>${project.build.directory}/generated-src/javacc-timestamp</timestampDirectory>

              <packageName>org.apache.jackrabbit.core.query.sql</packageName>

            </configuration>

          </execution>

          <execution>
            <id>sql-javacc</id>

            <goals>
              <goal>javacc</goal>

            </goals>

            <configuration>
              <sourceDirectory>${project.build.directory}/generated-src/main/java/org/apache/jackrabbit/core/query/sql</sourceDirectory>

              <outputDirectory>${project.build.directory}/generated-src/main/java</outputDirectory>

              <timestampDirectory>${project.build.directory}/generated-src/javacc-timestamp</timestampDirectory>

              <packageName>org.apache.jackrabbit.core.query.sql</packageName>

            </configuration>

          </execution>

          <execution>
            <id>xpath-jjtree</id>

            <goals>
              <goal>jjtree</goal>

            </goals>

            <configuration>
              <sourceDirectory>${basedir}/src/main/javacc/xpath</sourceDirectory>

              <outputDirectory>${project.build.directory}/generated-src/main/java/org/apache/jackrabbit/core/query/xpath</outputDirectory>

              <timestampDirectory>${project.build.directory}/generated-src/javacc-timestamp</timestampDirectory>

              <packageName>org.apache.jackrabbit.core.query.xpath</packageName>

            </configuration>

          </execution>

          <execution>
            <id>xpath-javacc</id>

            <goals>
              <goal>javacc</goal>

            </goals>

            <configuration>
              <sourceDirectory>${project.build.directory}/generated-src/main/java/org/apache/jackrabbit/core/query/xpath</sourceDirectory>

              <outputDirectory>${project.build.directory}/generated-src/main/java</outputDirectory>

              <timestampDirectory>${project.build.directory}/generated-src/javacc-timestamp</timestampDirectory>

              <packageName>org.apache.jackrabbit.core.query.xpath</packageName>

            </configuration>

          </execution>

        </executions>

        <dependencies>
          <dependency>
            <groupId>net.java.dev.javacc</groupId>

            <artifactId>javacc</artifactId>

            <version>3.2</version>

          </dependency>

        </dependencies>

      </plugin>

      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>

        <executions>
          <execution>
            <id>do_init</id>

            <phase>pre-integration-test</phase>

            <goals>
              <goal>test</goal>

            </goals>

            <configuration>
              <includes>
                <include>**/integration/PrepareTestRepository.java</include>

              </includes>

            </configuration>

          </execution>

          <execution>
            <id>do_test</id>

            <phase>integration-test</phase>

            <goals>
              <goal>test</goal>

            </goals>

            <configuration>
              <includes>
                <include>**/integration/*Test.java</include>

              </includes>

            </configuration>

          </execution>

        </executions>

        <configuration>
          <includes>
            <include>**/*TestAll.java</include>

          </includes>

          <argLine>-Xmx128m</argLine>

          <systemProperties>
            <property>
              <name>derby.system.durability</name>

              <value>test</value>

            </property>

            <property>
              <name>known.issues</name>

              <value>org.apache.jackrabbit.core.xml.DocumentViewTest#testMultiValue
                org.apache.jackrabbit.value.BinaryValueTest#testBinaryValueEquals</value>

            </property>

          </systemProperties>

        </configuration>

      </plugin>

    </plugins>

  </build>

  <dependencies>
    <dependency>
      <groupId>concurrent</groupId>

      <artifactId>concurrent</artifactId>

    </dependency>

    <dependency>
      <groupId>commons-collections</groupId>

      <artifactId>commons-collections</artifactId>

    </dependency>

    <dependency>
      <groupId>javax.jcr</groupId>

      <artifactId>jcr</artifactId>

    </dependency>

    <dependency>
      <groupId>org.apache.jackrabbit</groupId>

      <artifactId>jackrabbit-api</artifactId>

    </dependency>

    <dependency>
      <groupId>org.apache.jackrabbit</groupId>

      <artifactId>jackrabbit-jcr-commons</artifactId>

    </dependency>

    <dependency>
      <groupId>org.apache.jackrabbit</groupId>

      <artifactId>jackrabbit-spi-commons</artifactId>

    </dependency>

    <dependency>
      <groupId>org.apache.jackrabbit</groupId>

      <artifactId>jackrabbit-spi</artifactId>

    </dependency>

    <dependency>
      <groupId>org.apache.jackrabbit</groupId>

      <artifactId>jackrabbit-text-extractors</artifactId>

    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>

      <artifactId>slf4j-api</artifactId>

    </dependency>

    <dependency>
      <groupId>org.apache.lucene</groupId>

      <artifactId>lucene-core</artifactId>

    </dependency>

    <dependency>
      <groupId>org.apache.derby</groupId>

      <artifactId>derby</artifactId>

    </dependency>

    <dependency>
      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.apache.jackrabbit</groupId>

      <artifactId>jackrabbit-jcr-tests</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>

      <artifactId>slf4j-log4j12</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.apache.geronimo.specs</groupId>

      <artifactId>geronimo-jta_1.0.1B_spec</artifactId>

      <scope>test</scope>

    </dependency>

  </dependencies>

  <distributionManagement>
    <status>deployed</status>

  </distributionManagement>

</project>
