The jOOQ 3.12 Open Source Edition will continue to support Java 8. The only things we gain from the JDK 11 dependency is: - Updated logic for reflection when mapping into proxied default methods (that stuff has changed completely in JDK 9). This is a regression, which we can live with. The workaround is to write a custom - Explicit dependency on the JDK 9 API, for which we provide a Java 8 compatible alternative via reactive streams anyway. - JDBC 4.3 compatibility (mostly sharding). We currently don't use that yet. We're not even using internally, outside of a few integration tests. So, we'll postpone the JDK 11 *requirement* (while supporting it nonetheless) to a later release, e.g. 3.13. We'll observe market share shifts. Currently Java 11's market share is a bit of a disappointment, so making it a requirement might be premature.
216 lines
8.5 KiB
XML
216 lines
8.5 KiB
XML
<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/xsd/maven-4.0.0.xsd">
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>org.jooq</groupId>
|
|
<artifactId>jooq-oracle-example</artifactId>
|
|
<version>1.0</version>
|
|
<name>jOOQ Oracle Example</name>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>Apache License, Version 2.0</name>
|
|
<url>http://www.jooq.org/inc/LICENSE.txt</url>
|
|
<distribution>repo</distribution>
|
|
</license>
|
|
</licenses>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<org.jooq.version>3.12.0-SNAPSHOT</org.jooq.version>
|
|
<db.oracle.version>11</db.oracle.version>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
|
|
<!-- Database access -->
|
|
<dependency>
|
|
<groupId>org.jooq</groupId>
|
|
<artifactId>jooq</artifactId>
|
|
<version>${org.jooq.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.oracle</groupId>
|
|
<artifactId>ojdbc6</artifactId>
|
|
<version>${db.oracle.version}</version>
|
|
<scope>system</scope>
|
|
<systemPath>${basedir}/lib/ojdbc6.jar</systemPath>
|
|
</dependency>
|
|
|
|
<!-- Logging -->
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-slf4j-impl</artifactId>
|
|
<version>2.11.0</version>
|
|
</dependency>
|
|
|
|
<!-- Testing -->
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>4.12</version>
|
|
<type>jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.8.0</version>
|
|
<configuration>
|
|
<fork>true</fork>
|
|
<maxmem>1024m</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>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- We're using the properties plugin to load external properties into Maven.
|
|
See this excellent blog post for an explanation:
|
|
http://www.petrikainulainen.net/programming/tips-and-tricks/creating-profile-specific-configuration-files-with-maven/ -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>properties-maven-plugin</artifactId>
|
|
<version>1.0.0</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>initialize</phase>
|
|
<goals>
|
|
<goal>read-project-properties</goal>
|
|
</goals>
|
|
<configuration>
|
|
<files>
|
|
<file>src/main/resources/config.properties</file>
|
|
</files>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- The Oracle test schema is loaded here -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>sql-maven-plugin</artifactId>
|
|
<version>1.5</version>
|
|
|
|
<configuration>
|
|
<skip>${maven.test.skip}</skip>
|
|
<forkMode>always</forkMode>
|
|
<delimiter>/</delimiter>
|
|
<delimiterType>row</delimiterType>
|
|
</configuration>
|
|
|
|
<executions>
|
|
<execution>
|
|
<id>create-database-oracle</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>execute</goal>
|
|
</goals>
|
|
<configuration>
|
|
<driver>${db.driver}</driver>
|
|
<url>${db.url}</url>
|
|
<username>${db.username}</username>
|
|
<password>${db.password}</password>
|
|
|
|
<autocommit>true</autocommit>
|
|
<srcFiles>
|
|
<srcFile>src/main/resources/db-oracle.sql</srcFile>
|
|
</srcFiles>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.oracle</groupId>
|
|
<artifactId>ojdbc6</artifactId>
|
|
<version>${db.oracle.version}</version>
|
|
<scope>system</scope>
|
|
<systemPath>${basedir}/lib/ojdbc6.jar</systemPath>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
|
|
<!-- The jOOQ code generator plugin -->
|
|
<plugin>
|
|
<groupId>org.jooq</groupId>
|
|
<artifactId>jooq-codegen-maven</artifactId>
|
|
<version>${org.jooq.version}</version>
|
|
|
|
<executions>
|
|
<execution>
|
|
<id>generate-oracle</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>generate</goal>
|
|
</goals>
|
|
<configuration>
|
|
<jdbc>
|
|
<driver>${db.driver}</driver>
|
|
<url>${db.url}</url>
|
|
<user>${db.username}</user>
|
|
<password>${db.password}</password>
|
|
</jdbc>
|
|
<generator>
|
|
<database>
|
|
<name>org.jooq.meta.oracle.OracleDatabase</name>
|
|
<includes>
|
|
# Generate the complete SP user
|
|
SP\..*
|
|
|
|
# Generate only parts of the geospatial API
|
|
| MDSYS\.SDO_GEOM.*?
|
|
</includes>
|
|
|
|
<!-- Known issue with this type: https://github.com/jOOQ/jOOQ/issues/3709 -->
|
|
<excludes>ST_ANNOTATIONTEXTELEMENT|.*\$.*</excludes>
|
|
<dateAsTimestamp>true</dateAsTimestamp>
|
|
<schemata>
|
|
<schema>
|
|
<inputSchema>SP</inputSchema>
|
|
</schema>
|
|
<schema>
|
|
<inputSchema>MDSYS</inputSchema>
|
|
</schema>
|
|
</schemata>
|
|
</database>
|
|
<generate>
|
|
<deprecated>false</deprecated>
|
|
</generate>
|
|
<target>
|
|
<packageName>org.jooq.example.db.oracle</packageName>
|
|
<directory>src/main/java</directory>
|
|
</target>
|
|
</generator>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.oracle</groupId>
|
|
<artifactId>ojdbc6</artifactId>
|
|
<version>${db.oracle.version}</version>
|
|
<scope>system</scope>
|
|
<systemPath>${basedir}/lib/ojdbc6.jar</systemPath>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project> |