<?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.2.0</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>
    </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>
