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

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.james</groupId>
        <artifactId>james-server</artifactId>
        <version>3.0.0</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <artifactId>james-server-app</artifactId>
    <packaging>bundle</packaging>

    <name>Apache James :: Server :: App</name>
    <description>An advanced email server</description>

    <properties>

        <!-- For more details see -->
        <!-- http://java.sun.com/products/javamail/javadocs/javax/mail/internet/package-summary.html -->
        <javamail.system-property1>-Dmail.mime.multipart.ignoremissingendboundary=true</javamail.system-property1>
        <javamail.system-property2>-Dmail.mime.multipart.ignoremissingboundaryparameter=true</javamail.system-property2>
        <javamail.system-property3>-Dmail.mime.ignoreunknownencoding=true</javamail.system-property3>
        <javamail.system-property4>-Dmail.mime.uudecode.ignoreerrors=true</javamail.system-property4>
        <javamail.system-property5>-Dmail.mime.uudecode.ignoremissingbeginend=true</javamail.system-property5>
        <javamail.system-property6>-Dmail.mime.multipart.allowempty=true</javamail.system-property6>
        <javamail.system-property7>-Dmail.mime.base64.ignoreerrors=true</javamail.system-property7>
        <javamail.system-property8>-Dmail.mime.encodeparameters=true</javamail.system-property8>
        <javamail.system-property9>-Dmail.mime.decodeparameters=true</javamail.system-property9>
        <javamail.system-property10>-Dmail.mime.address.strict=false</javamail.system-property10>
        <javamail.system-properties>${javamail.system-property1} ${javamail.system-property2}
            ${javamail.system-property3} ${javamail.system-property4} ${javamail.system-property5}
            ${javamail.system-property6} ${javamail.system-property7} ${javamail.system-property8}
            ${javamail.system-property9} ${javamail.system-property10}
        </javamail.system-properties>

        <!-- JMX system properties -->
        <!-- For more details see -->
        <!-- http://download.oracle.com/javase/1.5.0/docs/guide/management/agent.html -->
        <jmx.system-property1>-Dcom.sun.management.jmxremote=true</jmx.system-property1>
        <jmx.system-property2>-Dcom.sun.management.jmxremote.authenticate=false</jmx.system-property2>
        <jmx.system-properties>${jmx.system-property1} ${jmx.system-property2}</jmx.system-properties>

        <jvm.system-property1>-XX:+HeapDumpOnOutOfMemoryError</jvm.system-property1>

        <!-- Use filesystem to copy message by default -->
        <james.system-property1>-Djames.message.usememorycopy=false</james.system-property1>
        <james.system-properties>${james.system-property1}</james.system-properties>
        <!-- this name is used for James's folders on Debian systems and james user -->
        <james.debian.user>apache-james</james.debian.user>

    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-cli</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-core</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>metrics-logger</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-data-api</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-dnsservice-library</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-filesystem-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-lifecycle-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-mailetcontainer-api</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-queue-api</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-spring</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.osgi</groupId>
                    <artifactId>spring-osgi-extender</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.osgi</groupId>
                    <artifactId>org.osgi.core</artifactId>
                </exclusion>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- Runtime dependencies which will get included in the generated binary distribution -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>commons-daemon</groupId>
            <artifactId>commons-daemon</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-core</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>tools</artifactId>
                    <groupId>com.sun</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-spring</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>tools</artifactId>
                    <groupId>com.sun</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.xbean</groupId>
            <artifactId>xbean-spring</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jms</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-mailetcontainer-camel</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-mailbox-adapter</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-dnsservice-api</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-dnsservice-dnsjava</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>metrics-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>metrics-dropwizard</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-protocols-library</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-util</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-data-library</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-data-ldap</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-protocols-smtp</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-protocols-imap4</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-protocols-lmtp</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-protocols-managesieve</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-protocols-pop3</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james.protocols</groupId>
            <artifactId>protocols-managesieve</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-fetchmail</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-queue-file</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-queue-jms</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-queue-activemq</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-mailets</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- Comment jackrabbit dependency to avoid lucene version clash with mailbox-lucene (JAMES-1297)
            <dependency>
            <groupId>org.apache.jackrabbit</groupId>
            <artifactId>jackrabbit-core</artifactId>
            <scope>runtime</scope>
            <exclusions>
            <exclusion>
            <groupId>jdom</groupId>
            <artifactId>jdom</artifactId>
            </exclusion>
            </exclusions>
            </dependency>
        -->
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>apache-james-mailbox-jpa</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>apache-james-mailbox-spring</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>hbase</artifactId>
                    <groupId>org.apache.hbase</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>hadoop-core</artifactId>
                    <groupId>org.apache.hadoop</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>apache-james-mailbox-jcr</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>apache-james-mailbox-memory</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-data-file</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-data-jpa</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-data-jdbc</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-data-hbase</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.jruby</groupId>
                    <artifactId>jruby-complete</artifactId>
                </exclusion>
                <exclusion>
                    <artifactId>hsqldb</artifactId>
                    <groupId>hsqldb</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>hbase</artifactId>
                    <groupId>org.apache.hbase</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>hadoop-core</artifactId>
                    <groupId>org.apache.hadoop</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>james-server-data-jcr</artifactId>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <artifactId>mail</artifactId>
                    <groupId>javax.mail</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.james.protocols</groupId>
            <artifactId>protocols-imap</artifactId>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
            </plugin>
        </plugins>
    </build>

    <profiles>
	<profile>
            <id>build-for-jdk-8</id>
            <activation>
                <jdk>[1.8,)</jdk>
            </activation>
	    <dependencies>
	        <dependency>
		    <groupId>org.apache.james</groupId>
		    <artifactId>apache-james-mailbox-elasticsearch</artifactId>
		    <scope>runtime</scope>
		    <exclusions>
                        <exclusion>
			    <artifactId>mail</artifactId>
			    <groupId>javax.mail</groupId>
			</exclusion>
		    </exclusions>
		</dependency>
		<dependency>
		    <groupId>org.apache.james</groupId>
		    <artifactId>apache-james-mailbox-tika</artifactId>
		    <scope>runtime</scope>
		    <exclusions>
                        <exclusion>
			  <artifactId>mail</artifactId>
			  <groupId>javax.mail</groupId>
			</exclusion>
		    </exclusions>
		</dependency>
	    </dependencies>
        </profile>
        <profile>
            <id>cassandra</id>
            <properties>
                <james.system-property2>-Dspring.profiles.active=cassandra</james.system-property2>
                <james.system-properties>${james.system-property1} ${james.system-property2}</james.system-properties>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.apache.james</groupId>
                    <artifactId>apache-james-mailbox-cassandra</artifactId>
                    <scope>runtime</scope>
                    <exclusions>
                        <exclusion>
                            <artifactId>mail</artifactId>
                            <groupId>javax.mail</groupId>
                        </exclusion>
                    </exclusions>
                </dependency>
                <dependency>
                    <groupId>org.apache.james</groupId>
                    <artifactId>james-server-data-cassandra</artifactId>
                    <scope>runtime</scope>
                </dependency>
                <dependency>
                    <groupId>org.apache.james</groupId>
                    <artifactId>apache-james-backends-cassandra</artifactId>
                    <scope>runtime</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>kafka</id>
            <dependencies>
                <dependency>
                    <groupId>org.apache.james</groupId>
                    <artifactId>apache-james-mailbox-kafka</artifactId>
                    <scope>runtime</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>lucene</id>
            <activation>
              <activeByDefault>true</activeByDefault>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.apache.james</groupId>
                    <artifactId>apache-james-mailbox-lucene</artifactId>
                    <scope>runtime</scope>
                    <exclusions>
                        <exclusion>
                            <artifactId>mail</artifactId>
                            <groupId>javax.mail</groupId>
                        </exclusion>
                    </exclusions>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>exclude-lucene</id>
            <dependencies>
                <dependency>
                    <groupId>org.apache.james</groupId>
                    <artifactId>apache-james-mailbox-lucene</artifactId>
                    <scope>runtime</scope>
                    <exclusions>
                        <exclusion>
                            <artifactId>mail</artifactId>
                            <groupId>javax.mail</groupId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.apache.lucene</groupId>
                            <artifactId>lucene-core</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.apache.lucene</groupId>
                            <artifactId>lucene-analyzers</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.apache.lucene</groupId>
                            <artifactId>lucene-smartcn</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>with-assembly</id>
            <activation>
              <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>appassembler-maven-plugin</artifactId>
                        <version>1.10</version>
                        <configuration>
                            <!-- Include etc/ in the beginning of the classpath declaration in the bin scripts -->
                            <includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
                            <configurationDirectory>conf</configurationDirectory>
                            <target>${project.build.directory}/appassembler</target>
                            <repositoryLayout>flat</repositoryLayout>
                            <repositoryName>lib</repositoryName>
                            <includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
                            <environmentSetupFileName>setenv</environmentSetupFileName>
                            <!-- set some sane defaults for memory -->
                            <extraJvmArguments>${jvm.system-property1} -Xms128m -Xmx512m ${jmx.system-properties}
                                ${javamail.system-properties} ${james.system-properties}
                            </extraJvmArguments>
                            <!-- Generate bin scripts for windows and unix per default -->
                            <platforms>
                                <platform>windows</platform>
                                <platform>unix</platform>
                            </platforms>
                            <!-- use .sh on unix instead of .bin -->
                            <binFileExtensions>
                                <unix>.sh</unix>
                            </binFileExtensions>
                            <!-- use *.jar instead of every single jar file in classpath -->
                            <useWildcardClassPath>true</useWildcardClassPath>
                            <repositoryLayout>flat</repositoryLayout>
                            <programs>
                                <program>
                                    <mainClass>org.apache.james.app.spring.JamesAppSpringMain</mainClass>
                                    <!-- call it only "run" because appassemble will add the extension -->
                                    <name>run</name>
                                    <!-- Only generate windows bat script and unix sh for this application -->
                                    <platforms>
                                        <platform>windows</platform>
                                        <platform>unix</platform>
                                    </platforms>
                                </program>

                                <!-- This create the scripts for the command line administration client. Maybe this should better be moved to the cli module, but I'm not sure yet -->
                                <program>
                                    <mainClass>org.apache.james.cli.ServerCmd</mainClass>
                                    <!-- call it only "james-cli" because appassemble will add the extension -->
                                    <name>james-cli</name>
                                    <!-- Only generate windows bat script and unix sh for this application -->
                                    <platforms>
                                        <platform>windows</platform>
                                        <platform>unix</platform>
                                    </platforms>
                                </program>
                            </programs>
                            <daemons>
                                <daemon>
                                    <id>james</id>
                                    <mainClass>org.apache.james.app.spring.JamesAppSpringMain</mainClass>
                                    <commandLineArguments>
                                        <commandLineArgument>start</commandLineArgument>
                                    </commandLineArguments>
                                    <platforms>
                                        <!--
                                            =======================================================================

                                            JSW relies on software licensed under the following "Tanuki Software License"

                                            BEGIN Tanuki Software License =========================================
                                            Copyright (c) 1999, 2006 Tanuki Software, Inc.

                                            Permission is hereby granted, free of charge, to any person
                                            obtaining a copy of the Java Service Wrapper and associated
                                            documentation files (the "Software"), to deal in the Software
                                            without restriction, including without limitation the rights
                                            to use, copy, modify, merge, publish, distribute, sub-license,
                                            and/or sell copies of the Software, and to permit persons to
                                            whom the Software is furnished to do so, subject to the
                                            following conditions:

                                            The above copyright notice and this permission notice shall be
                                            included in all copies or substantial portions of the Software.

                                            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
                                            EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
                                            OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
                                            NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
                                            HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
                                            WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
                                            FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
                                            OTHER DEALINGS IN THE SOFTWARE.


                                            Portions of the Software have been derived from source code
                                            developed by Silver Egg Technology under the following license:

                                            BEGIN Silver Egg Techology License =================================

                                            Copyright (c) 2001 Silver Egg Technology

                                            Permission is hereby granted, free of charge, to any person
                                            obtaining a copy of this software and associated documentation
                                            files (the "Software"), to deal in the Software without
                                            restriction, including without limitation the rights to use,
                                            copy, modify, merge, publish, distribute, sub-license, and/or
                                            sell copies of the Software, and to permit persons to whom the
                                            Software is furnished to do so, subject to the following
                                            conditions:

                                            The above copyright notice and this permission notice shall be
                                            included in all copies or substantial portions of the Software.

                                            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
                                            EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
                                            OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
                                            NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
                                            HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
                                            WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
                                            FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
                                            OTHER DEALINGS IN THE SOFTWARE.

                                            END Silver Egg Techology License =====================================
                                            END Tanuki Software License ============================================
                                            ========================================================================
                                        -->
                                        <platform>jsw</platform>
                                    </platforms>
                                    <generatorConfigurations>
                                        <generatorConfiguration>

                                            <generator>jsw</generator>
                                            <includes>
                                                <include>linux-x86-32</include>
                                                <include>linux-x86-64</include>
                                                <include>linux-ppc-64</include>
                                                <include>macosx-x86-universal-32</include>
                                                <include>macosx-ppc-32</include>
                                                <include>solaris-sparc-32</include>
                                                <include>solaris-sparc-64</include>
                                                <include>solaris-x86-32</include>
                                                <include>windows-x86-32</include>
                                                <include>windows-x86-64</include>
                                            </includes>

                                            <configuration>
                                                <!-- add to to the classpath in this order: config files, james jars, user jars.-->
                                                <property>
                                                    <name>configuration.directory.in.classpath.first</name>
                                                    <value>../conf</value>
                                                </property>
                                                <property>
                                                    <name>configuration.directory.in.classpath.last</name>
                                                    <value>../conf/lib/*</value>
                                                </property>
                                                <property>
                                                    <name>set.default.REPO_DIR</name>
                                                    <value>../lib</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.working.dir</name>
                                                    <value>.</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.logfile</name>
                                                    <value>../log/wrapper.log</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.library.path</name>
                                                    <value>../lib</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.initmemory</name>
                                                    <value>128</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.maxmemory</name>
                                                    <value>512</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.1</name>
                                                    <value>${jvm.system-property1}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.2</name>
                                                    <value>${jmx.system-property1}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.3</name>
                                                    <value>${jmx.system-property2}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.4</name>
                                                    <value>${javamail.system-property1}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.5</name>
                                                    <value>${javamail.system-property2}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.6</name>
                                                    <value>${javamail.system-property3}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.7</name>
                                                    <value>${javamail.system-property4}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.8</name>
                                                    <value>${javamail.system-property5}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.9</name>
                                                    <value>${javamail.system-property6}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.10</name>
                                                    <value>${javamail.system-property7}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.11</name>
                                                    <value>${javamail.system-property8}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.12</name>
                                                    <value>${javamail.system-property9}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.13</name>
                                                    <value>${javamail.system-property10}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.14</name>
                                                    <value>${james.system-property1}</value>
                                                </property>
                                                <property>
                                                    <name>wrapper.java.additional.15</name>
                                                    <value>${james.system-property2}</value>
                                                </property>
                                            </configuration>
                                        </generatorConfiguration>
                                    </generatorConfigurations>

                                </daemon>
                            </daemons>
                        </configuration>
                        <executions>
                            <execution>
                                <id>make-appassemble</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>assemble</goal>
                                    <goal>generate-daemons</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <version>1.2</version>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <configuration>

                                    <tasks>
                                        <!-- this is only needed because windows freak out on long cmd lines, so we strip of the absolute path
                                            from the lib dir to make windows happy again
                                        -->
                                        <replace file="${project.build.directory}/appassembler/bin/run.bat" token="%BASEDIR%\lib" value="..\lib" />
                                        <replace file="${project.build.directory}/appassembler/bin/run.sh" token="setenv" value="setenv.sh" />

                                        <!-- this is needed because appassembler is not really smart on some settings -->
                                        <replace file="${project.build.directory}/appassembler/jsw/james/conf/wrapper.conf" token="lib/wrapper.jar" value="%REPO_DIR%/wrapper.jar" />
                                        <replace file="${project.build.directory}/appassembler/jsw/james/bin/james" token="logs" value="var" />

                                        <!-- copy the linux wrapper-linux-x86-32 to wrapper, so use it as default if no matching wrapper was found -->
                                        <copy file="${project.build.directory}/appassembler/jsw/james/bin/wrapper-linux-x86-32" tofile="${project.build.directory}/appassembler/jsw/james/bin/wrapper" />
                                        <!-- this is only needed because windows freak out on long cmd lines, so we strip of the absolute path
                                            from the lib dir to make windows happy again
                                        -->
                                        <replace file="${project.build.directory}/appassembler/bin/james-cli.bat" token="%BASEDIR%\lib" value="..\lib" />
                                        <replace file="${project.build.directory}/appassembler/bin/james-cli.sh" token="setenv" value="setenv.sh" />
                                    </tasks>

                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <configuration>
                            <descriptorSourceDirectory>src/assemble/</descriptorSourceDirectory>
                            <tarLongFileMode>gnu</tarLongFileMode>
                        </configuration>
                        <executions>
                            <execution>
                                <id>make-assembly</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>attached</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <!--
                    The signing process excludes the artifact created by this plugin.
                    The cause seems likely to be project type pom (not war).
                    If this is the case then releasing the war would require
                    reorganisation.
                    -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-war-plugin</artifactId>
                        <configuration>
                            <webResources>
                                <resource>
                                    <directory>src/main/resources</directory>
                                    <!-- override the destination directory for this resource -->
                                    <targetPath>WEB-INF/conf/</targetPath>
                                    <excludes>
                                        <exclude>log4j.properties</exclude>
                                        <exclude>**/lib/**</exclude>
                                    </excludes>
                                </resource>
                                <resource>
                                    <directory>src/main/resources</directory>
                                    <!-- override the destination directory for this resource -->
                                    <targetPath>WEB-INF/classes/</targetPath>
                                    <includes>
                                        <include>log4j.properties</include>
                                    </includes>
                                </resource>
                                <resource>
                                    <directory>src/main/config/war</directory>
                                    <!-- override the destination directory for this resource -->
                                    <targetPath>WEB-INF/conf/</targetPath>

                                </resource>
                                <resource>
                                    <directory>src/main/licensing/war</directory>
                                    <targetPath>META-INF</targetPath>
                                    <excludes>
                                        <exclude>licensing.xml</exclude>
                                    </excludes>
                                </resource>
                                <resource>
                                    <directory>../container/spring/src/main/resources/META-INF</directory>
                                    <targetPath>WEB-INF/conf/META-INF</targetPath>
                                    <includes>
                                        <include>**/*.xml</include>
                                    </includes>
                                </resource>
                                <resource>
                                    <directory>.</directory>
                                    <targetPath>META-INF</targetPath>
                                    <includes>
                                        <include>README*</include>
                                    </includes>
                                </resource>
                            </webResources>
                        </configuration>
                        <executions>
                            <execution>
                                <id>make-war</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>war</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>with-mpt</id>
            <build>
                <plugins>
                    <!-- be sure to start up james before run it -->
                    <plugin>
                        <groupId>org.apache.james</groupId>
                        <artifactId>maven-mpt-plugin</artifactId>
                        <version>0.2-SNAPSHOT</version>
                        <configuration>
                            <mailProtocolTests>
                                <mailProtocolTest>
                                    <host>127.0.0.1</host>
                                    <port>110</port>
                                    <scriptFile>src/mpt/pop3.mpt</scriptFile>
                                    <addUsers>
                                        <addUser>
                                            <host>127.0.0.1</host>
                                            <port>4555</port>
                                            <scriptFile>src/mpt/adduser.mpt</scriptFile>
                                            <user>root</user>
                                            <passwd>root</passwd>
                                        </addUser>
                                    </addUsers>
                                </mailProtocolTest>
                                <mailProtocolTest>
                                    <host>127.0.0.1</host>
                                    <port>143</port>
                                    <scriptFile>src/mpt/imap.mpt</scriptFile>
                                    <addUsers>
                                        <addUser>
                                            <host>127.0.0.1</host>
                                            <port>4555</port>
                                            <scriptFile>src/mpt/adduser.mpt</scriptFile>
                                            <user>root</user>
                                            <passwd>root</passwd>
                                        </addUser>
                                    </addUsers>
                                </mailProtocolTest>
                                <mailProtocolTest>
                                    <host>127.0.0.1</host>
                                    <port>25</port>
                                    <scriptFile>src/mpt/smtp.mpt</scriptFile>
                                    <addUsers>
                                        <addUser>
                                            <host>127.0.0.1</host>
                                            <port>4555</port>
                                            <scriptFile>src/mpt/adduser.mpt</scriptFile>
                                            <user>root</user>
                                            <passwd>root</passwd>
                                        </addUser>
                                    </addUsers>
                                </mailProtocolTest>
                            </mailProtocolTests>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>with-jetm</id>
            <activation>
                <!-- remember to comment out the jetm-monitoring import line from spring-server.xml if you de-activate this
                -->
                <activeByDefault>true</activeByDefault>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>fm.void.jetm</groupId>
                    <artifactId>jetm</artifactId>
                    <version>1.2.3</version>
                </dependency>
                <dependency>
                    <groupId>fm.void.jetm</groupId>
                    <artifactId>jetm-optional</artifactId>
                    <version>1.2.3</version>
                </dependency>
            </dependencies>
        </profile>
    </profiles>

</project>
