Skip to content

Migrate from unmaintained Client SDK to official GCP Java SDK #528

@gbhat618

Description

@gbhat618

At the moment the GCP client library used in here

<dependency>
<groupId>com.google.cloud.graphite</groupId>
<artifactId>gcp-client</artifactId>
<version>${gcp-plugin-core.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-jackson2</artifactId>
</exclusion>
</exclusions>
whose source code is https://github.com/GoogleCloudPlatform/gcp-plugin-core-java
is unmaintained and archived.

The new feature development is bottlenecking due to client sdk not having API support for new features, and we are already writing extention code in this plugin, example the ComputeClientV2

/**
* Extends {@link com.google.cloud.graphite.platforms.plugin.client.ComputeClient} with additional functionalities.
* <p>This class serves as a venue for implementing features not available in the archived Graphite Java library
* (<a href="https://github.com/GoogleCloudPlatform/gcp-plugin-core-java">gcp-plugin-core-java</a>, last updated in December 2019).
* Consideration for the gradual evolution of this class is suggested, including the re-implementation of methods
* currently utilized from the Graphite library, to ensure dependency solely on the Google API Java Client Services
* library (<a href="https://github.com/googleapis/google-api-java-client-services">google-api-java-client-services</a>).
* This approach aims to eventually eliminate the reliance on the Graphite library.
*/
public class ComputeClientV2 {

This issue is tracking discussion to move to an officially supported Java SDK. Seeing from the discussion at https://github.com/jenkinsci/google-compute-engine-plugin/pull/503/changes#r1904553011 and #495 (comment) it seems achievable without lots of rewrite.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions