<?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/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.marmotta</groupId>
        <artifactId>marmotta-parent</artifactId>
        <version>3.3.0-SNAPSHOT</version>
        <relativePath>../../parent</relativePath>
    </parent>

    <artifactId>marmotta-webapp</artifactId>
    <packaging>war</packaging>

    <name>Apache Marmotta Web Application</name>
    <description>Web Application bundle (WAR file) containing Apache Marmotta</description>

    <properties>
        <marmotta.home>${java.io.tmpdir}${file.separator}marmotta</marmotta.home>
        <marmotta.context>/</marmotta.context>
        <marmotta.port>8080</marmotta.port>
        <marmotta.backend>kiwi</marmotta.backend>
    </properties>

    <build>
        <finalName>marmotta</finalName>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.3</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                            </manifest>
                        </archive>
                        <archiveClasses>false</archiveClasses>
                    </configuration>
                </plugin>
                <plugin> <!-- generate JRebel Configuration -->
                    <groupId>org.zeroturnaround</groupId>
                    <artifactId>jrebel-maven-plugin</artifactId>
                    <configuration>
                        <relativePath>../../</relativePath>
                        <rootPath>${rebel.root}</rootPath>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </plugin>
                 <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <contextFile>src/main/webapp/META-INF/context.xml</contextFile>
                        <path>${marmotta.context}</path>
                        <port>${marmotta.port}</port>
                        <systemProperties>
                            <marmotta.home>${marmotta.home}</marmotta.home>
                        </systemProperties>
                        <!-- <contextReloadable>true</contextReloadable> -->
                        <!-- <backgroundProcessorDelay>10</backgroundProcessorDelay> -->
                    </configuration>
                </plugin>
             </plugins>
        </pluginManagement>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.jasig.maven</groupId>
                <artifactId>maven-notice-plugin</artifactId>
                <version>1.0.4</version>
                <configuration>
                    <noticeTemplate>NOTICE.template</noticeTemplate>
                    <licenseMapping>
                        <param>../../license-mappings.xml</param>
                    </licenseMapping>
                    <noticeMessage>* {0}, under {1}</noticeMessage>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>jdeb</artifactId>
                <groupId>org.vafer</groupId>
                <version>1.1.1</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jdeb</goal>
                        </goals>
                        <configuration>
                            <signPackage>true</signPackage>
                            <verbose>false</verbose>
                            <deb>${project.build.directory}/${project.build.finalName}_[[version]]_all.deb</deb>
                            <changesOut>${project.build.directory}/${project.build.finalName}_[[version]]_all.changes</changesOut>
                            <classifier>all</classifier>
                            <snapshotExpand>true</snapshotExpand>
                            <snapshotEnv>maven.build.timestamp</snapshotEnv>
                            <controlDir>${basedir}/src/deb/control</controlDir>
                            <dataSet>
                                <data>
                                    <src>${basedir}/src/deb/pkg</src>
                                    <type>directory</type>
                                    <mapper>
                                        <type>perm</type>
                                        <prefix>usr/share/doc/marmotta</prefix>
                                        <user>root</user>
                                        <group>root</group>
                                    </mapper>
                                </data>
                                <data>
                                    <src>${basedir}/src/deb/home</src>
                                    <type>directory</type>
                                    <mapper>
                                        <type>perm</type>
                                        <prefix>var/lib/marmotta</prefix>
                                        <user>tomcat7</user>
                                        <group>tomcat7</group>
                                    </mapper>
                                </data>
                                <data>
                                    <src>${project.build.directory}/${project.build.finalName}.war</src>
                                    <type>file</type>
                                    <mapper>
                                        <type>perm</type>
                                        <prefix>usr/share/marmotta</prefix>
                                        <user>tomcat7</user>
                                        <group>tomcat7</group>
                                    </mapper>
                                </data>
                                <data>
                                    <src>${basedir}/src/deb/tomcat/marmotta.xml</src>
                                    <type>file</type>
                                    <mapper>
                                        <type>perm</type>
                                        <prefix>var/lib/tomcat7/conf/Catalina/localhost</prefix>
                                        <user>tomcat7</user>
                                        <group>tomcat7</group>
                                    </mapper>
                                </data>
                            </dataSet>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <configuration>
                    <excludes>
                        <!-- Simple placeholder -->
                        <exclude>src/deb/home/marmotta.txt</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>

        <!-- backend profiles -->
        
        <profile>
            <id>kiwi</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                <property>
                    <name>marmotta.backend</name>
                    <value>kiwi</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>marmotta-backend-kiwi</artifactId>
                    <version>${project.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>marmotta-ldcache-kiwi</artifactId>
                    <version>${project.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>marmotta-reasoner-kiwi</artifactId>
                    <version>${project.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>marmotta-versioning-kiwi</artifactId>
                    <version>${project.version}</version>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>titan-berkeleydb</id>
            <activation>
                <property>
                    <name>marmotta.backend</name>
                    <value>titan-berkeleydb</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>marmotta-backend-titan</artifactId>
                    <version>${project.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>marmotta-ldcache-file</artifactId>
                    <version>${project.version}</version>
                </dependency>
                <dependency>
                    <groupId>com.thinkaurelius.titan</groupId>
                    <artifactId>titan-berkeleyje</artifactId>
                    <version>${titan.version}</version>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>titan-hbase</id>
            <activation>
                <property>
                    <name>marmotta.backend</name>
                    <value>titan-hbase</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>marmotta-backend-titan</artifactId>
                    <version>${project.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>marmotta-ldcache-file</artifactId>
                    <version>${project.version}</version>
                </dependency>
                <dependency>
                    <groupId>com.thinkaurelius.titan</groupId>
                    <artifactId>titan-hbase</artifactId>
                    <version>${titan.version}</version>
                    <exclusions>
                        <exclusion>
                            <groupId>org.mortbay.jetty</groupId>
                            <artifactId>servlet-api</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.mortbay.jetty</groupId>
                            <artifactId>servlet-api-2.5</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.mortbay.jetty</groupId>
                            <artifactId>jsp-2.1</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.mortbay.jetty</groupId>
                            <artifactId>jsp-api-2.1</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>log4j</groupId>
                            <artifactId>log4j</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-log4j12</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>bigdata</id>
            <activation>
                <property>
                    <name>marmotta.backend</name>
                    <value>bigdata</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>marmotta-backend-bigdata</artifactId>
                    <version>${project.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>marmotta-ldcache-file</artifactId>
                    <version>${project.version}</version>
                </dependency>
            </dependencies>
        </profile>


        <!-- Caching Backends for KiWi -->

        <profile>
            <id>infinispan</id>
            <activation>
                <property>
                    <name>marmotta.caching</name>
                    <value>infinispan</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>kiwi-caching-infinispan</artifactId>
                    <version>${project.version}</version>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>hazelcast</id>
            <activation>
                <property>
                    <name>marmotta.caching</name>
                    <value>hazelcast</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>kiwi-caching-hazelcast</artifactId>
                    <version>${project.version}</version>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>ehcache</id>
            <activation>
                <property>
                    <name>marmotta.caching</name>
                    <value>ehcache</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>kiwi-caching-ehcache</artifactId>
                    <version>${project.version}</version>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>zookeeper</id>
            <dependencies>
                <dependency>
                    <groupId>org.apache.marmotta</groupId>
                    <artifactId>marmotta-zookeeper</artifactId>
                    <version>${project.version}</version>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>cleanall</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-clean-plugin</artifactId>
                        <version>2.5</version>
                        <configuration>
                            <filesets>
                                <fileset>
                                    <directory>${marmotta.home}</directory>
                                    <followSymlinks>true</followSymlinks>
                                </fileset>
                            </filesets>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>marmotta-release</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <phase>package</phase>
                                <configuration>
                                    <descriptors>
                                        <descriptor>assembly.xml</descriptor>
                                    </descriptors>
                                    <finalName>apache-marmotta-${project.version}</finalName>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>installer</id>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <!-- The marmotta-installer requires the war to be installed in the local repo -->
                            <artifactId>maven-install-plugin</artifactId>
                            <configuration>
                                <skip>false</skip>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
    </profiles>

    <dependencies>
        <!-- Marmotta Modules, include the ones needed by the application -->
        <dependency>
            <groupId>org.apache.marmotta</groupId>
            <artifactId>marmotta-core</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.marmotta</groupId>
            <artifactId>marmotta-ldp</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.marmotta</groupId>
            <artifactId>marmotta-sparql</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.marmotta</groupId>
            <artifactId>marmotta-ldpath</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.marmotta</groupId>
            <artifactId>marmotta-ldcache-common</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.marmotta</groupId>
            <artifactId>marmotta-versioning-common</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.marmotta</groupId>
            <artifactId>marmotta-user</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.marmotta</groupId>
            <artifactId>marmotta-security</artifactId>
            <version>${project.version}</version>
        </dependency>

        <!-- JavaEE / Servlet / CDI Environment -->
        <dependency>
            <groupId>javax.el</groupId>
            <artifactId>javax.el-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.weld.servlet</groupId>
            <artifactId>weld-servlet-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.weld</groupId>
            <artifactId>weld-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
        </dependency>
        <dependency>
            <groupId>com.thetransactioncompany</groupId>
            <artifactId>cors-filter</artifactId>
        </dependency>

    </dependencies>

</project>
