[ 
https://issues.apache.org/jira/browse/BEAM-9444?focusedWorklogId=403158&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-403158
 ]

ASF GitHub Bot logged work on BEAM-9444:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 13/Mar/20 20:39
            Start Date: 13/Mar/20 20:39
    Worklog Time Spent: 10m 
      Work Description: suztomo commented on pull request #11125: [BEAM-9444] 
Use Google Cloud Libraries BOM to set GCP library dependencies
URL: https://github.com/apache/beam/pull/11125#discussion_r392459312
 
 

 ##########
 File path: 
buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
 ##########
 @@ -444,33 +443,36 @@ class BeamModulePlugin implements Plugin<Project> {
         commons_lang3                               : 
"org.apache.commons:commons-lang3:3.9",
         commons_math3                               : 
"org.apache.commons:commons-math3:3.6.1",
         error_prone_annotations                     : 
"com.google.errorprone:error_prone_annotations:2.0.15",
-        gax                                         : 
"com.google.api:gax:$gax_version",
-        gax_grpc                                    : 
"com.google.api:gax-grpc:$gax_version",
+        gax                                         : "com.google.api:gax",
+        gax_grpc                                    : 
"com.google.api:gax-grpc",
         google_api_client                           : 
"com.google.api-client:google-api-client:$google_clients_version",
         google_api_client_jackson2                  : 
"com.google.api-client:google-api-client-jackson2:$google_clients_version",
         google_api_client_java6                     : 
"com.google.api-client:google-api-client-java6:$google_clients_version",
-        google_api_common                           : 
"com.google.api:api-common:1.8.1",
+        google_api_common                           : 
"com.google.api:api-common",
         google_api_services_bigquery                : 
"com.google.apis:google-api-services-bigquery:v2-rev20191211-$google_clients_version",
         google_api_services_clouddebugger           : 
"com.google.apis:google-api-services-clouddebugger:v2-rev20191003-$google_clients_version",
         google_api_services_cloudresourcemanager    : 
"com.google.apis:google-api-services-cloudresourcemanager:v1-rev20191206-$google_clients_version",
         google_api_services_dataflow                : 
"com.google.apis:google-api-services-dataflow:v1b3-rev20190927-$google_clients_version",
         google_api_services_pubsub                  : 
"com.google.apis:google-api-services-pubsub:v1-rev20191111-$google_clients_version",
         google_api_services_storage                 : 
"com.google.apis:google-api-services-storage:v1-rev20191011-$google_clients_version",
-        google_auth_library_credentials             : 
"com.google.auth:google-auth-library-credentials:$google_auth_version",
-        google_auth_library_oauth2_http             : 
"com.google.auth:google-auth-library-oauth2-http:$google_auth_version",
-        google_cloud_bigquery                       : 
"com.google.cloud:google-cloud-bigquery:1.108.0",
-        google_cloud_bigquery_storage               : 
"com.google.cloud:google-cloud-bigquerystorage:0.125.0-beta",
+        google_auth_library_credentials             : 
"com.google.auth:google-auth-library-credentials",
+        google_auth_library_oauth2_http             : 
"com.google.auth:google-auth-library-oauth2-http",
+        google_cloud_bigquery                       : 
"com.google.cloud:google-cloud-bigquery",
+        google_cloud_bigquery_storage               : 
"com.google.cloud:google-cloud-bigquerystorage",
         google_cloud_bigtable_client_core           : 
"com.google.cloud.bigtable:bigtable-client-core:1.13.0",
-        google_cloud_core                           : 
"com.google.cloud:google-cloud-core:$google_cloud_core_version",
-        google_cloud_core_grpc                      : 
"com.google.cloud:google-cloud-core-grpc:$google_cloud_core_version",
-        google_cloud_datacatalog_v1beta1            : 
"com.google.cloud:google-cloud-datacatalog:$google_cloud_datacatalog_version",
+        google_cloud_core                           : 
"com.google.cloud:google-cloud-core",
+        google_cloud_core_grpc                      : 
"com.google.cloud:google-cloud-core-grpc",
+        google_cloud_datacatalog_v1beta1            : 
"com.google.cloud:google-cloud-datacatalog",
         google_cloud_dataflow_java_proto_library_all: 
"com.google.cloud.dataflow:google-cloud-dataflow-java-proto-library-all:0.5.160304",
         google_cloud_datastore_v1_proto_client      : 
"com.google.cloud.datastore:datastore-v1-proto-client:1.6.3",
-        google_cloud_spanner                        : 
"com.google.cloud:google-cloud-spanner:$google_cloud_spanner_version",
-        google_http_client                          : 
"com.google.http-client:google-http-client:$google_http_clients_version",
+        google_cloud_platform_libraries_bom         : 
"com.google.cloud:libraries-bom:4.2.0",
+        google_cloud_spanner                        : 
"com.google.cloud:google-cloud-spanner",
+        // google-http-client's version is explicitly declared for 
sdks/java/maven-archetypes/examples
+        // This version should be in line with the one in 
com.google.cloud:libraries-bom.
+        google_http_client                          : 
"com.google.http-client:google-http-client:1.34.2",
         google_http_client_jackson                  : 
"com.google.http-client:google-http-client-jackson:1.29.2",
-        google_http_client_jackson2                 : 
"com.google.http-client:google-http-client-jackson2:$google_http_clients_version",
-        google_http_client_protobuf                 : 
"com.google.http-client:google-http-client-protobuf:$google_http_clients_version",
+        google_http_client_jackson2                 : 
"com.google.http-client:google-http-client-jackson2",
+        google_http_client_protobuf                 : 
"com.google.http-client:google-http-client-protobuf",
         google_oauth_client                         : 
"com.google.oauth-client:google-oauth-client:$google_clients_version",
         google_oauth_client_java6                   : 
"com.google.oauth-client:google-oauth-client-java6:$google_clients_version",
 
 Review comment:
   These "google-oauth-client" are not part of GCP Libraries BOM.
 
----------------------------------------------------------------
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]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 403158)
    Time Spent: 1h  (was: 50m)

