You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2021/02/13 00:01:28 UTC
[GitHub] [beam] ibzib commented on a change in pull request #13830: [BEAM-10961] Enable strict dependency checking on sdks/java/extensions/sql
ibzib commented on a change in pull request #13830:
URL: https://github.com/apache/beam/pull/13830#discussion_r575579911
##########
File path: sdks/java/extensions/sql/datacatalog/build.gradle
##########
@@ -20,13 +20,25 @@ import groovy.json.JsonOutput
plugins { id 'org.apache.beam.module' }
-applyJavaNature(automaticModuleName: 'org.apache.beam.sdk.extensions.sql.datacatalog')
+applyJavaNature(
+ enableStrictDependencies: true,
+ automaticModuleName: 'org.apache.beam.sdk.extensions.sql.datacatalog')
dependencies {
compile enforcedPlatform(library.java.google_cloud_platform_libraries_bom)
compile(library.java.google_cloud_datacatalog_v1beta1) {
exclude group: 'io.grpc', module: 'grpc-core' // Use Beam's version
}
+ compile library.java.gax
+ compile library.java.google_auth_library_credentials
+ compile library.java.proto_google_cloud_datacatalog_v1beta1
+ compile library.java.protobuf_java
+ permitUnusedDeclared library.java.protobuf_java
+ compile library.java.slf4j_api
+ compile library.java.vendored_guava_26_0_jre
+ compile project(path: ":sdks:java:core", configuration: "shadow")
+ compile "org.threeten:threetenbp:1.4.5"
Review comment:
Adding both `compile` and `permitUnusedDeclared` for the same dependency doesn't make sense.
##########
File path: sdks/java/extensions/sql/build.gradle
##########
@@ -73,7 +75,12 @@ dependencies {
compile "com.alibaba:fastjson:1.2.69"
compile "org.codehaus.janino:janino:3.0.11"
compile "org.codehaus.janino:commons-compiler:3.0.11"
- provided "org.checkerframework:checker-qual:3.4.1"
+ compile library.java.jackson_core
+ compile library.java.mongo_java_driver
+ compile library.java.vendored_guava_26_0_jre
+ compile library.java.slf4j_api
+ compile library.java.joda_time
+ compile library.java.vendored_guava_26_0_jre
Review comment:
You added `library.java.vendored_guava_26_0_jre` twice here.
##########
File path: sdks/java/extensions/sql/jdbc/build.gradle
##########
@@ -32,18 +33,16 @@ configurations {
dependencies {
compile project(":sdks:java:extensions:sql")
- compile "jline:jline:2.14.6"
compile "sqlline:sqlline:1.4.0"
- compile library.java.slf4j_jdk14
Review comment:
On second thought, I think this one's safe to remove entirely.
##########
File path: sdks/java/extensions/sql/jdbc/build.gradle
##########
@@ -33,17 +34,19 @@ configurations {
dependencies {
compile project(":sdks:java:extensions:sql")
compile "jline:jline:2.14.6"
+ permitUnusedDeclared "jline:jline:2.14.6" // BEAM-11761
compile "sqlline:sqlline:1.4.0"
- compile library.java.slf4j_jdk14
+ compile library.java.vendored_guava_26_0_jre
+ runtimeOnly library.java.slf4j_jdk14
+ runtimeOnly "jline:jline:2.14.6"
Review comment:
Let's go with `permitUnusedDeclared` instead of `runtimeOnly` for this one.
##########
File path: sdks/java/extensions/sql/zetasql/build.gradle
##########
@@ -31,23 +32,29 @@ def zetasql_version = "2020.10.1"
dependencies {
compile enforcedPlatform(library.java.google_cloud_platform_libraries_bom)
- compile project(":sdks:java:core")
+ compile project(path: ":sdks:java:core", configuration: "shadow")
compile project(":sdks:java:extensions:sql")
+ compile project(":sdks:java:extensions:sql:udf")
compile library.java.vendored_calcite_1_20_0
compile library.java.guava
compile library.java.grpc_api
+ compile library.java.joda_time
compile library.java.protobuf_java
compile library.java.protobuf_java_util
- compile "com.google.api.grpc:proto-google-common-protos:1.12.0" // Interfaces with ZetaSQL use this
- compile "com.google.api.grpc:grpc-google-common-protos:1.12.0" // Interfaces with ZetaSQL use this
- compile "com.google.zetasql:zetasql-jni-channel:$zetasql_version"
+ permitUnusedDeclared library.java.protobuf_java_util
+ compile library.java.slf4j_api
+ compile library.java.vendored_guava_26_0_jre
+ compile library.java.proto_google_common_protos // Interfaces with ZetaSQL use this
+ permitUnusedDeclared "com.google.api.grpc:proto-google-common-protos:2.0.1" // BEAM-11761
Review comment:
This was added twice.
Also, if you're using the `library.java` version in the `compile` statement, you should also use it in the corresponding `permitUnusedDeclared`.
##########
File path: sdks/java/extensions/sql/zetasql/build.gradle
##########
@@ -57,6 +64,6 @@ dependencies {
test {
dependsOn ":sdks:java:extensions:sql:emptyJar"
// Pass jars used by Java UDF tests via system properties.
- systemProperty "beam.sql.udf.test.jar_path", project(":sdks:java:extensions:sql:udf-test-provider").jarPath
- systemProperty "beam.sql.udf.test.empty_jar_path", project(":sdks:java:extensions:sql").emptyJar.archivePath
+// systemProperty "beam.sql.udf.test.jar_path", project(":sdks:java:extensions:sql:udf-test-provider").jarPath
Review comment:
Uncomment these.
##########
File path: sdks/java/extensions/sql/datacatalog/build.gradle
##########
@@ -20,13 +20,25 @@ import groovy.json.JsonOutput
plugins { id 'org.apache.beam.module' }
-applyJavaNature(automaticModuleName: 'org.apache.beam.sdk.extensions.sql.datacatalog')
+applyJavaNature(
+ enableStrictDependencies: true,
+ automaticModuleName: 'org.apache.beam.sdk.extensions.sql.datacatalog')
dependencies {
compile enforcedPlatform(library.java.google_cloud_platform_libraries_bom)
compile(library.java.google_cloud_datacatalog_v1beta1) {
exclude group: 'io.grpc', module: 'grpc-core' // Use Beam's version
}
+ compile library.java.gax
+ compile library.java.google_auth_library_credentials
+ compile library.java.proto_google_cloud_datacatalog_v1beta1
+ compile library.java.protobuf_java
+ permitUnusedDeclared library.java.protobuf_java
Review comment:
Adding both `compile` and `permitUnusedDeclared` for the same dependency doesn't make sense.
----------------------------------------------------------------
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:
users@infra.apache.org