<?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.10.0</version>
    <relativePath>..</relativePath>
  </parent> 

  <name>Apache Jena - Fuseki - A SPARQL 1.1 Server</name>
  <artifactId>jena-fuseki</artifactId>
  <version>3.10.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.12.v20180830</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>
  </properties>

  <modules>
    <module>jena-fuseki-core</module>
    <module>jena-fuseki-access</module>

    <module>jena-fuseki-main</module>
    <module>jena-fuseki-server</module>

    <module>jena-fuseki-webapp</module>
    <module>jena-fuseki-war</module>
    <module>jena-fuseki-fulljar</module>

    <module>apache-jena-fuseki</module>
  </modules>
  
</project>
