Skip to content

Setup a job for java-maps artifacts release #9045

@suztomo

Description

@suztomo

Let's setup a job for java-maps-* artifacts release. Currently we have java-maps-addressvalidation and java-maps-routing and around 6 artifacts under them. As of now, the modules are excluded by stage.sh so that artifacts with "com.google.maps" groupID do not go to the publishing host google.oss.sonatype.org.

excludedMapsModule=$(find java-maps-* -name 'pom.xml' \
The command outputs

~/google-cloud-java $ find java-maps-* -name 'pom.xml'  \
    |sed -e 's/^/!/' -e 's|/pom.xml$||' |xargs  |sed -e 's/ /,/g'
!java-maps-addressvalidation,!java-maps-addressvalidation/grpc-google-maps-addressvalidation-v1,!java-maps-addressvalidation/google-maps-addressvalidation-bom,!java-maps-addressvalidation/google-maps-addressvalidation,!java-maps-addressvalidation/proto-google-maps-addressvalidation-v1,!java-maps-routing/google-maps-routing-bom,!java-maps-routing,!java-maps-routing/google-maps-routing,!java-maps-routing/proto-google-maps-routing-v2,!java-maps-routing/grpc-google-maps-routing-v2

Scope

Here are the Maven modules in the scope:

  • java-maps-addressvalidation
    • java-maps-addressvalidation/google-maps-addressvalidation
    • java-maps-addressvalidation/grpc-google-maps-addressvalidation-v1
    • java-maps-addressvalidation/proto-google-maps-addressvalidation-v1
    • java-maps-addressvalidation/google-maps-addressvalidation-bom
  • java-maps-routing
    • java-maps-routing/google-maps-routing
    • java-maps-routing/proto-google-maps-routing-v2
    • java-maps-routing/grpc-google-maps-routing-v2
    • java-maps-routing/google-maps-routing-bom

Publishing Host and Group ID

The challenge (troubleshooting in OSSRH-87007) was that we have 2 publishing hosts and a groupID can only belong to one of them. The current setup:

  • "com.google.maps" and "com.google.maps.api" groupID => oss.sonatype.org publishing host
  • "com.google.cloud" and "com.google.api" groupID => google.oss.sonatype.org publishing host

159f41f was the commit I used on Dec 14th release (http://sponge2/907014e9-7270-4bdb-8122-f1d95c67a278). (One of the artifacts was https://search.maven.org/artifact/com.google.maps.api.grpc/grpc-google-maps-addressvalidation-v1/0.1.0/jar; notice the groupID is com.google.maps.api in 2a76495).

This script change and groupID change have not been merged to the main branch. Therefore I created this GitHub issue.

Todo

  • Confirm the Maps team about the Dec 14th release. Is it really what they want?
  • For the "grpc-" and "proto-" modules under java-maps-* modules, rename group ID to "com.google.maps.api". This makes it easy to have consistent publishing hosts under java-maps-* modules; otherwise "grpc-" and "proto-" modules would use "google.oss.sonatype.org" and the google-maps-XXX artifacts would use "oss.sonatype.org".
  • Create a script to publish the artifacts under "java-maps-*" modules (currently 2)
  • Setup a new Kokoro job as a child job of cloud-devrel/client-libraries/java/google-cloud-java/release/stage job.

Consideration

We may add other libraries outside Google Cloud organization but not in Google Maps. Let's design the flow and name the script and job to meet future needs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: p2Moderately-important priority. Fix may not be included in next release.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions