<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
    xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>

    <name>EclipseLink Oracle DDL Parser</name>
    <artifactId>org.eclipse.persistence.oracleddlparser</artifactId>
    <packaging>eclipse-plugin</packaging>
       
    <parent>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>oracleddl.parent</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <relativePath>../oracleddl.parent/pom.xml</relativePath>
    </parent>
    
    <properties>
      <maven-project-info-reports-plugin.version>2.4</maven-project-info-reports-plugin.version>
      <maven-surefire-plugin.version>2.11</maven-surefire-plugin.version>
      <maven-surefire-report-plugin.version>2.11</maven-surefire-report-plugin.version>
      <jxr-maven-plugin.version>2.3</jxr-maven-plugin.version>
    </properties>
    
    <dependencies>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.2</version>
        <scope>test</scope>
      </dependency>
      <!--  dependency> 
        <groupId>com.oracle</groupId> 
        <artifactId>ojdbc6</artifactId> 
        <version>11.2.0</version> 
        <scope>test</scope>
      </dependency -->
    </dependencies>

	<build>
	  <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>${maven-project-info-reports-plugin.version}</version>
        </plugin>
        <plugin>
		  <groupId>org.apache.maven.plugins</groupId>
		  <artifactId>maven-jxr-plugin</artifactId>
		  <version>${jxr-maven-plugin.version}</version>
	    </plugin>
	    <plugin>
	      <groupId>org.apache.maven.plugins</groupId>
	      <artifactId>maven-surefire-plugin</artifactId>
	      <version>${maven-surefire-plugin.version}</version>	      
	      <executions>
	        <execution>
	          <id>test</id>
	          <phase>test</phase>
              <configuration>
	              <systemPropertyVariables>
	               <db.user>${db.oracle.user}</db.user>
			       <db.pwd>${db.oracle.pwd}</db.pwd>
			       <db.url>${db.oracle.url}</db.url>
			       <db.platform>${db.oracle.platform}</db.platform>
			       <db.driver>${db.oracle.driver}</db.driver>
			       <db.ddl.create>${db.ddl.create}</db.ddl.create>
			       <db.ddl.drop>${db.ddl.drop}</db.ddl.drop>
			       <db.ddl.debug>${db.ddl.debug}</db.ddl.debug>
	              </systemPropertyVariables>
                  <forkMode>once</forkMode>
                  <redirectTestOutputToFile>true</redirectTestOutputToFile>
                  <includes>
                      <include>**/AllTests.java</include>
                  </includes>
              </configuration>
	          <goals>
	            <goal>test</goal>
	          </goals>
	        </execution>
	      </executions>
	    </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-report-plugin</artifactId>
          <version>${maven-surefire-report-plugin.version}</version>
          <executions>
            <execution>
              <id>generate-test-report</id>
              <phase>test</phase>
              <goals>
                <goal>report</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
	  </plugins>
	</build>

    <reporting>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jxr-plugin</artifactId>
          <version>${jxr-maven-plugin.version}</version>
          <configuration>
            <aggregate>true</aggregate>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-report-plugin</artifactId>
          <version>${maven-surefire-report-plugin.version}</version>
          <configuration>
            <forkMode>once</forkMode>
            <redirectTestOutputToFile>true</redirectTestOutputToFile>
          </configuration>
        </plugin>
      </plugins>
    </reporting>
 
</project>