<!--

    Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Distribution License v. 1.0, which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: BSD-3-Clause

-->

<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.glassfish</groupId>
        <artifactId>json</artifactId>
        <version>2.0.1-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <packaging>pom</packaging>
    <url>http://maven.apache.org</url>
    <groupId>org.glassfish.jsonp</groupId>
    <artifactId>demos</artifactId>

    <properties>
        <legal.doc.source>${basedir}/..</legal.doc.source>
    </properties>

    <modules>
        <module>jaxrs</module>
        <module>twitter</module>
        <module>facebook</module>
        <module>jsonpointer</module>
        <module>servlet</module>
        <module>customprovider-jdk9</module>
    </modules>

</project>
