<?xml version="1.0" encoding="ISO-8859-1"?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.directory.server</groupId>
    <artifactId>build</artifactId>
    <version>1.0-RC1</version>
  </parent>
  <artifactId>apacheds-server-unit</artifactId>
  <name>ApacheDS Server Unit</name>
  <packaging>jar</packaging>  
  <description>
    Unit testing framework for ApacheDS Server JNDI Provider
  </description>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>provided</scope>
    </dependency>  
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>nlog4j</artifactId>
      <version>1.2.19</version>
      <scope>provided</scope>
    </dependency>  
    <dependency>
      <groupId>org.apache.directory.server</groupId>
      <artifactId>apacheds-server-jndi</artifactId>
      <version>${pom.version}</version>
    </dependency>  
    <dependency>
      <groupId>org.apache.directory.server</groupId>
      <artifactId>apacheds-core-unit</artifactId>
      <version>${pom.version}</version>
    </dependency>  
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>**/Abstract*</exclude>
          </excludes>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>no-integration-tests</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
            <plugin>
              <artifactId>maven-surefire-plugin</artifactId>
              <configuration>
                <excludes>
                  <!-- TODO
                     Need to rename all integration tests to have Integration
                     in the name of the test so we can change the exclude below
                     to only refer to these tests rather than all tests like so:
                
                     <exclude>**/*Integration*Test*</exclude>
                   -->
                  <exclude>**/*Test.java</exclude>
                </excludes>
              </configuration>
            </plugin>
            <plugin>
              <artifactId>maven-antrun-plugin</artifactId>
              <executions>
                <execution>
                  <phase>validate</phase>
                  <configuration>
                    <tasks>
                      <echo>
=================================================================
                          W A R N I N G
                          -------------
                  
Integration tests have been disabled.  To enable integration 
tests run maven with the -Dintegration switch.
=================================================================
                      </echo>
                    </tasks>
                  </configuration>
                  <goals>
                    <goal>run</goal>
                  </goals>
                </execution>
              </executions>
            </plugin>
         </plugins>
       </build>
    </profile>
    <profile>
      <id>integration</id>
      <activation>
        <property><name>integration</name></property>
      </activation>
    </profile>
  </profiles>
</project>
