mirror of https://github.com/grpc/grpc-java.git
e560c6206c
We have two versions of multiple projects, the non-shadow and the shadow. When using project() references, things are mostly fine, although we may test with a different version than our users would use. However, when a dependency from Maven Central depends on a grpc artifact, it pulls in the non-shadow configuration and messes up gradle's tracking. We shouldn't be using the non-shadow configuration, so this issue is sort of a blessing to improve the test reliability. Gradle 7 will notice that there's a missing dependency, but it is not deterministic and is very slow to test. Starting in Gradle 8 it is much more reliably triggered which greatly helped the testing efforts. The error in Gradle 7 looks like: ``` > Task :grpc-gcp-observability:interop:startScripts Execution optimizations have been disabled for task ':grpc-gcp-observability:interop:startScripts' to ensure correctness due to the following reasons: - Gradle detected a problem with the following location: 'grpc-java/netty/shaded/build/libs/grpc-netty-shaded-1.54.0-SNAPSHOT-original.jar'. Reason: Task ':grpc-gcp-observability:interop:startScripts' uses this output of task ':grpc-netty-shaded:jar' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.6/userguide/validation_problems.html#implicit_dependency for more details about this problem. ``` Fixes #9992 |
||
---|---|---|
.. | ||
interop | ||
src | ||
build.gradle |