a5020ddb3c
* Support gradle incremental processing in code gen This adds support for incremental compilation in gradle via incap helper and marking the code gen as `ISOLATING`. Depends on a newer version of KotlinPoet that has https://github.com/square/kotlinpoet/pull/647 Resolves #589 * Opportunistically update to auto-service 1.0-rc5 Supports incremental compilation and moves annotations to a separate artifact * 1.2.0 final! * Mark compiler embeddales as test only
205 lines
6.4 KiB
XML
205 lines
6.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>com.squareup.moshi</groupId>
|
|
<artifactId>moshi-parent</artifactId>
|
|
<version>1.9.0-SNAPSHOT</version>
|
|
<relativePath>../../pom.xml</relativePath>
|
|
</parent>
|
|
|
|
<artifactId>moshi-kotlin-codegen</artifactId>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.squareup.moshi</groupId>
|
|
<artifactId>moshi</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
<artifactId>kotlin-stdlib</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.squareup</groupId>
|
|
<artifactId>kotlinpoet</artifactId>
|
|
<version>1.2.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.ltgt.gradle.incap</groupId>
|
|
<artifactId>incap</artifactId>
|
|
<version>${incap.version}</version>
|
|
<scope>provided</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.auto</groupId>
|
|
<artifactId>auto-common</artifactId>
|
|
<version>0.10</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.auto.service</groupId>
|
|
<artifactId>auto-service-annotations</artifactId>
|
|
<version>${autoservice.version}</version>
|
|
<scope>provided</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!--
|
|
The Kotlin compiler must be near the end of the list because its .jar file includes an
|
|
obsolete version of Guava!
|
|
-->
|
|
<dependency>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
<artifactId>kotlin-compiler-embeddable</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
<artifactId>kotlin-annotation-processing-embeddable</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>me.eugeniomarletti.kotlin.metadata</groupId>
|
|
<artifactId>kotlin-metadata</artifactId>
|
|
</dependency>
|
|
<!--
|
|
Though we don't use compile-testing, including it is a convenient way to get tools.jar on the
|
|
classpath. This dependency is required by kapt3.
|
|
-->
|
|
<dependency>
|
|
<groupId>com.google.testing.compile</groupId>
|
|
<artifactId>compile-testing</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<properties>
|
|
<maven.javadoc.skip>true</maven.javadoc.skip><!-- We use Dokka instead. -->
|
|
</properties>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
<artifactId>kotlin-maven-plugin</artifactId>
|
|
<version>${kotlin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>kapt</id>
|
|
<goals>
|
|
<goal>kapt</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sourceDirs>
|
|
<sourceDir>src/main/kotlin</sourceDir>
|
|
<sourceDir>src/main/java</sourceDir>
|
|
</sourceDirs>
|
|
<annotationProcessorPaths>
|
|
<annotationProcessorPath>
|
|
<groupId>com.google.auto.service</groupId>
|
|
<artifactId>auto-service</artifactId>
|
|
<version>${autoservice.version}</version>
|
|
</annotationProcessorPath>
|
|
<annotationProcessorPath>
|
|
<groupId>net.ltgt.gradle.incap</groupId>
|
|
<artifactId>incap-processor</artifactId>
|
|
<version>${incap.version}</version>
|
|
</annotationProcessorPath>
|
|
</annotationProcessorPaths>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>compile</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>test-compile</id>
|
|
<phase>test-compile</phase>
|
|
<goals>
|
|
<goal>test-compile</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>compile</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>testCompile</id>
|
|
<phase>test-compile</phase>
|
|
<goals>
|
|
<goal>testCompile</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>2.21.0</version>
|
|
<configuration>
|
|
<!--
|
|
Suppress the surefire classloader which prevents introspecting the classpath.
|
|
http://maven.apache.org/surefire/maven-surefire-plugin/examples/class-loading.html
|
|
-->
|
|
<useManifestOnlyJar>false</useManifestOnlyJar>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<version>${maven-assembly.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<descriptors>
|
|
<descriptor>src/assembly/dokka.xml</descriptor>
|
|
</descriptors>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.jetbrains.dokka</groupId>
|
|
<artifactId>dokka-maven-plugin</artifactId>
|
|
<version>${dokka.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>dokka</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|