shehzaadn-vd commented on a change in pull request #13686:
URL: https://github.com/apache/beam/pull/13686#discussion_r574947189



##########
File path: sdks/java/extensions/ml/build.gradle
##########
@@ -21,25 +21,33 @@ import groovy.json.JsonOutput
  */
 
 plugins { id 'org.apache.beam.module' }
-applyJavaNature(automaticModuleName: 'org.apache.beam.sdk.extensions.ml')
+applyJavaNature(
+    enableStrictDependencies: true,
+    automaticModuleName: 'org.apache.beam.sdk.extensions.ml'
+)
 
 description = 'Apache Beam :: SDKs :: Java :: Extensions :: ML'
 
 dependencies {
     compile project(path: ":sdks:java:core", configuration: "shadow")
     compile project(":sdks:java:expansion-service")
+    permitUnusedDeclared project(":sdks:java:expansion-service")
     compile 'com.google.cloud:google-cloud-video-intelligence:1.2.0'
     compile 'com.google.cloud:google-cloud-dlp:1.1.4'
     compile 'com.google.cloud:google-cloud-language:1.99.4'
+    compile 'com.google.api.grpc:proto-google-cloud-dlp-v2:1.1.4'
+    compile 'com.google.api.grpc:proto-google-cloud-language-v1:1.81.4'
+    compile 
'com.google.api.grpc:proto-google-cloud-video-intelligence-v1:1.2.0'
+    compile 'com.google.api.grpc:proto-google-cloud-vision-v1:1.81.3'
+    compile library.java.gax
+    compile library.java.protobuf_java
+    compile library.java.slf4j_api
     provided library.java.junit
     testCompile project(path: ':sdks:java:core', configuration: 'shadowTest')
     compile 'com.google.cloud:google-cloud-vision:1.99.3'
+    permitUsedUndeclared "com.google.auto.value:auto-value-annotations:1.7"

Review comment:
       @ibzib When i remove this line, i get the error:
   ```
   Execution failed for task 
':sdks:java:extensions:ml:analyzeClassesDependencies'.
   > Dependency analysis found issues.
     usedUndeclaredArtifacts: 
      - com.google.auto.value:auto-value-annotations:1.7@jar
   ```
   
   To dig into this further, I ran ../../../../gradlew -q dependencies in 
sdks/java/extensions/ml and captured the output here:
   
https://docs.google.com/document/d/1FNxea7Qbn8ckrphV25U7qh75a6z-PEl3iKgdJJwld5E/edit
   
   It seems that via com.google.cloud:google-cloud-video-intelligence:1.2.0, we 
are getting runtimeClasspath dependencies to 
com.google.auto.value:auto-value-annotations:1.7 - which is not being resolved 
to 1.7.2, the version declared in BeamModulePlugin.groovy as a compileOnly 
dependency. See the highlighted lines in the doc I linked to above.
   
   Maybe this is because BeamModulePlugin.groovy declares 
auto-value-annotations as compileOnly whereas it is actually needed at runtime.
   
   Not sure if this could point to the the cause or it's just a red herring...?
   
   




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to