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

    Copyright (C) 2009 eXo Platform SAS.

    This is free software; you can redistribute it and/or modify it
    under the terms of the GNU Lesser General Public License as
    published by the Free Software Foundation; either version 2.1 of
    the License, or (at your option) any later version.

    This software is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this software; if not, write to the Free
    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    02110-1301 USA, or see the FSF site: http://www.fsf.org.

-->
<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.exoplatform.jcr</groupId>
    <artifactId>jcr-parent</artifactId>
    <version>1.14.10-GA</version>
  </parent>
  <artifactId>exo.jcr.component.ext</artifactId>
  <name>eXo JCR :: Component :: Extension Service</name>
  <description>eXo JCR Services extension</description>
  <properties>
      <jcr.test.configuration.file>/conf/standalone/test-configuration.xml</jcr.test.configuration.file>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.exoplatform.kernel</groupId>
      <artifactId>exo.kernel.commons</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.kernel</groupId>
      <artifactId>exo.kernel.container</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.kernel</groupId>
      <artifactId>exo.kernel.component.command</artifactId>
    </dependency>
    <dependency>
       <groupId>org.exoplatform.kernel</groupId>
       <artifactId>exo.kernel.commons.test</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.core</groupId>
      <artifactId>exo.core.component.database</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.core</groupId>
      <artifactId>exo.core.component.document</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.core</groupId>
      <artifactId>exo.core.component.organization.api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.core</groupId>
      <artifactId>exo.core.component.security.core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.jcr</groupId>
      <artifactId>exo.jcr.component.core</artifactId>
      <exclusions>
        <exclusion>
          <groupId>xerces</groupId>
          <artifactId>xerces</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.core</groupId>
      <artifactId>exo.core.component.script.groovy</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.ws</groupId>
      <artifactId>exo.ws.rest.core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.ws</groupId>
      <artifactId>exo.ws.rest.ext</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.ws</groupId>
      <artifactId>exo.ws.commons</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.ws</groupId>
      <artifactId>exo.ws.frameworks.json</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.jcr</groupId>
      <artifactId>jcr</artifactId>
    </dependency>
    <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-log4j12</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.annotation</groupId>
      <artifactId>jsr250-api</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-chain</groupId>
      <artifactId>commons-chain</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.ws.rs</groupId>
      <artifactId>jsr311-api</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
    </dependency>
    <dependency>
      <groupId>picocontainer</groupId>
      <artifactId>picocontainer</artifactId>
    </dependency>
    <dependency>
      <groupId>xml-apis</groupId>
      <artifactId>xml-apis</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
    </dependency>
    <dependency>
      <groupId>org.hsqldb</groupId>
      <artifactId>hsqldb</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>postgresql</groupId>
      <artifactId>postgresql</artifactId>
      <version>8.3-606.jdbc3</version>
      <scope>test</scope>
    </dependency>
    <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>5.1.14</version>
       <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
        <includes>
          <include>**/*.pdf</include>
          <include>**/*.xml</include>
          <include>**/*.xls</include>
		  <include>**/*.doc</include>
          <include>**/*.groovy</include>
          <include>**/login.conf</include>
          <include>**/tsm-excludes.properties</include>
        </includes>
      </testResource>
    </testResources>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <configuration>
            <archive>
              <manifest>
                <addClasspath>true</addClasspath>
              </manifest>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <configuration>
            <argLine>${env.MAVEN_OPTS} -Djava.security.manager=org.exoplatform.commons.test.TestSecurityManager -Djava.security.policy=${project.build.directory}/test-classes/test.policy</argLine>
            <systemProperties>
               <property>
                  <name>jcr.test.configuration.file</name>
                  <value>${jcr.test.configuration.file}</value>
               </property>
            </systemProperties>
            <includes>
              <include>org/exoplatform/services/jcr/ext/**/Test*.java</include>
              <include>org/exoplatform/services/jcr/ext/**/*Test.java</include>
            </includes>
            <excludes>
              <exclude>**/BaseStandaloneTest.java</exclude>
              <exclude>**/backup/AbstractBackupTestCase.java</exclude>
              <exclude>**/backup/BaseRDBMSBackupTest.java</exclude>
              <exclude>**/backup/TestBackupScheduler.java</exclude>
              <exclude>**/backup/TestBackupRestart.java</exclude>
              <exclude>**/replication/**</exclude>
              <exclude>**/repository/creation/cluster/**</exclude>
            </excludes>
          </configuration>
        </plugin>
         <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
               <execution>
                  <id>prepare-test-policy</id>
                  <phase>process-test-resources</phase>
                  <configuration>
                     <tasks>
                        <echo>Creating Access Policy for tests</echo>
                        <makeurl file="${settings.localRepository}" property="localRepositoryURL" />
                        <makeurl file="${project.build.outputDirectory}" property="outputDirectoryURL" />
                        <makeurl file="${project.build.testOutputDirectory}" property="testOutputDirectoryURL" />
                        <copy todir="${project.build.testOutputDirectory}" overwrite="true">
                           <fileset dir="${project.basedir}/src/test/resources/">
                              <include name="test.policy" />
                           </fileset>
                           <filterset>
                              <filter token="MAVEN_REPO" value="${localRepositoryURL}" />
                              <filter token="MAIN_CLASSES" value="${outputDirectoryURL}" />
                              <filter token="TEST_CLASSES" value="${testOutputDirectoryURL}" />
                           </filterset>
                        </copy>
                     </tasks>                     
                  </configuration>
                  <goals>
                     <goal>run</goal>
                  </goals>
               </execution>
            </executions>
            <dependencies>
               <dependency>
                  <groupId>ant</groupId>
                  <artifactId>ant-optional</artifactId>
                  <version>1.5.3-1</version>
               </dependency>
            </dependencies>
         </plugin>
      </plugins>
  </build>
  <profiles>
     <profile>
         <id>backup</id>
           <properties>
              <jcr.test.configuration.file>/conf/standalone/test-configuration-backup.xml</jcr.test.configuration.file>
           </properties>
           <build>
              <plugins>
                <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-jar-plugin</artifactId>
                   <configuration>
                     <archive>
                       <manifest>
                         <addClasspath>true</addClasspath>
                       </manifest>
                     </archive>
                   </configuration>
                 </plugin>
                 <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-surefire-plugin</artifactId>
                   <configuration>
                     <argLine>${env.MAVEN_OPTS} -Djava.security.manager=org.exoplatform.commons.test.TestSecurityManager -Djava.security.policy=${project.build.directory}/test-classes/test.policy</argLine>
                     <systemProperties>
                        <property>
                           <name>jcr.test.configuration.file</name>
                           <value>${jcr.test.configuration.file}</value>
                        </property>
                     </systemProperties>
                     <includes>
                       <include>org/exoplatform/services/jcr/ext/backup/usecase/TestBackupRestore.java</include>
                     </includes>
                   </configuration>
                 </plugin>
                  <plugin>
                     <artifactId>maven-antrun-plugin</artifactId>
                     <executions>
                        <execution>
                           <id>prepare-test-policy</id>
                           <phase>process-test-resources</phase>
                           <configuration>
                              <tasks>
                                 <echo>Creating Access Policy for tests</echo>
                                 <makeurl file="${settings.localRepository}" property="localRepositoryURL" />
                                 <makeurl file="${project.build.outputDirectory}" property="outputDirectoryURL" />
                                 <makeurl file="${project.build.testOutputDirectory}" property="testOutputDirectoryURL" />
                                 <copy todir="${project.build.testOutputDirectory}" overwrite="true">
                                    <fileset dir="${project.basedir}/src/test/resources/">
                                       <include name="test.policy" />
                                    </fileset>
                                    <filterset>
                                       <filter token="MAVEN_REPO" value="${localRepositoryURL}" />
                                       <filter token="MAIN_CLASSES" value="${outputDirectoryURL}" />
                                       <filter token="TEST_CLASSES" value="${testOutputDirectoryURL}" />
                                    </filterset>
                                 </copy>
                              </tasks>                     
                           </configuration>
                           <goals>
                              <goal>run</goal>
                           </goals>
                        </execution>
                     </executions>
                     <dependencies>
                        <dependency>
                           <groupId>ant</groupId>
                           <artifactId>ant-optional</artifactId>
                           <version>1.5.3-1</version>
                        </dependency>
                     </dependencies>
                  </plugin>
               </plugins>
           </build>
     </profile>
     <profile>
         <id>oracle-10G-R2</id>
         <properties>
            <jcr.test.configuration.file>/conf/standalone/test-configuration-backup-oracle.xml</jcr.test.configuration.file>
         </properties>
         <dependencies>
            <dependency>
               <groupId>ojdbc</groupId>
               <artifactId>ojdbc</artifactId>
               <version>10.2.0.4</version>
               <scope>test</scope>
            </dependency>
            <dependency>
               <groupId>ojdbc</groupId>
               <artifactId>orai18n</artifactId>
               <version>10.2.0.4</version>
               <scope>test</scope>
            </dependency>
         </dependencies>
      </profile>
      <profile>
         <id>mysql-5.1</id>
         <properties>
            <jcr.test.configuration.file>/conf/standalone/test-configuration-backup-mysql.xml</jcr.test.configuration.file>
         </properties>
         <dependencies>
            <dependency>
               <groupId>mysql</groupId>
               <artifactId>mysql-connector-java</artifactId>
               <version>5.1.14</version>
               <scope>test</scope>
            </dependency>
         </dependencies>
      </profile>
      <profile>
         <id>mssql</id>
         <properties>
            <jcr.test.configuration.file>/conf/standalone/test-configuration-backup-mssql.xml</jcr.test.configuration.file>
         </properties>
         <dependencies>
            <dependency>
               <groupId>com.microsoft</groupId>
               <artifactId>sqljdbc</artifactId>
               <version>3.0.1301.101</version>
               <scope>test</scope>
            </dependency>
         </dependencies>
      </profile>
      <profile>
         <id>db2</id>
         <properties>
            <jcr.test.configuration.file>/conf/standalone/test-configuration-backup-db2.xml</jcr.test.configuration.file>
         </properties>
         <dependencies>
            <dependency>
               <groupId>com.ibm.db2</groupId>
               <artifactId>db2jcc</artifactId>
               <version>9.7</version>
               <scope>test</scope>
            </dependency>
            <dependency>
               <groupId>com.ibm.db2</groupId>
               <artifactId>db2jcc_license_cu</artifactId>
               <version>9.7</version>
               <scope>test</scope>
            </dependency>            
         </dependencies>
      </profile>
      <profile>
         <id>sybase</id>
         <properties>
            <jcr.test.configuration.file>/conf/standalone/test-configuration-backup-sybase.xml</jcr.test.configuration.file>
         </properties>
         <dependencies>
            <dependency>
               <groupId>com.sybase.jdbc4.jdbc</groupId>
               <artifactId>jconn4</artifactId>
               <version>26502</version>
               <scope>test</scope>
            </dependency>
         </dependencies>
      </profile>
      <profile>
         <id>pgsql-8.3</id>
         <properties>
            <jcr.test.configuration.file>/conf/standalone/test-configuration-backup-pgsql.xml</jcr.test.configuration.file>
         </properties>
         <dependencies>
            <dependency>
               <groupId>postgresql</groupId>
               <artifactId>postgresql</artifactId>
               <version>8.3-606.jdbc3</version>
               <scope>test</scope>
            </dependency>
         </dependencies>
      </profile>
  </profiles>
</project>
