254 lines
9.4 KiB
XML
254 lines
9.4 KiB
XML
<?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>
|
|
<groupId>org.jooq</groupId>
|
|
<artifactId>jooq-examples</artifactId>
|
|
<version>3.19.0-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<artifactId>jooq-kotlin-example</artifactId>
|
|
<name>jOOQ Kotlin 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>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.jooq</groupId>
|
|
<artifactId>jooq</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jooq</groupId>
|
|
<artifactId>jooq-kotlin</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
<artifactId>kotlin-stdlib</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
<artifactId>kotlin-stdlib-jdk8</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Needed for mapping into Kotlin data classes -->
|
|
<dependency>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
<artifactId>kotlin-reflect</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Database access -->
|
|
<dependency>
|
|
<groupId>com.h2database</groupId>
|
|
<artifactId>h2</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Testing -->
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<type>jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
|
|
<testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
|
|
|
|
<resources>
|
|
<resource>
|
|
<filtering>false</filtering>
|
|
<directory>src/main/resources</directory>
|
|
<includes>
|
|
<include>**/*.properties</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
<plugins>
|
|
|
|
<!-- 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 H2 test schema is loaded here -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>sql-maven-plugin</artifactId>
|
|
|
|
<configuration>
|
|
<skip>${maven.test.skip}</skip>
|
|
</configuration>
|
|
|
|
<executions>
|
|
<execution>
|
|
<id>create-database-h2</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-h2.sql</srcFile>
|
|
</srcFiles>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.h2database</groupId>
|
|
<artifactId>h2</artifactId>
|
|
<version>${h2.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
|
|
<!-- The jOOQ code generator plugin -->
|
|
<plugin>
|
|
<groupId>org.jooq</groupId>
|
|
<artifactId>jooq-codegen-maven</artifactId>
|
|
|
|
<executions>
|
|
<execution>
|
|
<id>generate-h2</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>
|
|
<name>org.jooq.codegen.KotlinGenerator</name>
|
|
<database>
|
|
<inputSchema>PUBLIC</inputSchema>
|
|
</database>
|
|
<generate>
|
|
<instanceFields>true</instanceFields>
|
|
<pojos>true</pojos>
|
|
</generate>
|
|
<target>
|
|
<packageName>org.jooq.example.kotlin.db.h2</packageName>
|
|
<directory>src/main/kotlin</directory>
|
|
</target>
|
|
</generator>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<configuration>
|
|
|
|
<release>17</release>
|
|
|
|
|
|
<!-- IntelliJ needs these https://youtrack.jetbrains.com/issue/IDEA-195472 -->
|
|
<source>17</source>
|
|
<target>17</target>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<artifactId>kotlin-maven-plugin</artifactId>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
|
|
<executions>
|
|
<execution>
|
|
<id>compile</id>
|
|
<phase>process-sources</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sourceDirs>
|
|
<source>src/main/java</source>
|
|
<source>src/main/kotlin</source>
|
|
<source>src/main/resources</source>
|
|
</sourceDirs>
|
|
</configuration>
|
|
</execution>
|
|
|
|
<execution>
|
|
<id>test-compile</id>
|
|
<phase>process-test-sources</phase>
|
|
<goals>
|
|
<goal>test-compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sourceDirs>
|
|
<source>src/test/kotlin</source>
|
|
</sourceDirs>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Run the example application right after building
|
|
(why isn't this working with Kotlin??)
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<version>1.6.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>run-example</id>
|
|
<phase>install</phase>
|
|
<goals>
|
|
<goal>java</goal>
|
|
</goals>
|
|
<configuration>
|
|
<mainClass>org.jooq.example.kotlin.FunWithKotlinAndJOOQKt</mainClass>
|
|
<classpathScope>test</classpathScope>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
-->
|
|
</plugins>
|
|
</build>
|
|
</project> |