GithubHelp home page GithubHelp logo

api-common-java's Introduction

API Common for Java

Build Status

๐ŸšŒ In January 2023, this library has moved to gapic-generator-java/api-common-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). The Maven artifact coordinates (com.google.api:api-common) remain the same.

API Common for Java is a library for foundational types relating to Google APIs. It currently contains the following packages:

  • core: Core library containing API stability annotations and wrappers around Guava types
  • pathtemplate: Path Template library for manipulating strings that are formatted as Google API resource names.
  • resourcenames: Resource Name library used by generated resource name types

For new and existing Developers/ Contributors:

In December 2022, api-common-java's build tool has been migrated from gradle to maven. Gradle related files are no longer being maintained and will be removed.

The artifact coordinates in Maven Central ({{ group_id }}:{{ artifact_id }}) remain the same.

Java Versions

Java 8 or above is required for using this library.

To build this project, JDK 11 or above is required. The build produces Java bytecode targeted for Java 8.

The project uses Maven to build.

Contributing

Contributions to this library are always welcome and highly encouraged.

See the CONTRIBUTING documentation for more information on how to get started.

Versioning

This library follows Semantic Versioning, but with some additional qualifications:

  1. Components marked with @BetaApi are considered to be "0.x" features inside a "1.x" library. This means they can change between minor and patch releases in incompatible ways. These features should not be used by any library "B" that itself has consumers, unless the components of library B that use @BetaApi features are also marked with @BetaApi. Features marked as @BetaApi are on a path to eventually become "1.x" features with the marker removed.
  2. Components marked with @InternalApi are technically public, but are only public for technical reasons, because of the limitations of Java's access modifiers. For the purposes of semver, they should be considered private.

This library is currently in major version one (1.y.z), which means that any public API not specifically marked as @BetaApi or @InternalApi can be considered stable. They will not change without incrementing the major version to 2.x or later, and probably not then.

License

BSD 3-Clause - See LICENSE for more information.

Build and Test

To build this library, please do the following.

mvn clean install

After making changes, run the following commands to format your code and test your changes.

mvn fmt:format
mvn test

api-common-java's People

Contributors

ajaaym avatar andreamlin avatar blakeli0 avatar chingor13 avatar dangazineu avatar ddixit14 avatar dmitry-fa avatar eaball35 avatar elharo avatar ericgribkoff avatar garrettjonesgoogle avatar google-cloud-policy-bot[bot] avatar hiranya911 avatar justinbeckwith avatar kshithijiyer avatar lqiu96 avatar michaelbausor avatar miraleung avatar neenu1995 avatar pongad avatar release-please[bot] avatar renovate-bot avatar ryanpbrewster avatar schmidt-sebastian avatar sduskis avatar suztomo avatar theacodes avatar theindifferent avatar vam-google avatar yihanzhen avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.