<?xml version="1.0" encoding="UTF-8"?>
<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">

    <!--

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

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!                                !!!!!!
    !!!!!!    This pom is only provided   !!!!!!
    !!!!!!   for build convenience and    !!!!!!
    !!!!!!   should not be released       !!!!!!
    !!!!!!                                !!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <modelVersion>4.0.0</modelVersion>
    
    <parent>
        <groupId>org.apache.clerezza</groupId>
        <artifactId>clerezza</artifactId>
        <version>7</version>
        <relativePath>../parent</relativePath>
    </parent>

    <groupId>org.apache.clerezza</groupId>
    <artifactId>rdf-platform-reactor</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>Clerezza - Platform</name>
    <description>The platform related bundles</description>


    <profiles>
        <profile>
            <id>release</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>style.classic.webguiexamples</module>
                <module>platform</module>
                <module>accountcontrolpanel</module>
                <module>concepts</module>
                <module>config</module>
                <module>config.gui</module>
                <module>content.imagemetadata</module>
                <module>content</module>
                <module>content.default404</module>
                <module>content.fsadaptor</module>
                <module>content.representations</module>
                <module>cris</module>
                <module>curieprefixmanager</module>
                <module>dashboard</module>
                <module>dashboard.webinterface</module>
                <module>documentation</module>
                <module>documentation.viewer</module>
                <module>enrichment</module>
                <module>editor</module>
                <module>globalmenu.api</module>
                <module>graphnodeprovider</module>
                <module>graphprovider.content</module>
                <module>language</module>
                <module>launcher.storageless.parent</module>
                <module>launcher.tdb</module>
                <module>logging</module>
                <module>mail</module>
                <module>scripting</module>
                <module>scripting.scriptmanager</module>
                <module>security.foafssl</module>
                <module>security.conditions</module>
                <module>shellcustomizer</module>
                <module>typehandlerspace</module>
                <module>typehandlerspace.wink</module>
                <module>typehandlerspace.jaxrs2</module>
                <module>typerendering</module>
                <module>typerendering.gui</module>
                <module>typerendering.scala</module>
                <module>typerendering.scalaserverpages</module>
                <module>typerendering.seedsnipe</module>
                <module>typepriority</module>
                <module>usermanager</module>
                <module>usermanager.webinterface</module>
                <module>users</module>
                <module>xhtml2html</module>
                <module>style.default</module>
                <module>style.classic</module>
            </modules>
        </profile>
        <profile>
            <id>additions</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <modules>
                <module>launcher.sesame</module>
            </modules>
        </profile>        
    </profiles>
    
</project>
