-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
Issue
The most recent version of this library compiles and includes some extra classes, originally coming from Google proto definitions. Those classes conflict with existing ones of the proto-google-common-protos
library.
Affected version
1.4.1
Context
Output of the duplicate-finder maven plugin
[INFO] --- duplicate-finder:2.0.1:check (com.gropyus.tiles_duplicate-finder_0.14.121__default) @ authz-api ---
[INFO] Checking compile classpath
[INFO] Checking runtime classpath
[INFO] Checking test classpath
[WARNING] Found duplicate and different classes in [com.authzed.api:authzed:1.4.1, com.google.api.grpc:proto-google-common-protos:2.61.2]:
[WARNING] com.google.api.AnnotationsProto
[WARNING] com.google.api.CustomHttpPattern
[WARNING] com.google.api.Http
[WARNING] com.google.api.HttpProto
[WARNING] com.google.api.HttpRule
[WARNING] com.google.rpc.Status
[WARNING] com.google.rpc.StatusProto
[WARNING] Found duplicate classes/resources in compile classpath.
[WARNING] Found duplicate and different classes in [com.authzed.api:authzed:1.4.1, com.google.api.grpc:proto-google-common-protos:2.61.2]:
[WARNING] com.google.api.AnnotationsProto
[WARNING] com.google.api.CustomHttpPattern
[WARNING] com.google.api.Http
[WARNING] com.google.api.HttpProto
[WARNING] com.google.api.HttpRule
[WARNING] com.google.rpc.Status
[WARNING] com.google.rpc.StatusProto
[WARNING] Found duplicate classes/resources in runtime classpath.
[WARNING] Found duplicate and different classes in [com.authzed.api:authzed:1.4.1, com.google.api.grpc:proto-google-common-protos:2.61.2]:
[WARNING] com.google.api.AnnotationsProto
[WARNING] com.google.api.CustomHttpPattern
[WARNING] com.google.api.Http
[WARNING] com.google.api.HttpProto
[WARNING] com.google.api.HttpRule
[WARNING] com.google.rpc.Status
[WARNING] com.google.rpc.StatusProto
[WARNING] Found duplicate classes/resources in test classpath.
Output of mvn dependency:tree -Dverbose=true
com.google.api.grpc:proto-google-common-protos
is a transitive dependency of grpc-protobuf
:
[INFO] --- dependency:3.7.0:tree (default-cli) @ test ---
[INFO] test:test:jar:0.0.1
[INFO] +- com.authzed.api:authzed:jar:1.4.1:compile
[INFO] | +- com.google.protobuf:protobuf-java:jar:4.31.1:compile
[INFO] | +- io.grpc:grpc-protobuf:jar:1.73.0:runtime
[INFO] | | +- (io.grpc:grpc-api:jar:1.73.0:runtime - omitted for conflict with 1.72.0)
[INFO] | | +- (com.google.code.findbugs:jsr305:jar:3.0.2:runtime - omitted for duplicate)
[INFO] | | +- com.google.api.grpc:proto-google-common-protos:jar:2.51.0:runtime
[INFO] | | +- (com.google.guava:guava:jar:33.3.1-android:runtime - omitted for duplicate)
[INFO] | | \- io.grpc:grpc-protobuf-lite:jar:1.73.0:runtime
[INFO] | | +- (io.grpc:grpc-api:jar:1.73.0:runtime - omitted for conflict with 1.72.0)
[INFO] | | +- (com.google.code.findbugs:jsr305:jar:3.0.2:runtime - omitted for duplicate)
[INFO] | | \- (com.google.guava:guava:jar:33.3.1-android:runtime - omitted for duplicate)
Reproduce
Here is a minimal POM file, with the configuration taken from your README + the duplicate-finder-maven-plugin.
Run "mvn clean verify" to see the error.
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>test</artifactId>
<version>0.0.1</version>
<dependencies>
<dependency>
<groupId>com.authzed.api</groupId>
<artifactId>authzed</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-api</artifactId>
<version>1.73.0</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>1.73.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.basepom.maven</groupId>
<artifactId>duplicate-finder-maven-plugin</artifactId>
<version>2.0.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<failBuildInCaseOfDifferentContentConflict>true</failBuildInCaseOfDifferentContentConflict>
<failBuildInCaseOfEqualContentConflict>false</failBuildInCaseOfEqualContentConflict>
<ignoredClassPatterns>
<ignoredClassPattern>.*\.module-info</ignoredClassPattern>
</ignoredClassPatterns>
<ignoredResourcePatterns>
<ignoredResourcePattern>.*</ignoredResourcePattern>
</ignoredResourcePatterns>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Expected behavior
The JAR of com.authzed.api:authzed
only includes "com.authzed" classes, as it was back in version 1.3.x.
Metadata
Metadata
Assignees
Labels
No labels