<?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">

    <modelVersion>4.0.0</modelVersion>

    <name>DeepaMehta 4 Project</name>
    <groupId>de.deepamehta</groupId>
    <artifactId>deepamehta-project</artifactId>
    <version>4.8</version>
    <packaging>pom</packaging>

    <description>DeepaMehta is a software platform for knowledge workers</description>
    <url>http://www.deepamehta.de/</url>
    <scm>
        <connection>scm:git:git@github.com:jri/deepamehta.git</connection>
        <url>https://github.com/jri/deepamehta</url>
    </scm>

    <licenses>
        <license>
            <name>GNU General Public License, version 3</name>
            <url>http://www.gnu.org/licenses/gpl.txt</url>
        </license>
    </licenses>

    <developers>
        <developer>
            <id>jri</id>
            <name>Jörg Richter</name>
            <email>jri@deepamehta.de</email>
        </developer>
        <developer>
            <id>dgf</id>
            <name>Danny Gräf</name>
            <email>mail@dagnu.de</email>
        </developer>
        <developer>
            <id>mre</id>
            <name>Malte Reißig</name>
            <email>mre@deepamehta.de</email>
        </developer>
        <developer>
            <id>eschnepel</id>
            <name>Enrico Schnepel</name>
            <email>enrico.schnepel@gmx.de</email>
        </developer>
        <developer>
            <id>jucovschi</id>
            <name>Constantin Jucovschi</name>
            <email>jucovschi@gmail.com</email>
        </developer>
    </developers>

    <!-- For a description of the config properties see /dm4-distribution/conf/config.properties -->
    <properties>
        <!-- Webserver -->
        <org.osgi.service.http.port>8080</org.osgi.service.http.port>
        <org.apache.felix.http.enable>true</org.apache.felix.http.enable>
        <org.apache.felix.http.session.timeout>0</org.apache.felix.http.session.timeout>
        <!-- HTTPS -->
        <org.osgi.service.http.port.secure>8443</org.osgi.service.http.port.secure>
        <org.apache.felix.https.enable>false</org.apache.felix.https.enable>
        <org.apache.felix.https.keystore.password></org.apache.felix.https.keystore.password>
        <org.apache.felix.https.keystore.key.password></org.apache.felix.https.keystore.key.password>

        <!-- Request Filter -->
        <!-- IMPORTANT: in case of a (comma-separated) list no spaces are allowed between the items. -->
        <!-- Line breaks and tab characters are allowed however.                                     -->
        <dm4.security.anonymous_read_allowed>ALL</dm4.security.anonymous_read_allowed>
        <!-- IMPORTANT: in case of a (comma-separated) list no spaces are allowed between the items. -->
        <!-- Line breaks and tab characters are allowed however.                                     -->
        <dm4.security.anonymous_write_allowed>NONE</dm4.security.anonymous_write_allowed>
        <dm4.security.subnet_filter>127.0.0.1/32</dm4.security.subnet_filter>

        <!-- User Accounts -->
        <dm4.security.initial_admin_password></dm4.security.initial_admin_password>
        <dm4.security.new_accounts_are_enabled>true</dm4.security.new_accounts_are_enabled>
        <dm4.filerepo.disk_quota>-1</dm4.filerepo.disk_quota>
        <!-- Workspace Sharing Modes -->
        <dm4.workspaces.private.enabled>true</dm4.workspaces.private.enabled>
        <dm4.workspaces.confidential.enabled>true</dm4.workspaces.confidential.enabled>
        <dm4.workspaces.collaborative.enabled>true</dm4.workspaces.collaborative.enabled>
        <dm4.workspaces.public.enabled>true</dm4.workspaces.public.enabled>
        <dm4.workspaces.common.enabled>true</dm4.workspaces.common.enabled>

        <!-- File Repository -->
        <dm4.filerepo.path>/</dm4.filerepo.path>
        <dm4.filerepo.per_workspace>false</dm4.filerepo.per_workspace>

        <!-- Hot Deployment -->
        <!-- IMPORTANT: in case of a (comma-separated) list no spaces are allowed between the items. -->
        <!-- Line breaks and tab characters are allowed however.                                     -->
        <felix.fileinstall.dir>
            ${project.basedir}/bundle-deploy
        </felix.fileinstall.dir>

        <!-- Host -->
        <dm4.host.url>http://localhost:${org.osgi.service.http.port}/</dm4.host.url>

        <!-- Webservice -->
        <dm4.webservice.path>/</dm4.webservice.path>

        <!-- Database -->
        <dm4.database.path>${project.basedir}/deepamehta-db</dm4.database.path>

        <!-- Logging -->
        <java.util.logging.config.file>
            ${project.basedir}/modules/dm4-distribution/conf/logging.properties
        </java.util.logging.config.file>
        <!-- To see any Felix/File Install logging set the level to at least 4 -->
        <felix.log.level>0</felix.log.level>
        <felix.fileinstall.log.level>0</felix.fileinstall.log.level>

        <!-- Encoding -->
        <file.encoding>UTF-8</file.encoding>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- OSGi -->
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.core</artifactId>
                <version>5.0.0</version>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.compendium</artifactId>
                <version>5.0.0</version>
            </dependency>
            <!-- Jersey -->
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
                <version>1.14</version>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
                <version>1.14</version>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-servlet</artifactId>
                <version>1.14</version>
            </dependency>
            <!-- Jettison -->
            <dependency>
                <groupId>org.codehaus.jettison</groupId>
                <artifactId>jettison</artifactId>
                <version>1.3.2</version>
            </dependency>
            <!-- Commons -->
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.2.2</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>1.3.2</version>
                <scope>provided</scope>
            </dependency>
            <!-- JAX-RS API-->
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>jsr311-api</artifactId>
                <version>1.1.1</version>
                <scope>provided</scope>
                <optional>true</optional>
            </dependency>
            <!-- Servlet API -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.0.1</version>
                <optional>true</optional>
            </dependency>
            <!-- Testing -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.10</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.easymock</groupId>
                <artifactId>easymock</artifactId>
                <version>3.1</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12.4</version>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>run</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.ops4j</groupId>
                        <artifactId>maven-pax-plugin</artifactId>
                        <version>1.4</version>
                        <configuration>
                            <runner>1.8.6</runner>
                            <deployPoms>
                                modules/dm4-provision/3rd-party-bundles/pom.xml,
                                modules/dm4-provision/felix-bundles/pom.xml
                            </deployPoms>
                        </configuration>
                    </plugin>
                    <!-- Deletes OSGi container configuration as created by Pax Runner -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-clean-plugin</artifactId>
                        <version>2.4.1</version>
                        <configuration>
                            <filesets>
                                <fileset>
                                    <directory>runner</directory>
                                </fileset>
                            </filesets>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>all</id>
            <modules>
                <module>modules/dm4-core</module>
                <module>modules/dm4-webservice</module>
                <module>modules/dm4-webclient</module>
                <module>modules/dm4-webbrowser</module>
                <module>modules/dm4-notes</module>
                <module>modules/dm4-contacts</module>
                <module>modules/dm4-events</module>
                <module>modules/dm4-datetime</module>
                <module>modules/dm4-workspaces</module>
                <module>modules/dm4-typeeditor</module>
                <module>modules/dm4-iconpicker</module>
                <module>modules/dm4-typesearch</module>
                <module>modules/dm4-topicmaps</module>
                <module>modules/dm4-files</module>
                <module>modules/dm4-filemanager</module>
                <module>modules/dm4-help</module>
                <module>modules/dm4-accesscontrol</module>
                <module>modules/dm4-facets</module>
                <module>modules/dm4-geomaps</module>
                <module>modules/dm4-time</module>
                <module>modules/dm4-caching</module>
                <module>modules/dm4-config</module>
                <module>modules/dm4-storage-neo4j</module>
                <module>modules/dm4-box-renderer-dom</module>
                <!-- Testing -->
                <module>modules/dm4-test</module>
                <!-- POM projects follow -->
                <!-- Note: modules/dm4-distribution is not included here.              -->
                <!-- We don't want to build the distribution with every reactor build. -->
                <!-- To build the distribution use "mvn clean install -P dist".        -->
                <module>modules/dm4-module</module>
                <module>modules/dm4-plugin</module>
                <module>modules/dm4-provision</module>
            </modules>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.8.1</version>
                        <configuration>
                            <show>private</show>
                            <linksource>true</linksource>
                            <links>
                                <link>http://jersey.java.net/nonav/apidocs/1.8/jersey/</link>
                                <link>http://jettison.codehaus.org/apidocs/</link> <!-- version 1.2 -->
                                <link>http://www.osgi.org/javadoc/r4v401/</link>
                            </links>
                            <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
                            <docletArtifact>
                                <groupId>org.umlgraph</groupId>
                                <artifactId>umlgraph</artifactId>
                                <version>5.6</version>
                            </docletArtifact>
                            <additionalparam>
                                -collapsible -hide java.* -hide org.* -inferdepvis public -inferrel
                            </additionalparam>
                            <useStandardDocletOptions>true</useStandardDocletOptions>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>dist</id>
            <modules>
                <module>modules/dm4-distribution</module>
                <module>modules/dm4-features</module>
            </modules>
        </profile>

        <profile>
            <id>release</id>
            <modules>
                <module>modules/dm4-core</module>
                <module>modules/dm4-webservice</module>
                <module>modules/dm4-webclient</module>
                <module>modules/dm4-webbrowser</module>
                <module>modules/dm4-notes</module>
                <module>modules/dm4-contacts</module>
                <module>modules/dm4-events</module>
                <module>modules/dm4-datetime</module>
                <module>modules/dm4-workspaces</module>
                <module>modules/dm4-typeeditor</module>
                <module>modules/dm4-iconpicker</module>
                <module>modules/dm4-typesearch</module>
                <module>modules/dm4-topicmaps</module>
                <module>modules/dm4-files</module>
                <module>modules/dm4-filemanager</module>
                <module>modules/dm4-help</module>
                <module>modules/dm4-accesscontrol</module>
                <module>modules/dm4-facets</module>
                <module>modules/dm4-geomaps</module>
                <module>modules/dm4-time</module>
                <module>modules/dm4-caching</module>
                <module>modules/dm4-config</module>
                <module>modules/dm4-storage-neo4j</module>
                <module>modules/dm4-box-renderer-dom</module>
                <!-- Testing -->
                <module>modules/dm4-test</module>
                <!-- POM projects -->
                <module>modules/dm4-module</module>
                <module>modules/dm4-plugin</module>
                <module>modules/dm4-provision</module>
                <module>modules/dm4-distribution</module>
                <module>modules/dm4-features</module>
            </modules>
            <distributionManagement>
                <snapshotRepository>
                    <id>ossrh</id>
                    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
                </snapshotRepository>
            </distributionManagement>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version>1.6.5</version>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>true</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>2.2.1</version>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.9.1</version>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.5</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>neo4j</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>exec-maven-plugin</artifactId>
                        <version>1.2</version>
                        <goals>
                            <goal>java</goal>
                        </goals>
                        <configuration>
                            <includePluginDependencies>true</includePluginDependencies>
                            <mainClass>org.neo4j.shell.StartClient</mainClass>
                            <arguments>
                                <argument>-path</argument>
                                <argument>${dm4.database.path}</argument>
                                <argument>-readonly</argument>
                                <argument>-v</argument>
                            </arguments>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
            <dependencies>
                <dependency>
                    <groupId>org.neo4j</groupId>
                    <artifactId>neo4j-shell</artifactId>
                    <version>1.8.1</version>
                </dependency>
                <dependency>
                    <groupId>org.neo4j</groupId>
                    <artifactId>neo4j-kernel</artifactId>
                    <version>1.8.1</version>
                </dependency>
            </dependencies>
        </profile>
    </profiles>
</project>
