diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml new file mode 100644 index 00000000..3f7432a5 --- /dev/null +++ b/.github/.OwlBot.lock.yaml @@ -0,0 +1,3 @@ +docker: + image: gcr.io/repo-automation-bots/owlbot-java:latest + digest: sha256:12cbdc4f137152a1a8b83f50ebc1a4098be0d3baff78b46efaec306f7cfafd13 diff --git a/.github/.OwlBot.yaml b/.github/.OwlBot.yaml new file mode 100644 index 00000000..8d37c7dd --- /dev/null +++ b/.github/.OwlBot.yaml @@ -0,0 +1,32 @@ +# Copyright 2021 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +docker: + image: "gcr.io/repo-automation-bots/owlbot-java:latest" + +deep-remove-regex: +- "/grpc-google-.*/src" +- "/proto-google-.*/src" +- "/google-.*/src" + +deep-preserve-regex: +- "/google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" + +deep-copy-regex: +- source: "/google/cloud/networkconnectivity/(v.*)/.*-java/proto-google-.*/src" + dest: "/owl-bot-staging/$1/proto-google-cloud-networkconnectivity-$1/src" +- source: "/google/cloud/networkconnectivity/(v.*)/.*-java/grpc-google-.*/src" + dest: "/owl-bot-staging/$1/grpc-google-cloud-networkconnectivity-$1/src" +- source: "/google/cloud/networkconnectivity/(v.*)/.*-java/gapic-google-.*/src" + dest: "/owl-bot-staging/$1/google-cloud-networkconnectivity/src" diff --git a/.github/readme/synth.metadata/synth.metadata b/.github/readme/synth.metadata/synth.metadata index 708a35e5..8a0da6a2 100644 --- a/.github/readme/synth.metadata/synth.metadata +++ b/.github/readme/synth.metadata/synth.metadata @@ -4,14 +4,14 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-networkconnectivity.git", - "sha": "15090cdacf44848cedffd63b6e08e10b464cf917" + "sha": "fb29f2682f8ab1b32df3446dc9ba8ea198cf437e" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "26558bae8976a985d73c2d98c31d8612273f907d" + "sha": "3d32990b6f4b57be77455e3ca89e6e21cd0c06b3" } } ] diff --git a/.github/release-please.yml b/.github/release-please.yml index 8ca7f9ca..7bf58076 100644 --- a/.github/release-please.yml +++ b/.github/release-please.yml @@ -1,3 +1,8 @@ bumpMinorPreMajor: true handleGHRelease: true releaseType: java-yoshi +branches: + - bumpMinorPreMajor: true + handleGHRelease: true + releaseType: java-yoshi + branch: java7 diff --git a/.github/sync-repo-settings.yaml b/.github/sync-repo-settings.yaml index e100454f..ffd39f6f 100644 --- a/.github/sync-repo-settings.yaml +++ b/.github/sync-repo-settings.yaml @@ -1,49 +1,44 @@ - -# Whether or not rebase-merging is enabled on this repository. -# Defaults to `true` rebaseMergeAllowed: false - -# Whether or not squash-merging is enabled on this repository. -# Defaults to `true` squashMergeAllowed: true - -# Whether or not PRs are merged with a merge commit on this repository. -# Defaults to `false` mergeCommitAllowed: false - -# Rules for master branch protection branchProtectionRules: -# Identifies the protection rule pattern. Name of the branch to be protected. -# Defaults to `master` -- pattern: master - # Can admins overwrite branch protection. - # Defaults to `true` - isAdminEnforced: true - # Number of approving reviews required to update matching branches. - # Defaults to `1` - requiredApprovingReviewCount: 1 - # Are reviews from code owners required to update matching branches. - # Defaults to `false` - requiresCodeOwnerReviews: true - # Require up to date branches - requiresStrictStatusChecks: false - # List of required status check contexts that must pass for commits to be accepted to matching branches. - requiredStatusCheckContexts: - - "dependencies (8)" - - "dependencies (11)" - - "linkage-monitor" - - "lint" - - "clirr" - - "units (7)" - - "units (8)" - - "units (11)" - - "Kokoro - Test: Integration" - - "cla/google" -# List of explicit permissions to add (additive only) + - pattern: master + isAdminEnforced: true + requiredApprovingReviewCount: 1 + requiresCodeOwnerReviews: true + requiresStrictStatusChecks: false + requiredStatusCheckContexts: + - dependencies (8) + - dependencies (11) + - linkage-monitor + - lint + - clirr + - units (8) + - units (11) + - 'Kokoro - Test: Integration' + - cla/google + - OwlBot Post Processor + - pattern: java7 + isAdminEnforced: true + requiredApprovingReviewCount: 1 + requiresCodeOwnerReviews: true + requiresStrictStatusChecks: false + requiredStatusCheckContexts: + - dependencies (8) + - dependencies (11) + - linkage-monitor + - lint + - clirr + - units (7) + - units (8) + - units (11) + - 'Kokoro - Test: Integration' + - cla/google + - OwlBot Post Processor permissionRules: -- team: yoshi-admins - permission: admin -- team: yoshi-java-admins - permission: admin -- team: yoshi-java - permission: push + - team: yoshi-admins + permission: admin + - team: yoshi-java-admins + permission: admin + - team: yoshi-java + permission: push diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0195b32f..65ae6ecd 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [7, 8, 11] + java: [8, 11] steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 7af64bd8..f5569fff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +### [0.3.2](https://www.github.com/googleapis/java-networkconnectivity/compare/v0.3.1...v0.3.2) (2021-08-06) + + +### Dependencies + +* update dependency com.google.cloud:google-cloud-shared-dependencies to v2 ([#121](https://www.github.com/googleapis/java-networkconnectivity/issues/121)) ([7247b3c](https://www.github.com/googleapis/java-networkconnectivity/commit/7247b3cf8e335c5e71d631a7cfb85ef8b04277b9)) + ### [0.3.1](https://www.github.com/googleapis/java-networkconnectivity/compare/v0.3.0...v0.3.1) (2021-07-01) diff --git a/README.md b/README.md index b0ae86c2..e9b35f4c 100644 --- a/README.md +++ b/README.md @@ -11,34 +11,42 @@ Java idiomatic client for [Network Connectivity Center][product-docs]. > Note: This client is a work-in-progress, and may occasionally > make backwards-incompatible changes. + ## Quickstart If you are using Maven, add this to your pom.xml file: + ```xml com.google.cloud google-cloud-networkconnectivity - 0.3.0 + 0.3.1 ``` If you are using Gradle without BOM, add this to your dependencies + ```Groovy -compile 'com.google.cloud:google-cloud-networkconnectivity:0.3.0' +compile 'com.google.cloud:google-cloud-networkconnectivity:0.3.1' ``` If you are using SBT, add this to your dependencies + ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-networkconnectivity" % "0.3.0" +libraryDependencies += "com.google.cloud" % "google-cloud-networkconnectivity" % "0.3.1" ``` ## Authentication See the [Authentication][authentication] section in the base directory's README. +## Authorization + +The client application making API calls must be granted [authorization scopes][auth-scopes] required for the desired Network Connectivity Center APIs, and the authenticated principal must have the [IAM role(s)][predefined-iam-roles] required to access GCP resources using the Network Connectivity Center API calls. + ## Getting Started ### Prerequisites @@ -75,10 +83,50 @@ To get help, follow the instructions in the [shared Troubleshooting document][tr Network Connectivity Center uses gRPC for the transport layer. -## Java Versions +## Supported Java Versions Java 7 or above is required for using this client. +Google's Java client libraries, +[Google Cloud Client Libraries][cloudlibs] +and +[Google Cloud API Libraries][apilibs], +follow the +[Oracle Java SE support roadmap][oracle] +(see the Oracle Java SE Product Releases section). + +### For new development + +In general, new feature development occurs with support for the lowest Java +LTS version covered by Oracle's Premier Support (which typically lasts 5 years +from initial General Availability). If the minimum required JVM for a given +library is changed, it is accompanied by a [semver][semver] major release. + +Java 11 and (in September 2021) Java 17 are the best choices for new +development. + +### Keeping production systems current + +Google tests its client libraries with all current LTS versions covered by +Oracle's Extended Support (which typically lasts 8 years from initial +General Availability). + +#### Legacy support + +Google's client libraries support legacy versions of Java runtimes with long +term stable libraries that don't receive feature updates on a best efforts basis +as it may not be possible to backport all patches. + +Google provides updates on a best efforts basis to apps that continue to use +Java 7, though apps might need to upgrade to current versions of the library +that supports their JVM. + +#### Where to find specific information + +The latest versions and the supported Java versions are identified on +the individual GitHub repository `github.com/GoogleAPIs/java-SERVICENAME` +and on [google-cloud-java][g-c-j]. + ## Versioning @@ -88,6 +136,7 @@ This library follows [Semantic Versioning](http://semver.org/). It is currently in major version zero (``0.y.z``), which means that anything may change at any time and the public API should not be considered stable. + ## Contributing @@ -99,6 +148,7 @@ Please note that this project is released with a Contributor Code of Conduct. By this project you agree to abide by its terms. See [Code of Conduct][code-of-conduct] for more information. + ## License Apache 2.0 - See [LICENSE][license] for more information. @@ -131,6 +181,9 @@ Java is a registered trademark of Oracle and/or its affiliates. [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-networkconnectivity.svg [maven-version-link]: https://search.maven.org/search?q=g:com.google.cloud%20AND%20a:google-cloud-networkconnectivity&core=gav [authentication]: https://github.com/googleapis/google-cloud-java#authentication +[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes +[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles +[iam-policy]: https://cloud.google.com/iam/docs/overview#cloud-iam-policy [developer-console]: https://console.developers.google.com/ [create-project]: https://cloud.google.com/resource-manager/docs/creating-managing-projects [cloud-sdk]: https://cloud.google.com/sdk/ @@ -142,3 +195,9 @@ Java is a registered trademark of Oracle and/or its affiliates. [enable-api]: https://console.cloud.google.com/flows/enableapi?apiid=networkconnectivity.googleapis.com [libraries-bom]: https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png + +[semver]: https://semver.org/ +[cloudlibs]: https://cloud.google.com/apis/docs/client-libraries-explained +[apilibs]: https://cloud.google.com/apis/docs/client-libraries-explained#google_api_client_libraries +[oracle]: https://www.oracle.com/java/technologies/java-se-support-roadmap.html +[g-c-j]: http://github.com/googleapis/google-cloud-java diff --git a/google-cloud-networkconnectivity-bom/pom.xml b/google-cloud-networkconnectivity-bom/pom.xml index 7e63f023..91546b26 100644 --- a/google-cloud-networkconnectivity-bom/pom.xml +++ b/google-cloud-networkconnectivity-bom/pom.xml @@ -1,14 +1,14 @@ - + 4.0.0 com.google.cloud google-cloud-networkconnectivity-bom - 0.3.1 + 0.3.2 pom com.google.cloud google-cloud-shared-config - 0.12.0 + 1.0.0 Google Network Connectivity Center BOM @@ -43,17 +43,6 @@ true - - - sonatype-nexus-snapshots - https://oss.sonatype.org/content/repositories/snapshots - - - sonatype-nexus-staging - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - - The Apache Software License, Version 2.0 @@ -64,21 +53,20 @@ - com.google.cloud google-cloud-networkconnectivity - 0.3.1 + 0.3.2 com.google.api.grpc - proto-google-cloud-networkconnectivity-v1alpha1 - 0.3.1 + grpc-google-cloud-networkconnectivity-v1alpha1 + 0.3.2 com.google.api.grpc - grpc-google-cloud-networkconnectivity-v1alpha1 - 0.3.1 + proto-google-cloud-networkconnectivity-v1alpha1 + 0.3.2 @@ -94,4 +82,4 @@ - \ No newline at end of file + diff --git a/google-cloud-networkconnectivity/pom.xml b/google-cloud-networkconnectivity/pom.xml index 0ea94fa5..62536455 100644 --- a/google-cloud-networkconnectivity/pom.xml +++ b/google-cloud-networkconnectivity/pom.xml @@ -1,9 +1,9 @@ - + 4.0.0 com.google.cloud google-cloud-networkconnectivity - 0.3.1 + 0.3.2 jar Google Network Connectivity Center https://github.com/googleapis/java-networkconnectivity @@ -11,7 +11,7 @@ com.google.cloud google-cloud-networkconnectivity-parent - 0.3.1 + 0.3.2 google-cloud-networkconnectivity @@ -108,4 +108,4 @@ - \ No newline at end of file + diff --git a/grpc-google-cloud-networkconnectivity-v1alpha1/pom.xml b/grpc-google-cloud-networkconnectivity-v1alpha1/pom.xml index febb6642..3d38618e 100644 --- a/grpc-google-cloud-networkconnectivity-v1alpha1/pom.xml +++ b/grpc-google-cloud-networkconnectivity-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-networkconnectivity-v1alpha1 - 0.3.1 + 0.3.2 grpc-google-cloud-networkconnectivity-v1alpha1 GRPC library for google-cloud-networkconnectivity com.google.cloud google-cloud-networkconnectivity-parent - 0.3.1 + 0.3.2 diff --git a/java.header b/java.header index 3a9b503a..d0970ba7 100644 --- a/java.header +++ b/java.header @@ -1,5 +1,5 @@ ^/\*$ -^ \* Copyright \d\d\d\d,? Google (Inc\.|LLC)( All [rR]ights [rR]eserved\.)?$ +^ \* Copyright \d\d\d\d,? Google (Inc\.|LLC)$ ^ \*$ ^ \* Licensed under the Apache License, Version 2\.0 \(the "License"\);$ ^ \* you may not use this file except in compliance with the License\.$ diff --git a/owlbot.py b/owlbot.py new file mode 100644 index 00000000..dca9d867 --- /dev/null +++ b/owlbot.py @@ -0,0 +1,24 @@ +# Copyright 2021 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import synthtool as s +from synthtool.languages import java + + +for library in s.get_staging_dirs(): + # put any special-case replacements here + s.move(library) + +s.remove_staging_dirs() +java.common_templates() diff --git a/pom.xml b/pom.xml index df715c30..46a667be 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-networkconnectivity-parent pom - 0.3.1 + 0.3.2 Google Network Connectivity Center Parent https://github.com/googleapis/java- @@ -14,7 +14,7 @@ com.google.cloud google-cloud-shared-config - 0.12.0 + 1.0.0 @@ -41,16 +41,7 @@ https://github.com/googleapis/java-/issues GitHub Issues - - - sonatype-nexus-snapshots - https://oss.sonatype.org/content/repositories/snapshots - - - sonatype-nexus-staging - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - + Apache-2.0 @@ -70,23 +61,23 @@ com.google.cloud google-cloud-networkconnectivity - 0.3.1 + 0.3.2 com.google.api.grpc proto-google-cloud-networkconnectivity-v1alpha1 - 0.3.1 + 0.3.2 com.google.api.grpc grpc-google-cloud-networkconnectivity-v1alpha1 - 0.3.1 + 0.3.2 com.google.cloud google-cloud-shared-dependencies - 1.4.0 + 2.0.0 pom import @@ -112,8 +103,8 @@ google-cloud-networkconnectivity - proto-google-cloud-networkconnectivity-v1alpha1 grpc-google-cloud-networkconnectivity-v1alpha1 + proto-google-cloud-networkconnectivity-v1alpha1 google-cloud-networkconnectivity-bom @@ -186,4 +177,4 @@ - \ No newline at end of file + diff --git a/proto-google-cloud-networkconnectivity-v1alpha1/pom.xml b/proto-google-cloud-networkconnectivity-v1alpha1/pom.xml index f5f88ccc..f3574b9f 100644 --- a/proto-google-cloud-networkconnectivity-v1alpha1/pom.xml +++ b/proto-google-cloud-networkconnectivity-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-networkconnectivity-v1alpha1 - 0.3.1 + 0.3.2 proto-google-cloud-networkconnectivity-v1alpha1 Proto library for google-cloud-networkconnectivity com.google.cloud google-cloud-networkconnectivity-parent - 0.3.1 + 0.3.2 diff --git a/renovate.json b/renovate.json index b9919979..39af1166 100644 --- a/renovate.json +++ b/renovate.json @@ -69,5 +69,8 @@ } ], "semanticCommits": true, - "masterIssue": true + "dependencyDashboard": true, + "dependencyDashboardLabels": [ + "type: process" + ] } diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index eedde73d..880348ea 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -29,7 +29,7 @@ com.google.cloud google-cloud-networkconnectivity - 0.3.0 + 0.3.1 diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 9cb3967e..d703f6a5 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-networkconnectivity - 0.3.0 + 0.3.1 diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index 81e52846..9d98dcef 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-networkconnectivity - 0.3.0 + 0.3.1 diff --git a/synth.metadata b/synth.metadata index a78485b8..fd6c6e48 100644 --- a/synth.metadata +++ b/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-networkconnectivity.git", - "sha": "16e8407028445771d53888747e2623b62c2baf92" + "sha": "a38ea6b57a46e666a6e1f518b279fc1a8e08a6e0" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "87254ac89a9559864c0a245d6b150406439ce3d8" + "sha": "5d3c52f5db664eee9026db76b5bcb466f3a09ca9" } } ], diff --git a/synth.py b/synth.py deleted file mode 100644 index ebce0a2c..00000000 --- a/synth.py +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""This script is used to synthesize generated parts of this library.""" - -import synthtool as s -import synthtool.gcp as gcp -import synthtool.languages.java as java - -service = 'networkconnectivity' -versions = ['v1alpha1'] - -for version in versions: - java.bazel_library( - service=service, - version=version, - proto_path=f'google/cloud/{service}/{version}', - bazel_target=f'//google/cloud/{service}/{version}:google-cloud-{service}-{version}-java', - ) - -java.common_templates() \ No newline at end of file diff --git a/versions.txt b/versions.txt index 475e12f1..7dbbc9cb 100644 --- a/versions.txt +++ b/versions.txt @@ -1,6 +1,6 @@ # Format: # module:released-version:current-version -google-cloud-networkconnectivity:0.3.1:0.3.1 -proto-google-cloud-networkconnectivity-v1alpha1:0.3.1:0.3.1 -grpc-google-cloud-networkconnectivity-v1alpha1:0.3.1:0.3.1 \ No newline at end of file +google-cloud-networkconnectivity:0.3.2:0.3.2 +grpc-google-cloud-networkconnectivity-v1alpha1:0.3.2:0.3.2 +proto-google-cloud-networkconnectivity-v1alpha1:0.3.2:0.3.2