https://github.com/googlecloudplatform/cloud-opensource-java
Tools for detecting and avoiding linkage errors in GCP open source projects
https://github.com/googlecloudplatform/cloud-opensource-java
cloud gcp java open-source
Last synced: 8 months ago
JSON representation
Tools for detecting and avoiding linkage errors in GCP open source projects
- Host: GitHub
- URL: https://github.com/googlecloudplatform/cloud-opensource-java
- Owner: GoogleCloudPlatform
- License: apache-2.0
- Created: 2018-05-22T17:24:30.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-05-15T18:01:41.000Z (8 months ago)
- Last Synced: 2025-05-16T11:03:13.349Z (8 months ago)
- Topics: cloud, gcp, java, open-source
- Language: Java
- Homepage:
- Size: 17.3 MB
- Stars: 155
- Watchers: 33
- Forks: 77
- Open Issues: 184
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](http://github.com/badges/stability-badges)
This project explores common infrastructure and best practices for open source
Java projects for the Google Cloud Platform (GCP).
# Google Cloud Platform Java Dependency Dashboard
[Google Cloud Platform Java Dependency Dashboard](
https://storage.googleapis.com/cloud-opensource-java-dashboard/com.google.cloud/libraries-bom/snapshot/index.html)
(runs daily; work in progress) shows multiple checks on the consistency among
Google Cloud Java libraries. For manually generating the dashboard, see
[its README](./dashboard/README.md).
# Google Best Practices for Java Libraries
[Google Best Practices for Java Libraries](https://googlecloudplatform.github.io/cloud-opensource-java/)
are rules that minimize problems for consumers of interconnected Java libraries.
# Linkage Checker
## Linkage Checker Maven Enforcer Rule
[Linkage Checker Enforcer Rule](./enforcer-rules) detects [linkage errors](
./library-best-practices/glossary.md#types-of-conflicts-and-compatibility) in
the current Maven project as part of build.
For its usage, see [the enforcer rule documentation](
https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/Linkage-Checker-Enforcer-Rule).
## Linkage Checker Gradle Plugin
[Linkage Checker Gradle Plugin](./gradle-plugin) provides the linkageCheck task that detects
[linkage errors](
./library-best-practices/glossary.md#types-of-conflicts-and-compatibility) in the current
Gradle project.
For its usage, see [the plugin documentation](
https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/Linkage-Checker-with-Gradle).
# GCP Libraries BOM
The [GCP Libraries BOM](https://cloud.google.com/java/docs/bom) is a Bill-of-Materials (BOM) that
provides consistent versions of Google Cloud Java libraries that work together
without linkage errors.
# Development
This project is built using _Maven_.
## Requirements
1. Maven 3.6.0 or later.
1. JDK 8 or 11.
1. git
1. Clone the project to a local directory using `git clone
git@github.com:GoogleCloudPlatform/cloud-opensource-java.git`.
# Disclaimer
This is not an officially supported Google product.