> Shall we use GCP Libraries BOM to specify Google-related library versions?
> --------------------------------------------------------------------------
>
>                 Key: BEAM-9444
>                 URL: https://issues.apache.org/jira/browse/BEAM-9444
>             Project: Beam
>          Issue Type: Task
>          Components: build-system
>            Reporter: Tomo Suzuki
>            Assignee: Tomo Suzuki
>            Priority: Major
>         Attachments: Screen Shot 2020-03-13 at 13.33.01.png
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> Shall we use GCP Libraries BOM to specify Google-related library versions?
>   
>  I've been working on Beam's dependency upgrades in the past few months. I 
> think it's time to consider a long-term solution to keep the libraries 
> up-to-date with small maintenance effort. To achieve that, I propose Beam to 
> use GCP Libraries BOM to set the Google-related library versions, rather than 
> trying to make changes in each of ~30 Google libraries.
>   
> h1. Background
> A BOM is pom.xml that provides dependencyManagement to importing projects.
>   
>  GCP Libraries BOM is a BOM that includes many Google Cloud related libraries 
> + gRPC + protobuf. We (Google Cloud Java Diamond Dependency team) maintain 
> the BOM so that the set of the libraries are compatible with each other.
>   
> h1. Implementation
> {{forcedModules}} via version resolution strategy is playing bad. This causes
>  
> {noformat}
> A problem occurred evaluating project ':sdks:java:extensions:sql'. 
> Could not resolve all dependencies for configuration 
> ':sdks:java:extensions:sql:fmppTemplates'.
> Invalid format: 'com.google.cloud:google-cloud-core'. Group, name and version 
> cannot be empty. Correct example: 'org.gradle:gradle-core:1.0'{noformat}
> !Screen Shot 2020-03-13 at 13.33.01.png|width=489,height=287! 
>   
> h1.  :sdks:java:maven-archetypes:examples fails
> The task requires version for 
> {code}
>     'google-http-client.version': 
> dependencies.create(project.library.java.google_http_client).getVersion(),
> {code}
> This would generate NullPointerException. Running gradlew without the 
> subproject:
>  
> {code:java}
> ./gradlew -p sdks/java check -x :sdks:java:maven-archetypes:examples:check
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to