<?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.jena</groupId>
    <artifactId>jena</artifactId>
    <version>3.8.0</version>
    <relativePath>..</relativePath>
  </parent> 

  <name>Apache Jena - Fuseki - A SPARQL 1.1 Server</name>
  <artifactId>jena-fuseki</artifactId>
  <version>3.8.0</version>

  <description>Fuseki is a SPARQL 1.1 Server which provides the SPARQL query, 
  SPARQL update and SPARQL graph store protocols.
  </description>

  <packaging>pom</packaging>
  
  <url>http://jena.apache.org/</url>

  <organization>
    <name>Apache Jena</name>
    <url>http://jena.apache.org/</url>
  </organization>

  <licenses>
    <license>
      <name>Apache 2.0 License</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0</url>
    </license>
  </licenses>

  <properties>
    <ver.jetty>9.4.7.v20170914</ver.jetty>
    <ver.shiro>1.2.6</ver.shiro>
    <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ssZ</maven.build.timestamp.format>
    <build.time.xsd>${maven.build.timestamp}</build.time.xsd>
    <automatic.module.name>org.apache.jena.fuseki2</automatic.module.name>  
  </properties>

  <modules>
    <module>jena-fuseki-core</module>
    <module>jena-fuseki-embedded</module>
    <module>jena-fuseki-war</module>
    <module>jena-fuseki-server</module>
    <module>jena-fuseki-basic</module>
    <module>apache-jena-fuseki</module>
  </modules>
  
</project>
