{"id":13740994,"url":"https://github.com/googleapis/gax-java","last_synced_at":"2025-05-08T20:33:00.718Z","repository":{"id":37502394,"uuid":"50872805","full_name":"googleapis/gax-java","owner":"googleapis","description":"This library has moved to https://github.com/googleapis/sdk-platform-java/tree/main/gax-java.","archived":true,"fork":false,"pushed_at":"2023-07-18T19:00:07.000Z","size":5242,"stargazers_count":160,"open_issues_count":0,"forks_count":105,"subscribers_count":68,"default_branch":"main","last_synced_at":"2025-04-25T14:43:59.704Z","etag":null,"topics":["grpc","java"],"latest_commit_sha":null,"homepage":"https://github.com/googleapis/gapic-generator-java/tree/main/gax-java","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/googleapis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null}},"created_at":"2016-02-01T21:33:22.000Z","updated_at":"2025-04-08T09:09:35.000Z","dependencies_parsed_at":"2023-02-17T23:01:19.113Z","dependency_job_id":"b9ea1a3e-cc93-4c10-8411-7c03e78bdd4a","html_url":"https://github.com/googleapis/gax-java","commit_stats":null,"previous_names":[],"tags_count":155,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fgax-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fgax-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fgax-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fgax-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/googleapis","download_url":"https://codeload.github.com/googleapis/gax-java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253145153,"owners_count":21861197,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["grpc","java"],"created_at":"2024-08-03T04:00:54.305Z","updated_at":"2025-05-08T20:32:57.984Z","avatar_url":"https://github.com/googleapis.png","language":null,"readme":"Google API Extensions for Java\n==============================\n\n[![Build Status](https://travis-ci.org/googleapis/gax-java.svg?branch=main)](https://travis-ci.org/googleapis/gax-java)\n\n🚌 In January 2023, this library has moved to [gapic-generator-java/gax-java](https://github.com/googleapis/gapic-generator-java/tree/main/gax-java). This repository will be archived in the future. Future releases will appear in the new repository (https://github.com/googleapis/gapic-generator-java/releases).\nThe Maven artifact coordinates (com.google.api:gax) remain the same.\n\n- [Documentation](https://googleapis.dev/java/gax/latest/)\n\nGoogle API Extensions for Java (GAX Java) is a library which aids in the\ndevelopment of client libraries for server APIs, based on [GRPC](http://grpc.io)\nand Google API conventions.\n\nApplication code will rarely need to use most of the classes within this\nlibrary directly, but code generated automatically from the API definition\nfiles can use services such as paged list iteration, request batching, and\npolling of long-running operations to provide a more convenient and idiomatic\nAPI surface to callers.\n\nCurrently, this library shouldn't be used independently from google-cloud-java, otherwise there is\na high risk of diamond dependency problems, because google-cloud-java uses beta features from this\nlibrary which can change in breaking ways between versions. See [VERSIONING](#versioning) for\nmore information.\n\n\u003e For new and existing Developers/ Contributors:\n\u003e \n\u003e In December 2022, gax-java's build tool has been migrated from gradle to maven. \n\u003e Gradle related files are no longer being maintained and will be eventually removed.\n\u003e \n\u003e The artifact coordinates in Maven Central (`{{ group_id }}:{{ artifact_id }}`) remain the same.\n\nQuickstart\n----------\n\n[//]: # ({x-version-update-start:gax:released})\nIf you are using Maven, add this to your pom.xml file\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.google.api\u003c/groupId\u003e\n  \u003cartifactId\u003egax\u003c/artifactId\u003e\n  \u003cversion\u003e2.8.1\u003c/version\u003e\n\u003c/dependency\u003e\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.google.api\u003c/groupId\u003e\n  \u003cartifactId\u003egax-grpc\u003c/artifactId\u003e\n  \u003cversion\u003e2.8.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nIf you are using Gradle, add this to your dependencies\n\n```Groovy\ncompile 'com.google.api:gax:2.8.1',\n  'com.google.api:gax-grpc:2.8.1'\n```\n\nIf you are using SBT, add this to your dependencies\n\n```Scala\nlibraryDependencies += \"com.google.api\" % \"gax\" % \"2.8.1\"\nlibraryDependencies += \"com.google.api\" % \"gax-grpc\" % \"2.8.1\"\n```\n[//]: # ({x-version-update-end})\n\nJava Versions\n-------------\n\nJava 8 or above is required for using this library.\n\nTo build this project, JDK 11 or above is required.\nThe build produces Java bytecode targeted for Java 8.\n\nThe project uses Gradle to build while it also provides Bazel build.\n\nIf you build this project in Bazel, it requires Bazel 4 and basic UNIX commands\n(e.g., `cat`).\n\nContributing\n------------\n\nContributions to this library are always welcome and highly encouraged.\n\nSee the [CONTRIBUTING] documentation for more information on how to get started.\n\nVersioning\n----------\n\nThis library follows [Semantic Versioning](http://semver.org/), but with some\nadditional qualifications:\n\n1. Components marked with `@BetaApi` are considered to be \"0.x\" features inside\n   a \"1.x\" library. This means they can change between minor and patch releases\n   in incompatible ways. These features should not be used by any library \"B\"\n   that itself has consumers, unless the components of library B that use\n   `@BetaApi` features are also marked with `@BetaApi`. Features marked as\n   `@BetaApi` are on a path to eventually become \"1.x\" features with the marker\n   removed.\n\n   **Special exception for google-cloud-java**: google-cloud-java is\n   allowed to depend on `@BetaApi` features without declaring the consuming\n   code `@BetaApi`, because gax-java and google-cloud-java move in step\n   with each other. For this reason, gax-java should not be used\n   independently of google-cloud-java.\n\n1. Components marked with `@InternalApi` are technically public, but are only\n   public for technical reasons, because of the limitations of Java's access\n   modifiers. For the purposes of semver, they should be considered private.\n\n1. Components marked with `@InternalExtensionOnly` are stable for usage, but\n   not for extension. Thus, methods will not be removed from interfaces marked\n   with this annotation, but methods can be added, thus breaking any\n   code implementing the interface. See the javadocs for more details on other\n   consequences of this annotation.\n\n### Submodule notes\n\n- `gax` is stable (\u003e= 1.0.0), so anything not marked `@BetaApi`, `@InternalApi`,\nor `@InternalExtensionOnly` won't break between minor releases. Anything marked\n`@InternalExtensionOnly` can only break extensions between minor releases.\n- `gax-grpc` is stable (\u003e= 1.0.0), so anything not marked `@BetaApi`, `@InternalApi`,\nor `@InternalExtensionOnly` won't break between minor releases. Anything marked\n`@InternalExtensionOnly` can only break extensions between minor releases.\n- `gax-httpjson` is beta (0.x.y), so anything may change at any time and the public\nAPI should not be considered stable. There is no difference whether a class is\nmarked `@BetaApi` or not; that annotation is only present as a reminder. There is\nalso no difference whether a class is marked `@InternalExtensionOnly` or not; that\nonly implies that the annotation will still be present in 1.0.0.\n\n### Feature notes\n\n- **Long Running Operations** - This feature is not yet considered stable.\n- **Streaming** - Streaming features are not yet considered stable.\n- **Batching** - Batching features are not yet considered stable.\n- **Generated Code Support** - Features to support generated code is not yet\n  considered stable.\n- **Testing** - There are no plans to consider any code in the testlib jar to be stable.\n\nRepository Structure\n--------------------\n\nThis repository contains the following java packages.\n\n### gax\n\n- `com.google.api.gax.batching` - Contains general-purpose batching logic.\n- `com.google.api.gax.core` - Contains core interfaces and classes that are not\n  specific to grpc and could be used in other contexts.\n- `com.google.api.gax.longrunning` - Contains classes related to long running\n  operations.\n- `com.google.api.gax.paging` - Contains classes related to list calls that return\n  results in pages.\n- `com.google.api.gax.retrying` - Contains classes related to retrying API calls.\n- `com.google.api.gax.rpc` - Contains classes related to making RPC calls.\n\n### gax-grpc\n\n- `com.google.api.gax.grpc` - Contains classes that provide functionality on top\n  of gRPC calls.\n- `com.google.longrunning` - Contains the mix-in client for long-running operations\n  which is implemented by a number of Google APIs.\n\n### gax-httpjson\n\n- `com.google.api.gax.httpjson` - Contains classes that provide functionality on\n  top of http/json calls.\n\nLicense\n-------\n\nBSD - See [LICENSE] for more information.\n\n[CONTRIBUTING]:https://github.com/googleapis/gax-java/blob/main/CONTRIBUTING.md\n[LICENSE]: https://github.com/googleapis/gax-java/blob/main/LICENSE\n\n","funding_links":[],"categories":["Language-Specific"],"sub_categories":["Java"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleapis%2Fgax-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogleapis%2Fgax-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleapis%2Fgax-java/lists"}