<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_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>

  <parent>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-root</artifactId>
    <version>5.1.0</version>
    <relativePath>../pom.xml</relativePath>
  </parent>

  <groupId>com.querydsl</groupId>
  <artifactId>querydsl-jdo</artifactId>
  <name>Querydsl - JDO support</name>
  <description>JDO support for Querydsl</description>
  <url>${project.homepage}</url>
  <packaging>jar</packaging>

  <scm>
    <connection>${project.checkout}</connection>
    <developerConnection>${project.checkout}</developerConnection>
    <url>${project.githubpage}</url>
  </scm>

  <properties>   
    <dn.version>5.2.8</dn.version>
    <dn.plugin.version>5.2.1</dn.plugin.version>
  </properties>

  <dependencies>


    <dependency>
      <groupId>org.datanucleus</groupId>
      <artifactId>javax.jdo</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.querydsl</groupId>
      <artifactId>querydsl-core</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jetbrains</groupId>
      <artifactId>annotations</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.querydsl</groupId>
      <artifactId>querydsl-codegen</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>        
    <dependency>
      <groupId>com.querydsl</groupId>
      <artifactId>querydsl-apt</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>        
    
    <dependency>
      <groupId>com.querydsl</groupId>
      <artifactId>querydsl-sql</artifactId>
      <version>${project.version}</version>
      <scope>compile</scope>
      <optional>true</optional> 
    </dependency>

    <!-- test -->

    <dependency>
      <groupId>org.datanucleus</groupId>
      <artifactId>datanucleus-api-jdo</artifactId>
      <version>${dn.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.datanucleus</groupId>
      <artifactId>datanucleus-core</artifactId>
      <version>${dn.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.datanucleus</groupId>
      <artifactId>datanucleus-rdbms</artifactId>
      <version>${dn.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.hsqldb</groupId>
      <artifactId>hsqldb</artifactId>
      <version>${hsqldb.version}</version>
      <scope>test</scope>
      <!-- license : TODO -->
    </dependency>
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <scope>test</scope>
    </dependency>    
    
    <dependency>
      <groupId>com.querydsl</groupId>
      <artifactId>querydsl-core</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
      <type>test-jar</type>
    </dependency>

    <dependency>
      <groupId>io.github.classgraph</groupId>
      <artifactId>classgraph</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>jdepend</groupId>
      <artifactId>jdepend</artifactId>
      <version>2.9.1</version>
      <scope>test</scope>
    </dependency>    

  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
      </plugin>      
    
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <id>apt</id>
            <goals>
              <goal>jar</goal>                
            </goals>    
            <configuration>
              <classifier>apt</classifier>
              <classesDirectory>src/apt</classesDirectory>                                    
            </configuration>              
          </execution>            
        </executions>
        <configuration>
          <archive>
            <manifestEntries>
              <Automatic-Module-Name>com.querydsl.jdo</Automatic-Module-Name>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin> 
        
      <!-- this plugin does the JDO class enhancement -->
      <plugin>
        <groupId>org.datanucleus</groupId>
        <artifactId>datanucleus-maven-plugin</artifactId>
        <version>${dn.plugin.version}</version>
        <configuration>
            <metadataDirectory>target/test-classes</metadataDirectory>
            <metadataIncludes>com/querydsl/jdo/test/domain/*.class</metadataIncludes>
            <log4jConfiguration>src/test/resources/log4j.properties</log4jConfiguration>
            <verbose>true</verbose>
            <props>src/test/resources/datanucleus.properties</props>
        </configuration>
        <executions>
          <execution>
            <!-- <phase>process-test-classes</phase>  -->
            <!-- NOTE : workaround for hudson : https://hudson.dev.java.net/issues/show_bug.cgi?id=2226-->
            <phase>test-compile</phase>
            <goals>
              <goal>enhance</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-api-jdo</artifactId>
            <version>${dn.version}</version>
            <scope>runtime</scope>
          </dependency>
          <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-core</artifactId>
            <version>${dn.version}</version>
            <scope>runtime</scope>
          </dependency>
        </dependencies>       
      </plugin> 
      
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>apt-one-jar</id>
            <goals>
              <goal>single</goal>    
            </goals>
            <phase>package</phase>
              <configuration>
              <descriptors>
                <descriptor>src/main/assembly.xml</descriptor>
              </descriptors>
              <outputDirectory>${project.build.directory}</outputDirectory>
            </configuration>
          </execution>    
        </executions>         
      </plugin>            
      
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <executions>
          <execution>
          <id>verification</id>    
          <goals>
            <goal>test</goal>    
          </goals>
          <phase>verify</phase>
          <configuration>
              <systemProperties>
              <property>
                  <name>version</name>
                <value>${project.version}</value>
              </property>                  
            </systemProperties>    
            <includes>
              <include>com/querydsl/jdo/PackageVerification.java</include>
            </includes>
          </configuration>
          </execution>
        </executions>        
      </plugin>      
      
      <plugin>
        <groupId>com.mysema.maven</groupId>
        <artifactId>apt-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>test-process</goal>
              <goal>add-test-sources</goal>
            </goals>
            <configuration>
              <outputDirectory>target/generated-test-sources/java</outputDirectory>
              <processor>com.querydsl.apt.QuerydslAnnotationProcessor</processor>
              <logOnlyOnError>true</logOnlyOnError>
            </configuration>
          </execution>
        </executions>    
      </plugin>   
      
      <plugin>
        <groupId>com.querydsl</groupId>
        <artifactId>querydsl-maven-plugin</artifactId>
        <version>${project.version}</version>
        <configuration>
          <jdbcDriver>org.hsqldb.jdbcDriver</jdbcDriver>
          <jdbcUrl>jdbc:hsqldb:target/jdo</jdbcUrl>
          <packageName>com.querydsl.jdo.test.domain.sql</packageName>
          <userName>sa</userName>
          <targetFolder>src/test/java</targetFolder>
          <namePrefix>S</namePrefix>
        </configuration>
        <dependencies>
            <dependency>
              <groupId>hsqldb</groupId>
              <artifactId>hsqldb</artifactId>
              <version>1.8.0.10</version>
            </dependency>
        </dependencies>
      </plugin>    
    </plugins>      
  </build>

  <!--TODO upgrade dependencies and get rid of repositories and pluginRepositories -->
  <repositories>
    <repository>
      <id>datanucleus</id>
      <url>https://www.datanucleus.org/downloads/maven2</url>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>datanucleus</id>
      <url>https://www.datanucleus.org/downloads/maven2</url>
    </pluginRepository>
  </pluginRepositories>

</project>
