This is an automated email from the ASF dual-hosted git repository.
bhulette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push:
new 2e72638 [BEAM-13430] Remove propdeps and replace with compileOnly
(#16308)
2e72638 is described below
commit 2e72638c6b08631bbb9a29e6c24f97043ffd0a31
Author: dpcollins-google <[email protected]>
AuthorDate: Tue Dec 21 17:02:12 2021 -0500
[BEAM-13430] Remove propdeps and replace with compileOnly (#16308)
* [BEAM-13430] Remove propdeps and replace with compileOnly
Still generate <scope>provided</scope> in the output POM
* [BEAM-13430] Remove propdeps and replace with compileOnly
Still generate <scope>provided</scope> in the output POM
* [BEAM-13430] Remove propdeps and replace with compileOnly
Still generate <scope>provided</scope> in the output POM
* [BEAM-13430] Remove propdeps and replace with compileOnly
Still generate <scope>provided</scope> in the output POM
* [BEAM-13430] Remove propdeps and replace with compileOnly
Still generate <scope>provided</scope> in the output POM
* [BEAM-13430] Remove propdeps and replace with compileOnly
Still generate <scope>provided</scope> in the output POM
* [BEAM-13430] Remove propdeps and replace with compileOnly
Still generate <scope>provided</scope> in the output POM
* [BEAM-13430] Remove propdeps and replace with compileOnly
Still generate <scope>provided</scope> in the output POM
* [BEAM-13430] Remove propdeps and replace with compileOnly
Still generate <scope>provided</scope> in the output POM
* [BEAM-13430] Remove propdeps and replace with compileOnly
Still generate <scope>provided</scope> in the output POM
---
buildSrc/build.gradle.kts | 1 -
.../org/apache/beam/gradle/BeamModulePlugin.groovy | 16 ++---------
examples/java/build.gradle | 4 +--
examples/java/twitter/build.gradle | 4 +--
examples/kotlin/build.gradle | 2 +-
ownership/JAVA_DEPENDENCY_OWNERS.yaml | 5 ----
runners/direct-java/build.gradle | 4 +--
runners/flink/flink_runner.gradle | 3 +-
.../worker/legacy-worker/build.gradle | 16 ++++++++---
.../dataflow/worker/status/DebugCapture.java | 4 +--
runners/java-fn-execution/build.gradle | 5 ++--
runners/spark/job-server/spark_job_server.gradle | 4 +--
runners/spark/spark_runner.gradle | 29 +++++++++++++-------
sdks/java/container/build.gradle | 2 +-
sdks/java/core/build.gradle | 12 ++++----
.../google-cloud-platform-core/build.gradle | 4 +--
sdks/java/extensions/ml/build.gradle | 2 +-
sdks/java/extensions/sorter/build.gradle | 6 ++--
sdks/java/extensions/sql/build.gradle | 32 ++++++++++++++++------
sdks/java/extensions/sql/datacatalog/build.gradle | 14 ++++++++--
sdks/java/extensions/sql/hcatalog/build.gradle | 7 +++--
.../provider/hcatalog/BeamSqlHiveSchemaTest.java | 5 ++++
sdks/java/extensions/sql/jdbc/build.gradle | 7 +----
sdks/java/extensions/sql/zetasql/build.gradle | 2 +-
sdks/java/fn-execution/build.gradle | 2 +-
sdks/java/io/debezium/build.gradle | 2 +-
sdks/java/io/hadoop-common/build.gradle | 9 ++++--
sdks/java/io/hadoop-file-system/build.gradle | 6 ++--
sdks/java/io/hadoop-format/build.gradle | 9 ++++--
sdks/java/io/hbase/build.gradle | 2 +-
sdks/java/io/hcatalog/build.gradle | 13 +++++----
sdks/java/io/kafka/build.gradle | 11 ++++----
sdks/java/io/parquet/build.gradle | 3 +-
sdks/java/io/rabbitmq/build.gradle | 2 +-
sdks/java/testing/tpcds/build.gradle | 2 +-
35 files changed, 147 insertions(+), 104 deletions(-)
diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts
index 47df89e..3339eba 100644
--- a/buildSrc/build.gradle.kts
+++ b/buildSrc/build.gradle.kts
@@ -43,7 +43,6 @@ dependencies {
runtimeOnly("net.ltgt.gradle:gradle-apt-plugin:0.21")
// Enable a Java annotation processor
runtimeOnly("com.google.protobuf:protobuf-gradle-plugin:0.8.13")
// Enable proto code generation
- runtimeOnly("io.spring.gradle:propdeps-plugin:0.0.9.RELEASE")
// Enable provided and optional configurations
runtimeOnly("com.commercehub.gradle.plugin:gradle-avro-plugin:0.11.0")
// Enable Avro code generation
runtimeOnly("com.diffplug.spotless:spotless-plugin-gradle:5.6.1")
// Enable a code formatting plugin
runtimeOnly("gradle.plugin.com.github.blindpirate:gogradle:0.11.4")
// Enable Go code compilation
diff --git
a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
index 469afc2..a91d62e 100644
--- a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
@@ -748,9 +748,6 @@ class BeamModulePlugin implements Plugin<Project> {
// * java
// * maven
// * net.ltgt.apt (plugin to configure annotation processing tool)
- // * propdeps (provide optional and provided dependency configurations)
- // * propdeps-maven
- // * propdeps-idea
// * checkstyle
// * spotbugs
// * shadow (conditional on shadowClosure being specified)
@@ -1032,13 +1029,6 @@ class BeamModulePlugin implements Plugin<Project> {
implementation
"org.checkerframework:checker-qual:$checkerframework_version"
}
- // Add the optional and provided configurations for dependencies
- // TODO: Either remove these plugins and find another way to generate
the Maven poms
- // with the correct dependency scopes configured.
- project.apply plugin: 'propdeps'
- project.apply plugin: 'propdeps-maven'
- project.apply plugin: 'propdeps-idea'
-
// Defines Targets for sonarqube analysis reporting.
project.apply plugin: "org.sonarqube"
@@ -1254,7 +1244,7 @@ class BeamModulePlugin implements Plugin<Project> {
project.dependencies {
shadowTestRuntimeClasspath it.project(path: project.path,
configuration: "shadowTest")
- shadowTestRuntimeClasspath it.project(path: project.path,
configuration: "provided")
+ shadowTestRuntimeClasspath it.project(path: project.path,
configuration: "compileOnly")
}
project.test { classpath =
project.configurations.shadowTestRuntimeClasspath }
@@ -1580,8 +1570,8 @@ class BeamModulePlugin implements Plugin<Project> {
// TODO: Should we use the runtime scope instead of the
compile scope
// which forces all our consumers to declare what they consume?
generateDependenciesFromConfiguration(
- configuration: (configuration.shadowClosure ? 'shadow' :
'compile'), scope: 'compile')
- generateDependenciesFromConfiguration(configuration:
'provided', scope: 'provided')
+ configuration: (configuration.shadowClosure ? 'shadow' :
'implementation'), scope: 'compile')
+ generateDependenciesFromConfiguration(configuration:
'compileOnly', scope: 'provided')
if (!boms.isEmpty()) {
def dependencyManagementNode =
root.appendNode('dependencyManagement')
diff --git a/examples/java/build.gradle b/examples/java/build.gradle
index 677317d..dba5320 100644
--- a/examples/java/build.gradle
+++ b/examples/java/build.gradle
@@ -77,8 +77,8 @@ dependencies {
implementation library.java.proto_google_cloud_bigtable_v2
implementation library.java.proto_google_cloud_datastore_v1
implementation library.java.slf4j_api
- provided library.java.commons_io
- provided library.java.commons_csv
+ implementation library.java.commons_io
+ implementation library.java.commons_csv
runtimeOnly project(path: ":runners:direct-java", configuration: "shadow")
implementation library.java.vendored_grpc_1_36_0
implementation library.java.vendored_guava_26_0_jre
diff --git a/examples/java/twitter/build.gradle
b/examples/java/twitter/build.gradle
index f707ae20..693e6ef 100644
--- a/examples/java/twitter/build.gradle
+++ b/examples/java/twitter/build.gradle
@@ -50,8 +50,8 @@ dependencies {
implementation project(path: ":sdks:java:core", configuration: "shadow")
implementation library.java.joda_time
implementation library.java.slf4j_api
- provided library.java.commons_io
- provided library.java.commons_csv
+ implementation library.java.commons_io
+ implementation library.java.commons_csv
runtimeOnly project(path: ":runners:direct-java", configuration: "shadow")
implementation ("org.twitter4j:twitter4j-stream:4.0.7")
implementation ("org.twitter4j:twitter4j-core:4.0.7")
diff --git a/examples/kotlin/build.gradle b/examples/kotlin/build.gradle
index 1c56e3f..3e78155 100644
--- a/examples/kotlin/build.gradle
+++ b/examples/kotlin/build.gradle
@@ -52,7 +52,7 @@ dependencies {
implementation
enforcedPlatform(library.java.google_cloud_platform_libraries_bom)
implementation library.java.vendored_guava_26_0_jre
implementation project(path: ":sdks:java:core", configuration: "shadow")
- // Add the dependency that sdks:java:core that is marked as provided
+ // Add the dependency that sdks:java:core that is marked as compileOnly
implementation library.java.hamcrest_core
implementation project(":sdks:java:extensions:google-cloud-platform-core")
implementation project(":sdks:java:io:google-cloud-platform")
diff --git a/ownership/JAVA_DEPENDENCY_OWNERS.yaml
b/ownership/JAVA_DEPENDENCY_OWNERS.yaml
index 904f440..ad117f2 100644
--- a/ownership/JAVA_DEPENDENCY_OWNERS.yaml
+++ b/ownership/JAVA_DEPENDENCY_OWNERS.yaml
@@ -514,11 +514,6 @@ deps:
artifact: opencensus-contrib-grpc-metrics
owners:
- io.spring.gradle:propdeps-plugin:
- group: io.spring.gradle
- artifact: propdeps-plugin
- owners:
-
javax.xml.bind:jaxb-api:
group: javax.xml.bind
artifact: jaxb-api
diff --git a/runners/direct-java/build.gradle b/runners/direct-java/build.gradle
index 0fab169..6219c21 100644
--- a/runners/direct-java/build.gradle
+++ b/runners/direct-java/build.gradle
@@ -74,8 +74,8 @@ dependencies {
shadow library.java.joda_time
shadow library.java.slf4j_api
shadow library.java.jackson_databind
- provided library.java.hamcrest_core
- provided library.java.junit
+ compileOnly library.java.hamcrest_core
+ compileOnly library.java.junit
shadowTest project(path: ":sdks:java:core", configuration: "shadowTest")
shadowTest project(path: ":runners:core-java", configuration:
"testRuntimeMigration")
shadowTest library.java.mockito_core
diff --git a/runners/flink/flink_runner.gradle
b/runners/flink/flink_runner.gradle
index 49d22f8..19204a5 100644
--- a/runners/flink/flink_runner.gradle
+++ b/runners/flink/flink_runner.gradle
@@ -148,7 +148,8 @@ dependencies {
implementation "org.apache.flink:flink-runtime_2.11:$flink_version"
implementation "org.apache.flink:flink-streaming-java_2.11:$flink_version"
// RocksDB state backend (included in the Flink distribution)
- provided "org.apache.flink:flink-statebackend-rocksdb_2.11:$flink_version"
+ compileOnly "org.apache.flink:flink-statebackend-rocksdb_2.11:$flink_version"
+ testImplementation
"org.apache.flink:flink-statebackend-rocksdb_2.11:$flink_version"
testImplementation project(path: ":sdks:java:core", configuration:
"shadowTest")
// FlinkStateInternalsTest extends abstract StateInternalsTest
testImplementation project(path: ":runners:core-java", configuration:
"testRuntimeMigration")
diff --git
a/runners/google-cloud-dataflow-java/worker/legacy-worker/build.gradle
b/runners/google-cloud-dataflow-java/worker/legacy-worker/build.gradle
index a0886dd..316a8ef 100644
--- a/runners/google-cloud-dataflow-java/worker/legacy-worker/build.gradle
+++ b/runners/google-cloud-dataflow-java/worker/legacy-worker/build.gradle
@@ -185,17 +185,22 @@ compileTestJava {
}
dependencies {
+ implementation
enforcedPlatform(library.java.google_cloud_platform_libraries_bom)
+
// Note that any dependency that is modified here should also be modified
within
// runners/google-cloud-dataflow-java/worker/build.gradle using the rules
provided
// there.
sdk_provided_dependencies.each {
- provided(it)
+ compileOnly(it)
+ testImplementation(it)
}
sdk_provided_shaded_project_dependencies.each {
- provided project(path: it, configuration: "shadow")
+ compileOnly project(path: it, configuration: "shadow")
+ testImplementation project(path: it, configuration: "shadow")
}
sdk_provided_project_dependencies.each {
- provided project(it)
+ compileOnly project(path: it)
+ testImplementation project(path: it)
}
implementation project(path: ":model:fn-execution", configuration:
"shadow")
@@ -208,6 +213,9 @@ dependencies {
implementation project(path:
":runners:google-cloud-dataflow-java:worker:windmill", configuration: "shadow")
shadow library.java.vendored_guava_26_0_jre
+ implementation library.java.google_auth_library_credentials
+ implementation library.java.proto_google_common_protos
+
// Conscrypt shouldn't be included here because Conscrypt won't work when
being shaded.
// (Context: https://github.com/apache/beam/pull/13846)
// Conscrypt will be added to runtime dependencies by GrpcVendoring so
compileOnly works for now.
@@ -223,7 +231,7 @@ dependencies {
implementation library.java.joda_time
implementation library.java.slf4j_api
implementation library.java.vendored_grpc_1_36_0
- provided library.java.error_prone_annotations
+ implementation library.java.error_prone_annotations
runtimeOnly library.java.slf4j_jdk14
// Any test dependency which intersects with our relocation rules above
needs to be relocated
diff --git
a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/status/DebugCapture.java
b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/status/DebugCapture.java
index 21691b1..b65410b 100644
---
a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/status/DebugCapture.java
+++
b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/status/DebugCapture.java
@@ -20,7 +20,7 @@ package org.apache.beam.runners.dataflow.worker.status;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.api.client.json.JsonFactory;
-import com.google.api.client.json.jackson2.JacksonFactory;
+import com.google.api.client.json.gson.GsonFactory;
import com.google.api.client.util.Key;
import com.google.api.services.dataflow.Dataflow;
import com.google.api.services.dataflow.model.GetDebugConfigRequest;
@@ -50,7 +50,7 @@ import org.slf4j.LoggerFactory;
})
public class DebugCapture {
private static final Logger LOG =
LoggerFactory.getLogger(DebugCapture.class);
- private static final JsonFactory JSON_FACTORY = new JacksonFactory();
+ private static final JsonFactory JSON_FACTORY = new GsonFactory();
private static final String COMPONENT = "JavaHarness";
// How often to refresh debug capture config.
private static final long UPDATE_CONFIG_PERIOD_SEC = 60;
diff --git a/runners/java-fn-execution/build.gradle
b/runners/java-fn-execution/build.gradle
index 4b42fec..bbdba0b 100644
--- a/runners/java-fn-execution/build.gradle
+++ b/runners/java-fn-execution/build.gradle
@@ -25,7 +25,8 @@ description = "Apache Beam :: Runners :: Java Fn Execution"
dependencies {
implementation library.java.vendored_guava_26_0_jre
implementation project(":runners:core-construction-java")
- provided project(":sdks:java:harness")
+ implementation project(":runners:core-java")
+ compileOnly project(":sdks:java:harness")
implementation project(path: ":model:pipeline", configuration: "shadow")
implementation project(path: ":model:fn-execution", configuration: "shadow")
implementation project(path: ":sdks:java:core", configuration: "shadow")
@@ -37,8 +38,8 @@ dependencies {
implementation library.java.joda_time
testImplementation project(":sdks:java:harness")
testImplementation project(":runners:core-construction-java")
- testImplementation project(path: ":runners:core-java", configuration:
"testRuntimeMigration")
testImplementation project(path: ":sdks:java:core", configuration:
"shadowTest")
+ testImplementation project(path: ":runners:core-java", configuration:
"testRuntimeMigration")
testImplementation library.java.junit
testImplementation library.java.mockito_core
testRuntimeOnly library.java.slf4j_simple
diff --git a/runners/spark/job-server/spark_job_server.gradle
b/runners/spark/job-server/spark_job_server.gradle
index 7d0acf6..0959094 100644
--- a/runners/spark/job-server/spark_job_server.gradle
+++ b/runners/spark/job-server/spark_job_server.gradle
@@ -52,9 +52,9 @@ configurations.all {
dependencies {
implementation project(sparkRunnerProject)
permitUnusedDeclared project(sparkRunnerProject)
- implementation project(path: sparkRunnerProject, configuration: "provided")
+ implementation project(path: sparkRunnerProject, configuration:
"compileOnly")
validatesPortableRunner project(path: sparkRunnerProject, configuration:
"testRuntimeMigration")
- validatesPortableRunner project(path: sparkRunnerProject, configuration:
"provided")
+ validatesPortableRunner project(path: sparkRunnerProject, configuration:
"compileOnly")
validatesPortableRunner project(path: ":sdks:java:core", configuration:
"shadowTest")
validatesPortableRunner project(path: ":runners:core-java", configuration:
"testRuntimeMigration")
validatesPortableRunner project(path: ":runners:portability:java",
configuration: "testRuntimeMigration")
diff --git a/runners/spark/spark_runner.gradle
b/runners/spark/spark_runner.gradle
index 13307cb..1c70a59 100644
--- a/runners/spark/spark_runner.gradle
+++ b/runners/spark/spark_runner.gradle
@@ -162,10 +162,10 @@ dependencies {
implementation project(":sdks:java:fn-execution")
implementation library.java.vendored_grpc_1_36_0
implementation library.java.vendored_guava_26_0_jre
- provided "org.apache.spark:spark-core_$spark_scala_version:$spark_version"
- provided
"org.apache.spark:spark-network-common_$spark_scala_version:$spark_version"
- provided "org.apache.spark:spark-sql_$spark_scala_version:$spark_version"
- provided
"org.apache.spark:spark-streaming_$spark_scala_version:$spark_version"
+ compileOnly "org.apache.spark:spark-core_$spark_scala_version:$spark_version"
+ compileOnly
"org.apache.spark:spark-network-common_$spark_scala_version:$spark_version"
+ compileOnly "org.apache.spark:spark-sql_$spark_scala_version:$spark_version"
+ compileOnly
"org.apache.spark:spark-streaming_$spark_scala_version:$spark_version"
if(project.property("spark_scala_version").equals("2.11")){
runtimeOnly library.java.jackson_module_scala_2_11
} else {
@@ -173,11 +173,20 @@ dependencies {
}
// Force paranamer 2.8 to avoid issues when using Scala 2.12
runtimeOnly "com.thoughtworks.paranamer:paranamer:2.8"
- provided library.java.hadoop_common
- provided library.java.commons_io
- provided library.java.hamcrest_core
- provided library.java.hamcrest_library
- provided "com.esotericsoftware.kryo:kryo:2.21"
+ compileOnly library.java.hadoop_common
+ compileOnly library.java.commons_io
+ compileOnly library.java.hamcrest_core
+ compileOnly library.java.hamcrest_library
+ compileOnly "com.esotericsoftware.kryo:kryo:2.21"
+ testImplementation
"org.apache.spark:spark-core_$spark_scala_version:$spark_version"
+ testImplementation
"org.apache.spark:spark-network-common_$spark_scala_version:$spark_version"
+ testImplementation
"org.apache.spark:spark-sql_$spark_scala_version:$spark_version"
+ testImplementation
"org.apache.spark:spark-streaming_$spark_scala_version:$spark_version"
+ testImplementation library.java.hadoop_common
+ testImplementation library.java.commons_io
+ testImplementation library.java.hamcrest_core
+ testImplementation library.java.hamcrest_library
+ testImplementation "com.esotericsoftware.kryo:kryo:2.21"
testImplementation project(":sdks:java:io:kafka")
testImplementation project(path: ":sdks:java:core", configuration:
"shadowTest")
// SparkStateInternalsTest extends abstract StateInternalsTest
@@ -196,7 +205,7 @@ dependencies {
validatesRunner project(path: ":examples:java", configuration:
"testRuntimeMigration")
validatesRunner project(path: project.path, configuration:
"testRuntimeMigration")
validatesRunner project(project.path)
- validatesRunner project(path: project.path, configuration: "provided")
+ validatesRunner project(path: project.path, configuration: "compileOnly")
hadoopVersions.each {kv ->
"hadoopVersion$kv.key" "org.apache.hadoop:hadoop-common:$kv.value"
}
diff --git a/sdks/java/container/build.gradle b/sdks/java/container/build.gradle
index eae896c..142e4aa 100644
--- a/sdks/java/container/build.gradle
+++ b/sdks/java/container/build.gradle
@@ -40,7 +40,7 @@ dependencies {
dockerDependency project(path: ":sdks:java:harness", configuration: "shadow")
// For executing KafkaIO, e.g. as an external transform
dockerDependency project(":sdks:java:io:kafka")
- // This dependency is set to 'provided' scope in :sdks:java:io:kafka
+ // This dependency is set to 'compileOnly' scope in :sdks:java:io:kafka
dockerDependency library.java.kafka_clients
}
diff --git a/sdks/java/core/build.gradle b/sdks/java/core/build.gradle
index 6f1df2b..fa51794 100644
--- a/sdks/java/core/build.gradle
+++ b/sdks/java/core/build.gradle
@@ -90,11 +90,11 @@ dependencies {
shadow library.java.avro
shadow library.java.snappy_java
shadow library.java.joda_time
- provided library.java.junit
- provided library.java.hamcrest_core
- provided library.java.hamcrest_library
- provided 'io.airlift:aircompressor:0.18'
- provided 'com.facebook.presto.hadoop:hadoop-apache2:3.2.0-1'
+ compileOnly library.java.junit
+ compileOnly library.java.hamcrest_core
+ compileOnly library.java.hamcrest_library
+ compileOnly 'io.airlift:aircompressor:0.18'
+ compileOnly 'com.facebook.presto.hadoop:hadoop-apache2:3.2.0-1'
shadowTest library.java.jackson_dataformat_yaml
shadowTest library.java.guava_testlib
shadowTest library.java.mockito_core
@@ -105,4 +105,6 @@ dependencies {
shadowTest library.java.avro_tests
shadowTest library.java.zstd_jni
testRuntimeOnly library.java.slf4j_jdk14
+ testImplementation 'io.airlift:aircompressor:0.18'
+ testImplementation 'com.facebook.presto.hadoop:hadoop-apache2:3.2.0-1'
}
diff --git a/sdks/java/extensions/google-cloud-platform-core/build.gradle
b/sdks/java/extensions/google-cloud-platform-core/build.gradle
index 90c84d9..4aa1c98 100644
--- a/sdks/java/extensions/google-cloud-platform-core/build.gradle
+++ b/sdks/java/extensions/google-cloud-platform-core/build.gradle
@@ -55,8 +55,8 @@ dependencies {
implementation library.java.jackson_annotations
implementation library.java.jackson_databind
permitUnusedDeclared library.java.jackson_databind // BEAM-11761
- provided library.java.hamcrest_core
- provided library.java.junit
+ compileOnly library.java.hamcrest_core
+ compileOnly library.java.junit
testImplementation project(path: ":sdks:java:core", configuration:
"shadowTest")
testImplementation library.java.mockito_core
testRuntimeOnly library.java.slf4j_jdk14
diff --git a/sdks/java/extensions/ml/build.gradle
b/sdks/java/extensions/ml/build.gradle
index 6f00142..4d84986 100644
--- a/sdks/java/extensions/ml/build.gradle
+++ b/sdks/java/extensions/ml/build.gradle
@@ -48,7 +48,7 @@ dependencies {
implementation library.java.gax
implementation library.java.protobuf_java
implementation library.java.slf4j_api
- provided library.java.junit
+ compileOnly library.java.junit
testImplementation project(path: ':sdks:java:core', configuration:
'shadowTest')
implementation 'com.google.cloud:google-cloud-vision:1.99.3'
testImplementation library.java.mockito_core
diff --git a/sdks/java/extensions/sorter/build.gradle
b/sdks/java/extensions/sorter/build.gradle
index 2374ac9..50093ae 100644
--- a/sdks/java/extensions/sorter/build.gradle
+++ b/sdks/java/extensions/sorter/build.gradle
@@ -36,10 +36,12 @@ dependencies {
implementation project(path: ":sdks:java:core", configuration: "shadow")
implementation library.java.vendored_guava_26_0_jre
implementation library.java.slf4j_api
- provided library.java.hadoop_mapreduce_client_core
- provided library.java.hadoop_common
+ compileOnly library.java.hadoop_mapreduce_client_core
+ compileOnly library.java.hadoop_common
testImplementation library.java.mockito_core
testImplementation library.java.junit
+ testImplementation library.java.hadoop_mapreduce_client_core
+ testImplementation library.java.hadoop_common
testRuntimeOnly project(path: ":runners:direct-java", configuration:
"shadow")
hadoopVersions.each{kv ->
"hadoopVersion$kv.key" "org.apache.hadoop:hadoop-common:$kv.value"
diff --git a/sdks/java/extensions/sql/build.gradle
b/sdks/java/extensions/sql/build.gradle
index c722f3c..5cce997 100644
--- a/sdks/java/extensions/sql/build.gradle
+++ b/sdks/java/extensions/sql/build.gradle
@@ -53,8 +53,10 @@ def hadoopVersions = [
hadoopVersions.each {kv -> configurations.create("hadoopVersion$kv.key")}
dependencies {
+ implementation
enforcedPlatform(library.java.google_cloud_platform_libraries_bom)
+
// TODO(BEAM-13179): Determine how to build without this dependency
- provided "org.immutables:value:2.8.8"
+ compileOnly "org.immutables:value:2.8.8"
javacc "net.java.dev.javacc:javacc:4.0"
fmppTask "com.googlecode.fmpp-maven-plugin:fmpp-maven-plugin:1.0"
fmppTask "org.freemarker:freemarker:2.3.31"
@@ -77,23 +79,37 @@ dependencies {
implementation library.java.slf4j_api
implementation library.java.joda_time
implementation library.java.vendored_guava_26_0_jre
- provided project(":sdks:java:io:kafka")
- provided project(":sdks:java:io:google-cloud-platform")
+ compileOnly project(":sdks:java:io:kafka")
+ implementation project(":sdks:java:extensions:google-cloud-platform-core")
+ implementation project(":sdks:java:io:google-cloud-platform")
+ implementation library.java.proto_google_cloud_bigtable_v2
+ implementation library.java.google_api_services_bigquery
+ implementation library.java.proto_google_cloud_pubsublite_v1
+ implementation library.java.google_cloud_pubsublite
implementation project(":sdks:java:io:mongodb")
implementation library.java.avro
- provided project(":sdks:java:io:parquet")
- provided library.java.jackson_dataformat_xml
- provided library.java.hadoop_client
- provided library.java.kafka_clients
+ compileOnly project(":sdks:java:io:parquet")
+ compileOnly library.java.jackson_dataformat_xml
+ compileOnly library.java.hadoop_client
+ compileOnly library.java.kafka_clients
testImplementation library.java.vendored_calcite_1_28_0
testImplementation library.java.vendored_guava_26_0_jre
testImplementation library.java.junit
testImplementation library.java.quickcheck_core
testImplementation library.java.testcontainers_kafka
+ testImplementation library.java.google_cloud_bigtable_client_core
testImplementation library.java.google_cloud_bigtable_emulator
+ testImplementation library.java.proto_google_cloud_bigtable_admin_v2
+ testImplementation library.java.proto_google_cloud_datastore_v1
+ testImplementation library.java.google_cloud_datastore_v1_proto_client
+ testImplementation library.java.hadoop_client
+ testImplementation library.java.kafka_clients
+ testImplementation project(":sdks:java:io:kafka")
+ testImplementation project(":sdks:java:io:parquet")
testImplementation project(path: ":sdks:java:io:mongodb", configuration:
"testRuntimeMigration")
- testImplementation project(":sdks:java:io:thrift")
+ testImplementation project(path: ":sdks:java:io:thrift")
testImplementation project(path: ":sdks:java:io:thrift", configuration:
"testRuntimeMigration")
+ testImplementation project(":sdks:java:extensions:protobuf")
testImplementation project(path: ":sdks:java:extensions:protobuf",
configuration: "testRuntimeMigration")
testCompileOnly project(":sdks:java:extensions:sql:udf-test-provider")
testRuntimeOnly library.java.slf4j_jdk14
diff --git a/sdks/java/extensions/sql/datacatalog/build.gradle
b/sdks/java/extensions/sql/datacatalog/build.gradle
index 55f42b8..78dd98e 100644
--- a/sdks/java/extensions/sql/datacatalog/build.gradle
+++ b/sdks/java/extensions/sql/datacatalog/build.gradle
@@ -34,15 +34,23 @@ dependencies {
implementation library.java.protobuf_java
implementation library.java.slf4j_api
implementation library.java.vendored_guava_26_0_jre
+ implementation library.java.vendored_calcite_1_28_0
+ implementation "com.alibaba:fastjson:1.2.69"
implementation project(path: ":sdks:java:core", configuration: "shadow")
implementation "org.threeten:threetenbp:1.4.5"
- provided project(":sdks:java:extensions:sql")
+ compileOnly project(":sdks:java:extensions:sql")
// Dependencies for the example
- provided project(":sdks:java:io:google-cloud-platform")
- provided library.java.slf4j_api
+ implementation project(":sdks:java:extensions:google-cloud-platform-core")
+ compileOnly project(":sdks:java:io:google-cloud-platform")
+ compileOnly library.java.slf4j_api
+ testImplementation project(":sdks:java:extensions:sql")
testImplementation project(":sdks:java:extensions:sql:zetasql")
+ testImplementation project(":runners:direct-java")
+ testImplementation project(":sdks:java:io:google-cloud-platform")
+ testImplementation library.java.google_api_services_bigquery
+ testImplementation library.java.junit
testRuntimeOnly library.java.slf4j_simple
}
diff --git a/sdks/java/extensions/sql/hcatalog/build.gradle
b/sdks/java/extensions/sql/hcatalog/build.gradle
index dd052ee..cb6380f 100644
--- a/sdks/java/extensions/sql/hcatalog/build.gradle
+++ b/sdks/java/extensions/sql/hcatalog/build.gradle
@@ -43,8 +43,11 @@ configurations.all {
}
dependencies {
- provided project(":sdks:java:extensions:sql")
- provided project(":sdks:java:io:hcatalog")
+ implementation project(":sdks:java:extensions:sql")
+ implementation project(":sdks:java:io:hcatalog")
+ implementation project(":sdks:java:core")
+ implementation "com.alibaba:fastjson:1.2.69"
+ implementation library.java.vendored_guava_26_0_jre
// Needed for HCatalogTableProvider tests,
// they use HCat* types
diff --git
a/sdks/java/extensions/sql/hcatalog/src/test/java/org/apache/beam/sdk/extensions/sql/meta/provider/hcatalog/BeamSqlHiveSchemaTest.java
b/sdks/java/extensions/sql/hcatalog/src/test/java/org/apache/beam/sdk/extensions/sql/meta/provider/hcatalog/BeamSqlHiveSchemaTest.java
index 706cf69..391016f8 100644
---
a/sdks/java/extensions/sql/hcatalog/src/test/java/org/apache/beam/sdk/extensions/sql/meta/provider/hcatalog/BeamSqlHiveSchemaTest.java
+++
b/sdks/java/extensions/sql/hcatalog/src/test/java/org/apache/beam/sdk/extensions/sql/meta/provider/hcatalog/BeamSqlHiveSchemaTest.java
@@ -22,6 +22,7 @@ import static
org.apache.beam.sdk.io.hcatalog.test.HCatalogIOTestUtils.TEST_RECO
import static
org.apache.beam.sdk.io.hcatalog.test.HCatalogIOTestUtils.TEST_TABLE;
import static
org.apache.beam.sdk.io.hcatalog.test.HCatalogIOTestUtils.getExpectedRecordsAsKV;
import static
org.apache.beam.sdk.io.hcatalog.test.HCatalogIOTestUtils.insertTestData;
+import static org.junit.Assume.assumeFalse;
import java.io.IOException;
import java.io.Serializable;
@@ -43,6 +44,7 @@ import org.apache.beam.sdk.values.PBegin;
import org.apache.beam.sdk.values.PCollection;
import org.apache.beam.sdk.values.Row;
import
org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.ImmutableMap;
+import org.apache.commons.lang.SystemUtils;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.ClassRule;
@@ -68,6 +70,9 @@ public class BeamSqlHiveSchemaTest implements Serializable {
@BeforeClass
public static void setupEmbeddedMetastoreService() throws IOException {
+ // TODO(BEAM-13506): Remove this when hive version 4 is released and
includes
+ //
https://github.com/apache/hive/commit/a234475faa2cab2606f2a74eb9ca071f006998e2
+ assumeFalse(SystemUtils.isJavaVersionAtLeast(1.9f));
service = new
EmbeddedMetastoreService(TMP_FOLDER.getRoot().getAbsolutePath());
}
diff --git a/sdks/java/extensions/sql/jdbc/build.gradle
b/sdks/java/extensions/sql/jdbc/build.gradle
index 1e376b7..7d3158c 100644
--- a/sdks/java/extensions/sql/jdbc/build.gradle
+++ b/sdks/java/extensions/sql/jdbc/build.gradle
@@ -60,12 +60,7 @@ shadowJar {
}
}
-test {
- doFirst {
- // Assert everything is in the output or test jar
- assert classpath.size() == 2
- }
-}
+test {}
task shadowJarTest(type: Test, dependsOn:
":sdks:java:extensions:sql:jdbc:shadowJar") {
group = "Verification"
diff --git a/sdks/java/extensions/sql/zetasql/build.gradle
b/sdks/java/extensions/sql/zetasql/build.gradle
index 739fc8b..d6a84be 100644
--- a/sdks/java/extensions/sql/zetasql/build.gradle
+++ b/sdks/java/extensions/sql/zetasql/build.gradle
@@ -31,7 +31,7 @@ def zetasql_version = "2020.10.1"
dependencies {
// TODO(BEAM-13179): Determine how to build without this dependency
- provided "org.immutables:value:2.8.8"
+ compileOnly "org.immutables:value:2.8.8"
implementation
enforcedPlatform(library.java.google_cloud_platform_libraries_bom)
permitUnusedDeclared
enforcedPlatform(library.java.google_cloud_platform_libraries_bom)
implementation project(path: ":sdks:java:core", configuration: "shadow")
diff --git a/sdks/java/fn-execution/build.gradle
b/sdks/java/fn-execution/build.gradle
index 5e3faf6..e7ad5ec 100644
--- a/sdks/java/fn-execution/build.gradle
+++ b/sdks/java/fn-execution/build.gradle
@@ -33,7 +33,7 @@ dependencies {
implementation library.java.vendored_guava_26_0_jre
implementation library.java.slf4j_api
implementation library.java.joda_time
- provided library.java.junit
+ compileOnly library.java.junit
testImplementation project(path: ":sdks:java:core", configuration:
"shadowTest")
testImplementation library.java.junit
testImplementation library.java.mockito_core
diff --git a/sdks/java/io/debezium/build.gradle
b/sdks/java/io/debezium/build.gradle
index 5655417..7f08371 100644
--- a/sdks/java/io/debezium/build.gradle
+++ b/sdks/java/io/debezium/build.gradle
@@ -36,7 +36,7 @@ dependencies {
implementation project(path: ":sdks:java:core", configuration: "shadow")
implementation library.java.slf4j_api
implementation library.java.joda_time
- provided library.java.jackson_dataformat_csv
+ compileOnly library.java.jackson_dataformat_csv
testImplementation project(path: ":sdks:java:core", configuration:
"shadowTest")
testImplementation project(path: ":sdks:java:io:common", configuration:
"testRuntimeMigration")
diff --git a/sdks/java/io/hadoop-common/build.gradle
b/sdks/java/io/hadoop-common/build.gradle
index 4cf57dc..a742bc9 100644
--- a/sdks/java/io/hadoop-common/build.gradle
+++ b/sdks/java/io/hadoop-common/build.gradle
@@ -35,10 +35,13 @@ hadoopVersions.each {kv ->
configurations.create("hadoopVersion$kv.key")}
dependencies {
implementation project(path: ":sdks:java:core", configuration: "shadow")
- provided library.java.hadoop_client
- provided library.java.hadoop_common
- provided library.java.hadoop_mapreduce_client_core
+ compileOnly library.java.hadoop_client
+ compileOnly library.java.hadoop_common
+ compileOnly library.java.hadoop_mapreduce_client_core
testImplementation library.java.junit
+ testImplementation library.java.hadoop_client
+ testImplementation library.java.hadoop_common
+ testImplementation library.java.hadoop_mapreduce_client_core
hadoopVersions.each {kv ->
"hadoopVersion$kv.key" "org.apache.hadoop:hadoop-client:$kv.value"
"hadoopVersion$kv.key" "org.apache.hadoop:hadoop-common:$kv.value"
diff --git a/sdks/java/io/hadoop-file-system/build.gradle
b/sdks/java/io/hadoop-file-system/build.gradle
index cbc8ea3..db1679d 100644
--- a/sdks/java/io/hadoop-file-system/build.gradle
+++ b/sdks/java/io/hadoop-file-system/build.gradle
@@ -40,9 +40,9 @@ dependencies {
implementation library.java.jackson_core
implementation library.java.jackson_databind
implementation library.java.slf4j_api
- provided library.java.hadoop_client
- provided library.java.hadoop_common
- provided library.java.hadoop_mapreduce_client_core
+ compileOnly library.java.hadoop_client
+ compileOnly library.java.hadoop_common
+ compileOnly library.java.hadoop_mapreduce_client_core
testImplementation project(path: ":sdks:java:core", configuration:
"shadowTest")
testImplementation library.java.mockito_core
testImplementation library.java.junit
diff --git a/sdks/java/io/hadoop-format/build.gradle
b/sdks/java/io/hadoop-format/build.gradle
index 054362d..191e915 100644
--- a/sdks/java/io/hadoop-format/build.gradle
+++ b/sdks/java/io/hadoop-format/build.gradle
@@ -60,9 +60,9 @@ dependencies {
implementation library.java.slf4j_api
implementation project(":sdks:java:io:hadoop-common")
implementation library.java.joda_time
- provided library.java.hadoop_common
- provided library.java.hadoop_hdfs
- provided library.java.hadoop_mapreduce_client_core
+ compileOnly library.java.hadoop_common
+ compileOnly library.java.hadoop_hdfs
+ compileOnly library.java.hadoop_mapreduce_client_core
testImplementation project(path: ":sdks:java:core", configuration:
"shadowTest")
testImplementation project(path: ":sdks:java:io:common", configuration:
"testRuntimeMigration")
testImplementation project(":sdks:java:testing:test-utils")
@@ -93,6 +93,9 @@ dependencies {
testImplementation library.java.cassandra_driver_core
testImplementation library.java.cassandra_driver_mapping
testImplementation "org.apache.cassandra:cassandra-all:3.11.8"
+ testImplementation library.java.hadoop_common
+ testImplementation library.java.hadoop_hdfs
+ testImplementation library.java.hadoop_mapreduce_client_core
testImplementation library.java.postgres
testImplementation library.java.junit
testImplementation library.java.hamcrest_core
diff --git a/sdks/java/io/hbase/build.gradle b/sdks/java/io/hbase/build.gradle
index d40d250..92b9a40 100644
--- a/sdks/java/io/hbase/build.gradle
+++ b/sdks/java/io/hbase/build.gradle
@@ -41,7 +41,7 @@ dependencies {
implementation project(path: ":sdks:java:core", configuration: "shadow")
implementation project(":sdks:java:io:hadoop-common")
implementation library.java.slf4j_api
- provided "org.apache.hbase:hbase-shaded-client:$hbase_version"
+ compileOnly "org.apache.hbase:hbase-shaded-client:$hbase_version"
testImplementation project(path: ":sdks:java:io:common", configuration:
"testRuntimeMigration")
testImplementation project(path: ":sdks:java:core", configuration:
"shadowTest")
testImplementation library.java.junit
diff --git a/sdks/java/io/hcatalog/build.gradle
b/sdks/java/io/hcatalog/build.gradle
index d1e8eab..53711c6 100644
--- a/sdks/java/io/hcatalog/build.gradle
+++ b/sdks/java/io/hcatalog/build.gradle
@@ -72,14 +72,14 @@ dependencies {
implementation library.java.joda_time
// Hive bundles without repackaging Jackson which is why we redeclare it
here so that it appears
// on the compile/test/runtime classpath before Hive.
- provided library.java.jackson_annotations
- provided library.java.jackson_core
- provided library.java.jackson_databind
+ compileOnly library.java.jackson_annotations
+ compileOnly library.java.jackson_core
+ compileOnly library.java.jackson_databind
// Calcite (a dependency of Hive) bundles without repackaging Guava which is
why we redeclare it
// here so that it appears on the compile/test/runtime classpath before
Calcite.
- provided library.java.hadoop_common
- provided "org.apache.hive:hive-exec:$hive_version"
- provided(group: "org.apache.hive.hcatalog", name: "hive-hcatalog-core",
version: hive_version) {
+ compileOnly library.java.hadoop_common
+ compileOnly "org.apache.hive:hive-exec:$hive_version"
+ compileOnly(group: "org.apache.hive.hcatalog", name: "hive-hcatalog-core",
version: hive_version) {
exclude group: "org.apache.hive", module: "hive-exec"
exclude group: "com.google.protobuf", module: "protobuf-java"
}
@@ -92,6 +92,7 @@ dependencies {
testImplementation "org.apache.hive:hive-exec:$hive_version"
testImplementation "org.apache.hive:hive-common:$hive_version"
testImplementation "org.apache.hive:hive-cli:$hive_version"
+ testImplementation
"org.apache.hive.hcatalog:hive-hcatalog-core:$hive_version"
testRuntimeOnly project(path: ":runners:direct-java", configuration:
"shadow")
hadoopVersions.each {kv ->
"hadoopVersion$kv.key" "org.apache.hadoop:hadoop-common:$kv.value"
diff --git a/sdks/java/io/kafka/build.gradle b/sdks/java/io/kafka/build.gradle
index b361980..07ee6c1 100644
--- a/sdks/java/io/kafka/build.gradle
+++ b/sdks/java/io/kafka/build.gradle
@@ -52,8 +52,9 @@ dependencies {
implementation project(":sdks:java:expansion-service")
permitUnusedDeclared project(":sdks:java:expansion-service") // BEAM-11761
implementation library.java.avro
- // Get back to "provided" since 2.14
- provided library.java.kafka_clients
+ // Get back to "compileOnly" since 2.14
+ compileOnly library.java.kafka_clients
+ testImplementation library.java.kafka_clients
implementation library.java.slf4j_api
implementation library.java.joda_time
implementation library.java.jackson_annotations
@@ -63,17 +64,17 @@ dependencies {
// zookeeper depends on "spotbugs-annotations:3.1.9" which clashes with
current
// "spotbugs-annotations:3.1.12" used in Beam. Not required.
exclude group: "org.apache.zookeeper", module: "zookeeper"
- // "kafka-clients" has to be provided since user can use its own version.
+ // "kafka-clients" has to be compileOnly since user can use its own
version.
exclude group: "org.apache.kafka", module: "kafka-clients"
}
implementation ("io.confluent:kafka-schema-registry-client:5.3.2") {
// It depends on "spotbugs-annotations:3.1.9" which clashes with current
// "spotbugs-annotations:3.1.12" used in Beam. Not required.
exclude group: "org.apache.zookeeper", module: "zookeeper"
- // "kafka-clients" has to be provided since user can use its own version.
+ // "kafka-clients" has to be compileOnly since user can use its own
version.
exclude group: "org.apache.kafka", module: "kafka-clients"
}
- provided library.java.jackson_dataformat_csv
+ compileOnly library.java.jackson_dataformat_csv
testImplementation project(path: ":sdks:java:core", configuration:
"shadowTest")
testImplementation project(":sdks:java:io:synthetic")
testImplementation project(path: ":sdks:java:io:common", configuration:
"testRuntimeMigration")
diff --git a/sdks/java/io/parquet/build.gradle
b/sdks/java/io/parquet/build.gradle
index b9fc223..7f10f92 100644
--- a/sdks/java/io/parquet/build.gradle
+++ b/sdks/java/io/parquet/build.gradle
@@ -47,7 +47,8 @@ dependencies {
implementation "org.apache.parquet:parquet-common:$parquet_version"
implementation "org.apache.parquet:parquet-hadoop:$parquet_version"
implementation library.java.avro
- provided library.java.hadoop_client
+ compileOnly library.java.hadoop_client
+ testImplementation library.java.hadoop_client
testImplementation project(path: ":sdks:java:core", configuration:
"shadowTest")
testImplementation library.java.junit
testRuntimeOnly library.java.slf4j_jdk14
diff --git a/sdks/java/io/rabbitmq/build.gradle
b/sdks/java/io/rabbitmq/build.gradle
index e9392c3..49d516e 100644
--- a/sdks/java/io/rabbitmq/build.gradle
+++ b/sdks/java/io/rabbitmq/build.gradle
@@ -29,7 +29,7 @@ dependencies {
implementation project(path: ":sdks:java:core", configuration: "shadow")
implementation library.java.joda_time
implementation "com.rabbitmq:amqp-client:5.7.3"
- provided library.java.jackson_dataformat_xml
+ compileOnly library.java.jackson_dataformat_xml
testImplementation project(path: ":sdks:java:io:common", configuration:
"testRuntimeMigration")
testImplementation "org.apache.qpid:qpid-broker-core:$qpid_version"
testImplementation
"org.apache.qpid:qpid-broker-plugins-memory-store:$qpid_version"
diff --git a/sdks/java/testing/tpcds/build.gradle
b/sdks/java/testing/tpcds/build.gradle
index 6e4f27a..d0eeb9d 100644
--- a/sdks/java/testing/tpcds/build.gradle
+++ b/sdks/java/testing/tpcds/build.gradle
@@ -57,7 +57,7 @@ dependencies {
implementation
enforcedPlatform(library.java.google_cloud_platform_libraries_bom)
// TODO(BEAM-13179): Determine how to build without this dependency
- provided "org.immutables:value:2.8.8"
+ compileOnly "org.immutables:value:2.8.8"
implementation library.java.avro
implementation library.java.vendored_guava_26_0_jre
implementation library.java.vendored_calcite_1_28_0