diff options
author | ronshapiro <ronshapiro@google.com> | 2018-03-09 10:44:45 -0800 |
---|---|---|
committer | Ron Shapiro <shapiro.rd@gmail.com> | 2018-03-12 13:28:54 -0700 |
commit | 0c488d7f3a701d6947cd5e5cb28cf2c71d6b3424 (patch) | |
tree | f769a962827d593f65994cb6b0e283b14673defb | |
parent | 73e8eff9cba3838ec26aba5b1dca8f53f169b571 (diff) | |
download | auto-0c488d7f3a701d6947cd5e5cb28cf2c71d6b3424.tar.gz |
Create an auto-value-annotations artifact separate from the processor
Fixes https://github.com/google/auto/issues/268
I followed the instructions in https://maven.apache.org/guides/mini/guide-using-one-source-directory.html because it seemed like the easiest way forward without moving around any files.
RELNOTES=`@AutoValue`, `@AutoAnnotation`, `@AutoOneOf`, and `@Memoized` are now in a separate artifact, `auto-value-annotations`. This allows users to specify the annotations in compile scope and the processor in an annotation processing scope, without leaking the processor to a release binary. To upgrade to this version of auto-value, you'll need to add this new artifact as a dependency.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=188505001
-rw-r--r-- | value/annotations/pom.xml | 75 | ||||
-rw-r--r-- | value/pom.xml | 118 | ||||
-rw-r--r-- | value/processor/pom.xml | 176 | ||||
-rw-r--r-- | value/src/it/functional/pom.xml | 5 | ||||
-rw-r--r-- | value/src/it/gwtserializer/pom.xml | 5 | ||||
-rw-r--r-- | value/userguide/index.md | 16 |
6 files changed, 281 insertions, 114 deletions
diff --git a/value/annotations/pom.xml b/value/annotations/pom.xml new file mode 100644 index 00000000..56d8c6a2 --- /dev/null +++ b/value/annotations/pom.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2012 Google, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<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.google.auto</groupId> + <artifactId>auto-parent</artifactId> + <version>6</version> + </parent> + + <groupId>com.google.auto.value</groupId> + <artifactId>auto-value-annotations</artifactId> + <version>HEAD-SNAPSHOT</version> + <name>AutoValue Annotations</name> + <description> + Immutable value-type code generation for Java 1.6+. + </description> + + <scm> + <url>http://github.com/google/auto</url> + <connection>scm:git:git://github.com/google/auto.git</connection> + <developerConnection>scm:git:ssh://git@github.com/google/auto.git</developerConnection> + <tag>HEAD</tag> + </scm> + <build> + <sourceDirectory>../src/main/java</sourceDirectory> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <includes> + <include>com/google/auto/value/*</include> + <include>com/google/auto/value/extension/memoized/*</include> + </includes> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-invoker-plugin</artifactId> + </plugin> + </plugins> + </build> + <profiles> + <profile> + <id>disable-java8-doclint</id> + <activation> + <jdk>[1.8,)</jdk> + </activation> + <properties> + <additionalparam>-Xdoclint:none</additionalparam> + </properties> + </profile> + </profiles> +</project> diff --git a/value/pom.xml b/value/pom.xml index 5ee1e533..470d9a1a 100644 --- a/value/pom.xml +++ b/value/pom.xml @@ -25,12 +25,13 @@ </parent> <groupId>com.google.auto.value</groupId> - <artifactId>auto-value</artifactId> + <artifactId>auto-value-pom-aggregator</artifactId> <version>HEAD-SNAPSHOT</version> <name>AutoValue</name> <description> Immutable value-type code generation for Java 1.6+. </description> + <packaging>pom</packaging> <scm> <url>http://github.com/google/auto</url> @@ -39,123 +40,18 @@ <tag>HEAD</tag> </scm> - <dependencies> - <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</artifactId> - <version>1.0-rc4</version> - </dependency> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - </dependency> - <dependency> - <groupId>com.squareup</groupId> - <artifactId>javapoet</artifactId> - </dependency> - <!-- test dependencies --> - <dependency> - <groupId>org.apache.velocity</groupId> - <artifactId>velocity</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava-testlib</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>com.google.truth</groupId> - <artifactId>truth</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>com.google.testing.compile</groupId> - <artifactId>compile-testing</artifactId> - <scope>test</scope> - </dependency> - </dependencies> + <modules> + <module>annotations</module> + <module>processor</module> + </modules> <build> - <resources> - <resource> - <directory>src/main/java</directory> - <includes> - <include>**/*.vm</include> - </includes> - </resource> - </resources> <plugins> <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - </plugin> - <plugin> + <!-- Used to run the functional tests --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-invoker-plugin</artifactId> </plugin> - <plugin> - <groupId>org.immutables.tools</groupId> - <artifactId>maven-shade-plugin</artifactId> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <minimizeJar>true</minimizeJar> - <artifactSet> - <excludes> - <exclude>com.google.code.findbugs:jsr305</exclude> - </excludes> - </artifactSet> - <relocations> - <relocation> - <pattern>org.objectweb</pattern> - <shadedPattern>autovalue.shaded.org.objectweb$</shadedPattern> - </relocation> - <relocation> - <pattern>com.google</pattern> - <shadedPattern>autovalue.shaded.com.google$</shadedPattern> - <excludes> - <exclude>com.google.auto.value.**</exclude> - </excludes> - </relocation> - <relocation> - <pattern>com.squareup.javapoet</pattern> - <shadedPattern>autovalue.shaded.com.squareup.javapoet$</shadedPattern> - </relocation> - </relocations> - </configuration> - </execution> - </executions> - </plugin> </plugins> </build> - <profiles> - <profile> - <id>disable-java8-doclint</id> - <activation> - <jdk>[1.8,)</jdk> - </activation> - <properties> - <additionalparam>-Xdoclint:none</additionalparam> - </properties> - </profile> - </profiles> </project> diff --git a/value/processor/pom.xml b/value/processor/pom.xml new file mode 100644 index 00000000..fb4fbc0d --- /dev/null +++ b/value/processor/pom.xml @@ -0,0 +1,176 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2012 Google, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<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.google.auto</groupId> + <artifactId>auto-parent</artifactId> + <version>6</version> + </parent> + + <groupId>com.google.auto.value</groupId> + <artifactId>auto-value</artifactId> + <version>HEAD-SNAPSHOT</version> + <name>AutoValue Processor</name> + <description> + Immutable value-type code generation for Java 1.6+. + </description> + + <scm> + <url>http://github.com/google/auto</url> + <connection>scm:git:git://github.com/google/auto.git</connection> + <developerConnection>scm:git:ssh://git@github.com/google/auto.git</developerConnection> + <tag>HEAD</tag> + </scm> + + <dependencies> + <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</artifactId> + <version>1.0-rc4</version> + </dependency> + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + </dependency> + <dependency> + <groupId>com.squareup</groupId> + <artifactId>javapoet</artifactId> + </dependency> + <!-- test dependencies --> + <dependency> + <groupId>com.google.auto.value</groupId> + <artifactId>auto-value-annotations</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.velocity</groupId> + <artifactId>velocity</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava-testlib</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.google.truth</groupId> + <artifactId>truth</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.google.testing.compile</groupId> + <artifactId>compile-testing</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <sourceDirectory>../src/main/java</sourceDirectory> + <testSourceDirectory>../src/test/java</testSourceDirectory> + + <resources> + <resource> + <directory>../src/main/java</directory> + <includes> + <include>**/*.vm</include> + </includes> + </resource> + </resources> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <includes> + <include>com/google/auto/value/processor/**/*.java</include> + <include>com/google/auto/value/extension/memoized/processor/**/*.java</include> + </includes> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-invoker-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.immutables.tools</groupId> + <artifactId>maven-shade-plugin</artifactId> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + <configuration> + <minimizeJar>true</minimizeJar> + <artifactSet> + <excludes> + <exclude>com.google.code.findbugs:jsr305</exclude> + </excludes> + </artifactSet> + <relocations> + <relocation> + <pattern>org.objectweb</pattern> + <shadedPattern>autovalue.shaded.org.objectweb$</shadedPattern> + </relocation> + <relocation> + <pattern>com.google</pattern> + <shadedPattern>autovalue.shaded.com.google$</shadedPattern> + <excludes> + <exclude>com.google.auto.value.**</exclude> + </excludes> + </relocation> + <relocation> + <pattern>com.squareup.javapoet</pattern> + <shadedPattern>autovalue.shaded.com.squareup.javapoet$</shadedPattern> + </relocation> + </relocations> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + <profiles> + <profile> + <id>disable-java8-doclint</id> + <activation> + <jdk>[1.8,)</jdk> + </activation> + <properties> + <additionalparam>-Xdoclint:none</additionalparam> + </properties> + </profile> + </profiles> +</project> diff --git a/value/src/it/functional/pom.xml b/value/src/it/functional/pom.xml index 2b7bad42..9cec5ed1 100644 --- a/value/src/it/functional/pom.xml +++ b/value/src/it/functional/pom.xml @@ -28,6 +28,11 @@ <dependencies> <dependency> <groupId>com.google.auto.value</groupId> + <artifactId>auto-value-annotations</artifactId> + <version>@project.version@</version> + </dependency> + <dependency> + <groupId>com.google.auto.value</groupId> <artifactId>auto-value</artifactId> <version>@project.version@</version> </dependency> diff --git a/value/src/it/gwtserializer/pom.xml b/value/src/it/gwtserializer/pom.xml index 67eb92e4..84333614 100644 --- a/value/src/it/gwtserializer/pom.xml +++ b/value/src/it/gwtserializer/pom.xml @@ -36,6 +36,11 @@ <dependencies> <dependency> <groupId>com.google.auto.value</groupId> + <artifactId>auto-value-annotations</artifactId> + <version>@project.version@</version> + </dependency> + <dependency> + <groupId>com.google.auto.value</groupId> <artifactId>auto-value</artifactId> <version>@project.version@</version> <optional>true</optional> diff --git a/value/userguide/index.md b/value/userguide/index.md index 14817d1b..b337efd8 100644 --- a/value/userguide/index.md +++ b/value/userguide/index.md @@ -76,19 +76,29 @@ Maven users should add the following to the project's `pom.xml` file: ```xml <dependency> <groupId>com.google.auto.value</groupId> + <artifactId>auto-value-annotations</artifactId> + <version>1.6</version> +</dependency> +<dependency> + <groupId>com.google.auto.value</groupId> <artifactId>auto-value</artifactId> - <version>1.5</version> + <version>1.6</version> <scope>provided</scope> </dependency> ``` +Alternatively, instead of using the `provided` scope, you can add the second +dependency to the +[`annotationProcessorPaths`](https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#annotationProcessorPaths) +section. + Gradle users should install the annotation processing plugin [as described in these instructions][tbroyer-apt] and then use it in the `build.gradle` script: ```groovy dependencies { - compileOnly "com.google.auto.value:auto-value:1.5" - apt "com.google.auto.value:auto-value:1.5" + compileOnly "com.google.auto.value:auto-value-annotations:1.6" + apt "com.google.auto.value:auto-value:1.6" } ``` |