<?xml version="1.0" encoding="UTF-8"?>

<!--

  Copyright 2003 - 2010 The eFaps Team

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

  Author:          The eFaps Team
  Revision:        $Rev: 8023 $
  Last Changed:    $Date: 2012-10-09 18:36:18 -0500 (Tue, 09 Oct 2012) $
  Last Changed By: $Author: jan@moxter.net $

-->

<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.efaps</groupId>
        <artifactId>efaps-parent</artifactId>
        <version>2.1.0</version>
    </parent>

    <!-- ************************************************************************
    * Module Definition
    ************************************************************************* -->
    <packaging>jar</packaging>
    <artifactId>efaps-kernel</artifactId>
  <version>2.1.1</version>

    <description>eFaps is a framework used to map objects with or without attached files to
a relational database and optional file systems (only for attaches files). Configurable access control can be provided down to object and attribute level depending on implementation and use case. Depending on requirements, events (like triggers) allow to implement business logic and to separate business logic from user interface.
The framework includes integrations (e.g. webdav, full text search) and a web application as 'simple' configurable user interface. Some best practises, example web application modules (e.g. team work module) support administrators and implementers using this framework.
    </description>
    <name>eFaps Kernel</name>
    <url>http://maven-efaps-plugin.efaps.org</url>
    <licenses>
        <license>
            <name>Apache 2.0 License</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <developers>
        <developer>
            <id>tim.moxter</id>
            <name>Tim Moxter</name>
            <email>tim.moxter(ad)efaps.org</email>
            <url>www.efaps.org</url>
            <organization>moxter.net Ltd. &amp; Co.KG</organization>
            <organizationUrl>http://www.moxter.net/de/</organizationUrl>
            <timezone>+1</timezone>
            <properties />
        </developer>
        <developer>
            <id>jan.moxter</id>
            <name>Jan Moxter</name>
            <email>jan.moxter(ad)efaps.org</email>
            <url>www.efaps.org</url>
            <organization>moxter.net S.A.C, Peru</organization>
            <organizationUrl>http://www.moxter.net/pe/</organizationUrl>
            <timezone>-5</timezone>
            <properties />
        </developer>
    </developers>
    <inceptionYear>2003</inceptionYear>
    <organization>
        <name>The eFaps Team</name>
        <url>http://www.efaps.org</url>
    </organization>

    <!-- Environment Settings -->
    <issueManagement>
        <system>eFaps Issues on Google Code</system>
        <url>http://issues.efaps.org</url>
    </issueManagement>

    <!-- SubVersion Repository -->
    <scm>
        <connection>scm:svn:http://efaps.googlecode.com/svn/eFaps-kernel/tags/V2.1.1</connection>
        <developerConnection>scm:svn:https://efaps.googlecode.com/svn/eFaps-kernel/tags/V2.1.1</developerConnection>
        <url>http://efaps.googlecode.com/svn/eFaps-kernel/tags/V2.1.1</url>
    </scm>

    <!-- Distribution Repository -->
    <distributionManagement>
        <site>
            <id>efaps.googlecode.com</id>
            <name>Maven eFaps Plug-In Site</name>
            <url>svn:https://efaps.googlecode.com/svn/site/eFaps-Kernel</url>
        </site>
        <snapshotRepository>
            <id>sonatype-nexus-snapshots</id>
            <name>Sonatype Nexus Snapshots</name>
            <url>http://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>sonatype-nexus-staging</id>
            <name>Nexus Release Repository</name>
            <url>http://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>

    <!-- ************************************************************************
    * Project itself
    ************************************************************************* -->
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven.surefire.version}</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>${basedir}/src/test/resources/testng.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
            <!--
                JavaCC Settings:
                - Target package must be set
                - goal 'javacc' must be called in phase 'process-resources'
            -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>javacc-maven-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>javacc</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <configuration>
                    <reportPlugins>
                        <!-- JavaCC reporting -->
                        <plugin>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>javacc-maven-plugin</artifactId>
                        </plugin>
                   </reportPlugins>
                </configuration>
            </plugin>
            <!-- produce a test jar -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.3.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <!-- ************************************************************************
    * Depencies
    ************************************************************************+ -->
    <dependencies>

        <!--
            For Logging Purpose
            http://www.slf4j.org
        -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.4</version>
        </dependency>

        <!-- JDBC driver -->
        <dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.1-901-1.jdbc4</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.18</version>
        </dependency>

        <!-- used for toString methods -->
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>

        <!-- easy XML reader
            using version 2.XX leads to problems on creation of the FactoryParser if different
            Xerces versions are on the OS.
        -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-digester3</artifactId>
            <version>3.2</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- The Symplified encryption to store the passwords in the DataBase -->
        <dependency>
            <groupId>org.jasypt</groupId>
            <artifactId>jasypt</artifactId>
            <version>1.9.0</version>
        </dependency>

        <!-- For interpreting expressions (e.g. of xml definitions) -->
        <dependency>
            <groupId>commons-jexl</groupId>
            <artifactId>commons-jexl</artifactId>
            <version>1.1</version>
            <scope>compile</scope>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- Transaction Manager -->
        <dependency>
            <groupId>commons-transaction</groupId>
            <artifactId>commons-transaction</artifactId>
            <version>1.1</version>
            <scope>compile</scope>
            <exclusions>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
                <exclusion>
                    <artifactId>commons-codec</artifactId>
                    <groupId>commons-codec</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <!--
            Commons codec is used to decode/encode the passwords in the
            database
        -->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.6</version>
        </dependency>

        <!--
            File system used for checkin / checkout on external resources. The
            commons logging must be excluded because eFaps uses slf4j logger.

            http://commons.apache.org/vfs/
        -->
        <dependency>
            <groupId>commons-vfs</groupId>
            <artifactId>commons-vfs</artifactId>
            <version>1.0</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- to define a higher version (needed from another tool) -->
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.1</version>
        </dependency>

        <!--
            Joda Time is used to have a quality replacement for Java date and
            time classes
        -->
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>2.1</version>
        </dependency>

        <!-- the yuicompressor is used to compress javascript and css files -->
        <dependency>
            <groupId>com.yahoo.platform.yui</groupId>
            <artifactId>yuicompressor</artifactId>
            <version>2.4.6</version>
        </dependency>

        <!-- wikiutil from efaps to compile wiki into html -->
        <dependency>
            <groupId>org.efaps</groupId>
            <artifactId>wikiutil</artifactId>
            <version>0.0.4</version>
        </dependency>

        <!-- JasperReport as a flexible reporting tool -->
        <dependency>
            <groupId>net.sourceforge.dynamicreports</groupId>
            <artifactId>dynamicreports-core</artifactId>
            <version>3.0.1</version>
        </dependency>

        <!-- Groovy Compiler  -->
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>1.5.8</version>
        </dependency>

        <!--  ivy dependency management -->
        <dependency>
            <groupId>org.apache.ivy</groupId>
            <artifactId>ivy</artifactId>
            <version>2.2.0</version>
        </dependency>

        <!-- dependencies for REST (do not uodate to 1.13!)-->
        <dependency>
            <groupId>com.sun.jersey.contribs</groupId>
            <artifactId>jersey-multipart</artifactId>
            <version>1.12</version>
        </dependency>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>jsr311-api</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.12</version>
        </dependency>

        <!-- timer for background prozesses -->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.1.6</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>jta</artifactId>
                    <groupId>javax.transaction</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>javax.transaction</groupId>
            <artifactId>jta</artifactId>
            <version>1.1</version>
        </dependency>

        <dependency>
            <groupId>javax.jcr</groupId>
            <artifactId>jcr</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>javax.jms</groupId>
            <artifactId>jms</artifactId>
            <version>1.1</version>
        </dependency>

        <!-- test -->
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <classifier>jdk15</classifier>
            <version>5.9</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.6.4</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>javax.jms</groupId>
                    <artifactId>jms</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jdmk</groupId>
                    <artifactId>jmxtools</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jmx</groupId>
                    <artifactId>jmxri</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.mail</groupId>
                    <artifactId>mail</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- java transaction manager -->
        <dependency>
            <groupId>jotm</groupId>
            <artifactId>jotm</artifactId>
            <version>2.0.10</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.resource</groupId>
                    <artifactId>connector-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- replacement for the javax.resource.connector-api-1.5 needed by jotm-->
        <dependency>
            <groupId>org.ow2.spec.ee</groupId>
            <artifactId>ow2-connector-1.5-spec</artifactId>
            <version>1.0.10</version>
            <scope>test</scope>
        </dependency>
        <!-- Needed indirectly for the transaction manager -->
        <dependency>
            <groupId>javax.resource</groupId>
            <artifactId>connector</artifactId>
            <version>1.0</version>
            <scope>test</scope>
        </dependency>
        <!--
            used as javax.naming.* implementation
            (needed to connect to eFaps database)
        -->
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-jndi</artifactId>
            <version>${jetty.version}</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>javax.mail</groupId>
                    <artifactId>mail</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-util</artifactId>
            <version>${jetty.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-server</artifactId>
            <version>${jetty.version}</version>
            <scope>test</scope>
        </dependency>
        <!-- connection Pooling, used as J2EE resource -->
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
            <scope>test</scope>
        </dependency>
   </dependencies>
</project>

