<?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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.marmotta</groupId>
        <artifactId>marmotta-parent</artifactId>
        <version>3.1.0-incubating</version>
        <relativePath>../../parent</relativePath>
    </parent>

    <artifactId>ldpath-reactor</artifactId>
    <packaging>pom</packaging>

    <name>LDPath: Reactor</name>
    <description>A path-based query language for RDF and Linked Data.</description>

    <properties>
        <sesameVersion>2.6.10</sesameVersion>
        <jenaVersion>2.7.3</jenaVersion>
        <sl4jVersion>1.7.2</sl4jVersion>
        <logbackVersion>1.0.7</logbackVersion>
        <jacksonVersion>1.9.10</jacksonVersion>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.marmotta</groupId>
                <artifactId>ldpath-core</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!-- release management -->
    <build>
        <plugins>
            <!-- do not install / deploy reactor -->
            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-install-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <modules>
        <module>ldpath-api</module>
        <module>ldpath-core</module>
        <module>ldpath-backend-sesame</module>
        <module>ldpath-backend-file</module>
        <module>ldpath-backend-linkeddata</module>
        <module>ldpath-template</module>
        <module>ldpath-template-linkeddata</module>
        <module>ldpath-backend-jena</module>
        <module>ldpath-functions-collections</module>
        <module>ldpath-functions-xml</module>
        <module>ldpath-functions-html</module>
        <module>ldpath-functions-text</module>
        <module>ldpath-functions-math</module>
        <module>ldpath-functions-date</module>
        <!--
        <module>ldpath-backend-sparql</module>
        -->
    </modules>

</project>
