<?xml version="1.0" encoding="UTF-8"?>
<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>
        <artifactId>oss-parent</artifactId>
        <groupId>org.sonatype.oss</groupId>
        <version>7</version>
    </parent>

    <groupId>org.jooq</groupId>
    <artifactId>jooq-parent</artifactId>
    <version>3.13.1</version>
    <packaging>pom</packaging>

    <name>jOOQ Parent</name>

    <description>
        jOOQ effectively combines complex SQL, typesafety, source code generation, active records,
        stored procedures, advanced data types, and Java in a fluent, intuitive DSL.
    </description>

    <url>http://www.jooq.org</url>

    <properties>

        <!-- These in-memory DBs are used by jOOQ-meta-extensions and a variety of integration tests -->
        <h2.version>1.4.200</h2.version>
        <sqlite.version>3.30.1</sqlite.version>
        <derby.version>10.14.2.0</derby.version>
        <hsqldb.version>2.5.0</hsqldb.version>

        <!-- From JDK 11 onwards, we need to depend on the JAXB API explicitly -->
        <jaxb.version>2.3.1</jaxb.version>
        <javax.activation.version>1.2.0</javax.activation.version>

        <!-- DefaultRecordMapper and jOOQ-meta-extensions can read JPA annotations -->
        <javax.persistence-api.version>2.2</javax.persistence-api.version>
    </properties>

    <licenses>
        <license>
            <name>Apache License, Version 2.0</name>
            <url>http://www.jooq.org/inc/LICENSE.txt</url>
            <distribution>repo</distribution>
        </license>







    </licenses>

    <scm>
        <developerConnection>https://github.com/jOOQ/jOOQ.git</developerConnection>
        <url>https://github.com/jOOQ/jOOQ.git</url>
        <connection>git://github.com/jOOQ/jOOQ.git</connection>
    </scm>

    <issueManagement>
        <system>GitHub</system>
        <url>http://github.com/jOOQ/jOOQ/issues</url>
    </issueManagement>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.jooq</groupId>
                <artifactId>jooq</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jooq</groupId>
                <artifactId>jooq-codegen</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jooq</groupId>
                <artifactId>jooq-codegen-maven</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jooq</groupId>
                <artifactId>jooq-meta</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jooq</groupId>
                <artifactId>jooq-meta-extensions</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jooq</groupId>
                <artifactId>jooq-scala_2.13</artifactId>
                <version>${project.version}</version>
            </dependency>



















            <dependency>
                <groupId>org.jooq</groupId>
                <artifactId>jooq-xtend</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.xtend</groupId>
                <artifactId>org.eclipse.xtend.lib</artifactId>
                <version>2.20.0</version>
            </dependency>

            <!-- From JDK 9 onwards, the JAXB dependency needs to be made explicit -->
            <!-- The dependency can cause trouble in older JDKs, so it needs to be
                 excluded from pre-java-9 builds: https://github.com/jOOQ/jOOQ/issues/7649 -->
            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>${jaxb.version}</version>
            </dependency>








































            <!-- Optional logging dependency -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.8.0-beta4</version>
                <scope>provided</scope>
                <optional>true</optional>
            </dependency>

            <!-- Optional JPA dependency -->
            <dependency>
                <groupId>javax.persistence</groupId>
                <artifactId>javax.persistence-api</artifactId>
                <version>${javax.persistence-api.version}</version>
                <scope>provided</scope>
                <optional>true</optional>
            </dependency>

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.scalatest</groupId>
                <artifactId>scalatest_2.10</artifactId>
                <version>3.0.8</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.scalatest</groupId>
                <artifactId>scalatest_2.11</artifactId>
                <version>3.0.8</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.scalatest</groupId>
                <artifactId>scalatest_2.12</artifactId>
                <version>3.0.8</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.scalatest</groupId>
                <artifactId>scalatest_2.13</artifactId>
                <version>3.0.8</version>
                <scope>test</scope>
            </dependency>

            <!-- Some projects will need an H2 database for testing, or to create temporary in-memory databases -->
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${h2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.xerial</groupId>
                <artifactId>sqlite-jdbc</artifactId>
                <version>${sqlite.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derby</artifactId>
                <version>${derby.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hsqldb</groupId>
                <artifactId>hsqldb</artifactId>
                <version>${hsqldb.version}</version>
            </dependency>

            <!-- jooq-meta-extensions and integration tests have this dependency -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>5.4.9.Final</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>5.1.9.RELEASE</version>
            </dependency>

            <!-- jooq-meta-extensions and integration tests have this dependency -->
            <dependency>
                <groupId>org.liquibase</groupId>
                <artifactId>liquibase-core</artifactId>
                <version>3.8.0</version>
            </dependency>

            <!-- checker framework and error prone dependency for use with jOOQ-checker -->
            <dependency>
                <groupId>org.checkerframework</groupId>
                <artifactId>checker</artifactId>
                <version>2.5.6</version>
            </dependency>

            <dependency>
                <groupId>com.google.errorprone</groupId>
                <artifactId>error_prone_core</artifactId>
                <version>2.3.3</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.google.errorprone</groupId>
                <artifactId>error_prone_annotation</artifactId>
                <version>2.3.3</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.google.auto.service</groupId>
                <artifactId>auto-service</artifactId>
                <version>1.0-rc6</version>
                <optional>true</optional>
            </dependency>

            <!-- Maven plugin dependencies -->
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-plugin-api</artifactId>
                <version>3.6.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-core</artifactId>
                <version>3.6.2</version>

                <!-- junit 4.8.2 sneaking in here -->
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.maven.plugin-tools</groupId>
                <artifactId>maven-plugin-annotations</artifactId>
                <version>3.6.0</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <finalName>${project.artifactId}-${project.version}</finalName>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>

                    <configuration>
                        <!-- When compilers say false, they mean true ...
                             https://issues.apache.org/jira/browse/MCOMPILER-209 -->
                        <useIncrementalCompilation>false</useIncrementalCompilation>
                        <fork>true</fork>
                        <maxmem>512m</maxmem>
                        <meminitial>256m</meminitial>
                        <encoding>UTF-8</encoding>




                        <!-- IntelliJ needs these https://youtrack.jetbrains.com/issue/IDEA-195472 -->
                        <source>1.8</source>
                        <target>1.8</target>

                        <debug>true</debug>
                        <debuglevel>lines,vars,source</debuglevel>
                        <!-- [#2413] Make compiler warnings a bit more visible
                             But don't fail (yet) -->
                        <compilerArgs>
                            <arg>-Xlint:varargs</arg>
                        </compilerArgs>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.1.0</version>
                    <inherited>true</inherited>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <excludeResources>true</excludeResources>
                        <useDefaultExcludes>true</useDefaultExcludes>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>3.1.1</version>
                    <inherited>true</inherited>
                    <executions>
                        <execution>
                            <id>bundle-sources</id>
                            <phase>package</phase>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <maxmemory>1024</maxmemory>
                        <encoding>UTF-8</encoding>
                        <show>protected</show>
                        <notree>true</notree>

                        <!-- Avoid running into Java 8's very restrictive doclint issues -->
                        <additionalparam>-Xdoclint:none</additionalparam>
                        <additionalOptions>-Xdoclint:none</additionalOptions>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>4.2.1</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-plugin-plugin</artifactId>
                    <version>3.6.0</version>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>sql-maven-plugin</artifactId>
                    <version>1.5</version>
                </plugin>

                <plugin>
                    <groupId>net.alchim31.maven</groupId>
                    <artifactId>scala-maven-plugin</artifactId>
                    <version>4.3.0</version>
                </plugin>

                <plugin>
                    <groupId>org.eclipse.xtend</groupId>
                    <artifactId>xtend-maven-plugin</artifactId>
                    <version>2.20.0</version>

                    <configuration>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.2</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.1.2</version>

                    <configuration>
                        <archive>
                            <manifestEntries>
                                <Built-By>Data Geekery GmbH</Built-By>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.jooq</groupId>
                    <artifactId>jooq-codegen-maven</artifactId>
                    <version>${project.version}</version>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <modules>
        <module>jOOQ</module>







        <module>jOOQ-checker</module>

        <module>jOOQ-meta</module>
        <module>jOOQ-meta-extensions</module>
        <module>jOOQ-codegen</module>
        <module>jOOQ-codegen-maven</module>
        <module>jOOQ-scala_2.13</module>






        <module>jOOQ-xtend</module>


















    </modules>

    <profiles>
        <profile>
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>

        <profile>
            <id>all-modules</id>
            <modules>
            	<!-- all modules which are not already listed as submodules -->
                <module>jOOQ-examples</module>











            </modules>
        </profile>


        <profile>
            <id>release-java-8</id>
            <build>
                <plugins>
                    <!-- Validate jOOQ's JDK 1.8 API compliance -->
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>animal-sniffer-maven-plugin</artifactId>
                        <version>1.18</version>
                        <executions>
                            <execution>
                                <phase>test</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                                <configuration>
                                    <signature>
                                        <groupId>org.codehaus.mojo.signature</groupId>
                                        <artifactId>java18</artifactId>
                                        <version>1.0</version>
                                    </signature>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>release-java-6</id>
            <build>
                <plugins>
                    <!-- Validate jOOQ's JDK 1.6 API compliance -->
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>animal-sniffer-maven-plugin</artifactId>
                        <version>1.18</version>
                        <executions>
                            <execution>
                                <phase>test</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                                <configuration>
                                    <signature>
                                        <groupId>org.codehaus.mojo.signature</groupId>
                                        <artifactId>java16</artifactId>
                                        <version>1.1</version>
                                    </signature>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>release-oss</id>
            <build>
                <plugins>
                    <!-- This is required by Maven Central -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.6</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                                <configuration>
                                    <gpgArguments>
                                        <arg>--pinentry-mode</arg>
                                        <arg>loopback</arg>
                                    </gpgArguments>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>




































































































    </profiles>
</project>
