From fc21dc412566ef60d23f1f82db5caf3cfd5d447b Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Thu, 13 Feb 2020 16:37:59 -0500 Subject: [PATCH 01/36] docs: libraries-bom 4.0.1 (#976) @suztomo --- docs/setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/setup.md b/docs/setup.md index b77577572..e6e6f0742 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -23,7 +23,7 @@ the `dependencyManagement` section of your `pom.xml`: com.google.cloud libraries-bom - 4.0.0 + 4.0.1 pom import From 322da91d6f4b91eb4a586c3d9f69a221f1fc8473 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Fri, 14 Feb 2020 15:59:28 -0500 Subject: [PATCH 02/36] chore(docs): update libraries-bom to v4.1.0 (#978) --- docs/setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/setup.md b/docs/setup.md index e6e6f0742..403044e0f 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -23,7 +23,7 @@ the `dependencyManagement` section of your `pom.xml`: com.google.cloud libraries-bom - 4.0.1 + 4.1.0 pom import From 18fa8b7237ba320fa26f1e9241a4da51722ccd85 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 14 Feb 2020 23:44:18 +0100 Subject: [PATCH 03/36] chore(deps): update dependency com.google.protobuf:protobuf-java to v3.11.4 (#979) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index eeb364004..c2912853c 100644 --- a/pom.xml +++ b/pom.xml @@ -550,7 +550,7 @@ 3.0.2 2.8.6 2.10.2 - 3.11.3 + 3.11.4 28.2-android 1.1.4c 1.2 From bec568dd11456dc4a8c3d7396b7b313de6c5682a Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Mon, 17 Feb 2020 19:59:27 -0500 Subject: [PATCH 04/36] Move more up to date dependencies first (#981) @kolea2 This has the effect of upgrading commons-logging to 1.2 from 1.1.1 --- google-http-client-android/pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/google-http-client-android/pom.xml b/google-http-client-android/pom.xml index 6a474c559..cbb25eb2d 100644 --- a/google-http-client-android/pom.xml +++ b/google-http-client-android/pom.xml @@ -48,15 +48,15 @@ + + com.google.http-client + google-http-client + com.google.android android 4.1.1.4 provided - - com.google.http-client - google-http-client - From 1f662224d7bee6e27e8d66975fda39feae0c9359 Mon Sep 17 00:00:00 2001 From: cryptearth <57261571+cryptearth@users.noreply.github.com> Date: Mon, 24 Feb 2020 16:32:31 +0100 Subject: [PATCH 05/36] fix: reuse reference instead of calling getter twice (#983) fix for #982 changed switch parameter in parseValue from calling getCurrentToken() again to just declared and assigned local member "token" two lines above --- .../src/main/java/com/google/api/client/json/JsonParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-http-client/src/main/java/com/google/api/client/json/JsonParser.java b/google-http-client/src/main/java/com/google/api/client/json/JsonParser.java index 7ac07ff56..477640650 100644 --- a/google-http-client/src/main/java/com/google/api/client/json/JsonParser.java +++ b/google-http-client/src/main/java/com/google/api/client/json/JsonParser.java @@ -717,7 +717,7 @@ private final Object parseValue( // value type is now null, class, parameterized type, or generic array type JsonToken token = getCurrentToken(); try { - switch (getCurrentToken()) { + switch (token) { case START_ARRAY: case END_ARRAY: boolean isArray = Types.isArray(valueType); From 635c81352ae383b3abfe6d7c141d987a6944b3e9 Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Mon, 24 Feb 2020 14:16:09 -0500 Subject: [PATCH 06/36] docs: libraries-bom 4.1.1 (#984) @suztomo --- docs/setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/setup.md b/docs/setup.md index 403044e0f..7f9c9bc87 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -23,7 +23,7 @@ the `dependencyManagement` section of your `pom.xml`: com.google.cloud libraries-bom - 4.1.0 + 4.1.1 pom import From d2b99e6e66a2c98636edaa22b02dcaccc90c8fbb Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Mon, 2 Mar 2020 15:43:35 -0500 Subject: [PATCH 07/36] chore(docs): libraries-bom 4.2.0 (#985) --- docs/setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/setup.md b/docs/setup.md index 7f9c9bc87..9736859eb 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -23,7 +23,7 @@ the `dependencyManagement` section of your `pom.xml`: com.google.cloud libraries-bom - 4.1.1 + 4.2.0 pom import From 144510b7334c2f6fb9981efe5abd458eb369d437 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 2 Mar 2020 12:44:01 -0800 Subject: [PATCH 08/36] chore: release 1.34.3-SNAPSHOT (#977) * updated versions.txt [ci skip] * updated google-http-client-findbugs/google-http-client-findbugs-test/pom.xml [ci skip] * updated google-http-client-android-test/pom.xml [ci skip] * updated google-http-client-android/pom.xml [ci skip] * updated google-http-client-apache-v2/pom.xml [ci skip] * updated google-http-client-appengine/pom.xml [ci skip] * updated google-http-client-assembly/pom.xml [ci skip] * updated google-http-client-bom/pom.xml [ci skip] * updated google-http-client-findbugs/pom.xml [ci skip] * updated google-http-client-gson/pom.xml [ci skip] * updated google-http-client-jackson2/pom.xml [ci skip] * updated google-http-client-protobuf/pom.xml [ci skip] * updated google-http-client-test/pom.xml [ci skip] * updated google-http-client-xml/pom.xml [ci skip] * updated google-http-client/pom.xml [ci skip] * updated pom.xml [ci skip] * updated samples/dailymotion-simple-cmdline-sample/pom.xml [ci skip] --- google-http-client-android-test/pom.xml | 6 ++-- google-http-client-android/pom.xml | 4 +-- google-http-client-apache-v2/pom.xml | 4 +-- google-http-client-appengine/pom.xml | 4 +-- google-http-client-assembly/pom.xml | 4 +-- google-http-client-bom/pom.xml | 22 +++++++-------- google-http-client-findbugs/pom.xml | 4 +-- google-http-client-gson/pom.xml | 4 +-- google-http-client-jackson2/pom.xml | 4 +-- google-http-client-protobuf/pom.xml | 4 +-- google-http-client-test/pom.xml | 4 +-- google-http-client-xml/pom.xml | 4 +-- google-http-client/pom.xml | 4 +-- pom.xml | 4 +-- .../dailymotion-simple-cmdline-sample/pom.xml | 2 +- versions.txt | 28 +++++++++---------- 16 files changed, 53 insertions(+), 53 deletions(-) diff --git a/google-http-client-android-test/pom.xml b/google-http-client-android-test/pom.xml index 9e3dc9569..1a7c83553 100644 --- a/google-http-client-android-test/pom.xml +++ b/google-http-client-android-test/pom.xml @@ -4,7 +4,7 @@ google-http-client google-http-client-android-test Test project for google-http-client-android. - 1.34.2 + 1.34.3-SNAPSHOT apk @@ -53,7 +53,7 @@ com.google.http-client google-http-client-android - 1.34.2 + 1.34.3-SNAPSHOT android @@ -72,7 +72,7 @@ com.google.http-client google-http-client-test - 1.34.2 + 1.34.3-SNAPSHOT junit diff --git a/google-http-client-android/pom.xml b/google-http-client-android/pom.xml index cbb25eb2d..a36d4f0c2 100644 --- a/google-http-client-android/pom.xml +++ b/google-http-client-android/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.2 + 1.34.3-SNAPSHOT ../pom.xml google-http-client-android - 1.34.2 + 1.34.3-SNAPSHOT Android Platform Extensions to the Google HTTP Client Library for Java. diff --git a/google-http-client-apache-v2/pom.xml b/google-http-client-apache-v2/pom.xml index 2db004ef0..0cef2f330 100644 --- a/google-http-client-apache-v2/pom.xml +++ b/google-http-client-apache-v2/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.2 + 1.34.3-SNAPSHOT ../pom.xml google-http-client-apache-v2 - 1.34.2 + 1.34.3-SNAPSHOT Apache HTTP transport v2 for the Google HTTP Client Library for Java. diff --git a/google-http-client-appengine/pom.xml b/google-http-client-appengine/pom.xml index d791810ad..048cf4bdc 100644 --- a/google-http-client-appengine/pom.xml +++ b/google-http-client-appengine/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.2 + 1.34.3-SNAPSHOT ../pom.xml google-http-client-appengine - 1.34.2 + 1.34.3-SNAPSHOT Google App Engine extensions to the Google HTTP Client Library for Java. diff --git a/google-http-client-assembly/pom.xml b/google-http-client-assembly/pom.xml index 3ab6bff00..bcf1716c4 100644 --- a/google-http-client-assembly/pom.xml +++ b/google-http-client-assembly/pom.xml @@ -4,12 +4,12 @@ com.google.http-client google-http-client-parent - 1.34.2 + 1.34.3-SNAPSHOT ../pom.xml com.google.http-client google-http-client-assembly - 1.34.2 + 1.34.3-SNAPSHOT pom Assembly for the Google HTTP Client Library for Java diff --git a/google-http-client-bom/pom.xml b/google-http-client-bom/pom.xml index a8796f688..3214960dc 100644 --- a/google-http-client-bom/pom.xml +++ b/google-http-client-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.http-client google-http-client-bom - 1.34.2 + 1.34.3-SNAPSHOT pom Google HTTP Client Library for Java BOM @@ -63,52 +63,52 @@ com.google.http-client google-http-client - 1.34.2 + 1.34.3-SNAPSHOT com.google.http-client google-http-client-android - 1.34.2 + 1.34.3-SNAPSHOT com.google.http-client google-http-client-apache-v2 - 1.34.2 + 1.34.3-SNAPSHOT com.google.http-client google-http-client-appengine - 1.34.2 + 1.34.3-SNAPSHOT com.google.http-client google-http-client-findbugs - 1.34.2 + 1.34.3-SNAPSHOT com.google.http-client google-http-client-gson - 1.34.2 + 1.34.3-SNAPSHOT com.google.http-client google-http-client-jackson2 - 1.34.2 + 1.34.3-SNAPSHOT com.google.http-client google-http-client-protobuf - 1.34.2 + 1.34.3-SNAPSHOT com.google.http-client google-http-client-test - 1.34.2 + 1.34.3-SNAPSHOT com.google.http-client google-http-client-xml - 1.34.2 + 1.34.3-SNAPSHOT diff --git a/google-http-client-findbugs/pom.xml b/google-http-client-findbugs/pom.xml index e9e33e565..9a38fc319 100644 --- a/google-http-client-findbugs/pom.xml +++ b/google-http-client-findbugs/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.2 + 1.34.3-SNAPSHOT ../pom.xml google-http-client-findbugs - 1.34.2 + 1.34.3-SNAPSHOT Google APIs Client Library Findbugs custom plugin. diff --git a/google-http-client-gson/pom.xml b/google-http-client-gson/pom.xml index 463c9feda..96faf7cc4 100644 --- a/google-http-client-gson/pom.xml +++ b/google-http-client-gson/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.2 + 1.34.3-SNAPSHOT ../pom.xml google-http-client-gson - 1.34.2 + 1.34.3-SNAPSHOT GSON extensions to the Google HTTP Client Library for Java. diff --git a/google-http-client-jackson2/pom.xml b/google-http-client-jackson2/pom.xml index e3c9ba349..c2d0bc41d 100644 --- a/google-http-client-jackson2/pom.xml +++ b/google-http-client-jackson2/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.2 + 1.34.3-SNAPSHOT ../pom.xml google-http-client-jackson2 - 1.34.2 + 1.34.3-SNAPSHOT Jackson 2 extensions to the Google HTTP Client Library for Java. diff --git a/google-http-client-protobuf/pom.xml b/google-http-client-protobuf/pom.xml index 11cfa76fc..84e737bc6 100644 --- a/google-http-client-protobuf/pom.xml +++ b/google-http-client-protobuf/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.2 + 1.34.3-SNAPSHOT ../pom.xml google-http-client-protobuf - 1.34.2 + 1.34.3-SNAPSHOT Protocol Buffer extensions to the Google HTTP Client Library for Java. diff --git a/google-http-client-test/pom.xml b/google-http-client-test/pom.xml index d2c9dc1c8..21c068793 100644 --- a/google-http-client-test/pom.xml +++ b/google-http-client-test/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.2 + 1.34.3-SNAPSHOT ../pom.xml google-http-client-test - 1.34.2 + 1.34.3-SNAPSHOT Shared classes used for testing of artifacts in the Google HTTP Client Library for Java. diff --git a/google-http-client-xml/pom.xml b/google-http-client-xml/pom.xml index ac1cb4a7b..97c6729ee 100644 --- a/google-http-client-xml/pom.xml +++ b/google-http-client-xml/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.2 + 1.34.3-SNAPSHOT ../pom.xml google-http-client-xml - 1.34.2 + 1.34.3-SNAPSHOT XML extensions to the Google HTTP Client Library for Java. diff --git a/google-http-client/pom.xml b/google-http-client/pom.xml index 1b033d480..51bf05688 100644 --- a/google-http-client/pom.xml +++ b/google-http-client/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.2 + 1.34.3-SNAPSHOT ../pom.xml google-http-client - 1.34.2 + 1.34.3-SNAPSHOT Google HTTP Client Library for Java Google HTTP Client Library for Java. Functionality that works on all supported Java platforms, diff --git a/pom.xml b/pom.xml index c2912853c..4d1f7774f 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.google.http-client google-http-client-parent - 1.34.2 + 1.34.3-SNAPSHOT pom Parent for the Google HTTP Client Library for Java Google HTTP Client Library for Java @@ -544,7 +544,7 @@ - google-api-java-client/google-api-client-assembly/android-properties (make the filenames match the version here) - Internally, update the default features.json file --> - 1.34.2 + 1.34.3-SNAPSHOT 1.9.71 UTF-8 3.0.2 diff --git a/samples/dailymotion-simple-cmdline-sample/pom.xml b/samples/dailymotion-simple-cmdline-sample/pom.xml index a735456a7..8835f485c 100644 --- a/samples/dailymotion-simple-cmdline-sample/pom.xml +++ b/samples/dailymotion-simple-cmdline-sample/pom.xml @@ -4,7 +4,7 @@ com.google.http-client google-http-client-parent - 1.34.2 + 1.34.3-SNAPSHOT ../../pom.xml dailymotion-simple-cmdline-sample diff --git a/versions.txt b/versions.txt index fef459c2e..ab3e1feae 100644 --- a/versions.txt +++ b/versions.txt @@ -1,17 +1,17 @@ # Format: # module:released-version:current-version -google-http-client:1.34.2:1.34.2 -google-http-client-bom:1.34.2:1.34.2 -google-http-client-parent:1.34.2:1.34.2 -google-http-client-android:1.34.2:1.34.2 -google-http-client-android-test:1.34.2:1.34.2 -google-http-client-apache-v2:1.34.2:1.34.2 -google-http-client-appengine:1.34.2:1.34.2 -google-http-client-assembly:1.34.2:1.34.2 -google-http-client-findbugs:1.34.2:1.34.2 -google-http-client-gson:1.34.2:1.34.2 -google-http-client-jackson2:1.34.2:1.34.2 -google-http-client-protobuf:1.34.2:1.34.2 -google-http-client-test:1.34.2:1.34.2 -google-http-client-xml:1.34.2:1.34.2 +google-http-client:1.34.2:1.34.3-SNAPSHOT +google-http-client-bom:1.34.2:1.34.3-SNAPSHOT +google-http-client-parent:1.34.2:1.34.3-SNAPSHOT +google-http-client-android:1.34.2:1.34.3-SNAPSHOT +google-http-client-android-test:1.34.2:1.34.3-SNAPSHOT +google-http-client-apache-v2:1.34.2:1.34.3-SNAPSHOT +google-http-client-appengine:1.34.2:1.34.3-SNAPSHOT +google-http-client-assembly:1.34.2:1.34.3-SNAPSHOT +google-http-client-findbugs:1.34.2:1.34.3-SNAPSHOT +google-http-client-gson:1.34.2:1.34.3-SNAPSHOT +google-http-client-jackson2:1.34.2:1.34.3-SNAPSHOT +google-http-client-protobuf:1.34.2:1.34.3-SNAPSHOT +google-http-client-test:1.34.2:1.34.3-SNAPSHOT +google-http-client-xml:1.34.2:1.34.3-SNAPSHOT From 61fdcd4488b5833cd6ed528b6a59ea1092824e3a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 2 Mar 2020 12:44:38 -0800 Subject: [PATCH 09/36] chore: update common templates (#967) --- .kokoro/linkage-monitor.sh | 7 +- synth.metadata | 1393 +----------------------------------- 2 files changed, 7 insertions(+), 1393 deletions(-) diff --git a/.kokoro/linkage-monitor.sh b/.kokoro/linkage-monitor.sh index 5b1b65516..f88d75532 100755 --- a/.kokoro/linkage-monitor.sh +++ b/.kokoro/linkage-monitor.sh @@ -23,7 +23,12 @@ cd github/google-http-java-client/ java -version echo ${JOB_TYPE} -mvn install -DskipTests=true -Dmaven.javadoc.skip=true -Dgcloud.download.skip=true -B -V +mvn install -B -V \ + -DskipTests=true \ + -Dclirr.skip=true \ + -Denforcer.skip=true \ + -Dmaven.javadoc.skip=true \ + -Dgcloud.download.skip=true # Kokoro job cloud-opensource-java/ubuntu/linkage-monitor-gcs creates this JAR JAR=linkage-monitor-latest-all-deps.jar diff --git a/synth.metadata b/synth.metadata index 7b71dfbb3..2f70e1092 100644 --- a/synth.metadata +++ b/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2020-01-07T08:32:34.360210Z", + "updateTime": "2020-02-01T08:32:15.578940Z", "sources": [ { "template": { @@ -8,1396 +8,5 @@ "version": "2019.10.17" } } - ], - "newFiles": [ - { - "path": ".repo-metadata.json" - }, - { - "path": "checkstyle.xml" - }, - { - "path": "renovate.json" - }, - { - "path": "findbugs-exclude.xml" - }, - { - "path": "synth.py" - }, - { - "path": "CHANGELOG.md" - }, - { - "path": "codecov.yaml" - }, - { - "path": "LICENSE" - }, - { - "path": "instructions.html" - }, - { - "path": "checkstyle-suppressions.xml" - }, - { - "path": ".gitignore" - }, - { - "path": "pom.xml" - }, - { - "path": "CODE_OF_CONDUCT.md" - }, - { - "path": ".travis.yml" - }, - { - "path": "synth.metadata" - }, - { - "path": "README.md" - }, - { - "path": "versions.txt" - }, - { - "path": "CONTRIBUTING.md" - }, - { - "path": "clirr-ignored-differences.xml" - }, - { - "path": "google-http-client-assembly/readme.html" - }, - { - "path": "google-http-client-assembly/LICENSE.txt" - }, - { - "path": "google-http-client-assembly/pom.xml" - }, - { - "path": "google-http-client-assembly/proguard-google-http-client.txt" - }, - { - "path": "google-http-client-assembly/classpath-include" - }, - { - "path": "google-http-client-assembly/assembly.xml" - }, - { - "path": "google-http-client-assembly/licenses/CDDL-LICENSE.txt" - }, - { - "path": "google-http-client-assembly/licenses/xpp3_LICENSE.txt" - }, - { - "path": "google-http-client-assembly/licenses/APACHE-LICENSE.txt" - }, - { - "path": "google-http-client-assembly/licenses/BSD-LICENSE.txt" - }, - { - "path": "google-http-client-assembly/properties/google-http-client.jar.properties" - }, - { - "path": "google-http-client-assembly/properties/google-http-client-android.jar.properties" - }, - { - "path": "google-http-client-assembly/properties/google-http-client-gson.jar.properties" - }, - { - "path": "google-http-client-assembly/properties/google-http-client-jackson2.jar.properties" - }, - { - "path": "google-http-client-assembly/properties/protobuf-java.jar.properties" - }, - { - "path": "google-http-client-assembly/properties/jackson-core.jar.properties" - }, - { - "path": "google-http-client-assembly/properties/google-http-client-xml.jar.properties" - }, - { - "path": "google-http-client-assembly/properties/gson.jar.properties" - }, - { - "path": "google-http-client-assembly/properties/google-http-client-apache-v2.jar.properties" - }, - { - "path": "google-http-client-assembly/properties/google-http-client-protobuf.jar.properties" - }, - { - "path": "google-http-client-protobuf/pom.xml" - }, - { - "path": "google-http-client-protobuf/src/test/proto/simple_proto.proto" - }, - { - "path": "google-http-client-protobuf/src/test/java/com/google/api/client/protobuf/ProtocolBuffersTest.java" - }, - { - "path": "google-http-client-protobuf/src/main/java/com/google/api/client/protobuf/ProtocolBuffers.java" - }, - { - "path": "google-http-client-protobuf/src/main/java/com/google/api/client/protobuf/package-info.java" - }, - { - "path": "google-http-client-protobuf/src/main/java/com/google/api/client/protobuf/ProtoObjectParser.java" - }, - { - "path": "google-http-client-protobuf/src/main/java/com/google/api/client/http/protobuf/ProtoHttpContent.java" - }, - { - "path": "google-http-client-protobuf/src/main/java/com/google/api/client/http/protobuf/package-info.java" - }, - { - "path": "google-http-client-xml/pom.xml" - }, - { - "path": "google-http-client-xml/src/test/resources/sample-atom.xml" - }, - { - "path": "google-http-client-xml/src/test/java/com/google/api/client/xml/GenericXmlTest.java" - }, - { - "path": "google-http-client-xml/src/test/java/com/google/api/client/xml/AtomTest.java" - }, - { - "path": "google-http-client-xml/src/test/java/com/google/api/client/xml/XmlNamespaceDictionaryTest.java" - }, - { - "path": "google-http-client-xml/src/test/java/com/google/api/client/xml/XmlEnumTest.java" - }, - { - "path": "google-http-client-xml/src/test/java/com/google/api/client/xml/GenericXmlListTest.java" - }, - { - "path": "google-http-client-xml/src/test/java/com/google/api/client/xml/XmlListTest.java" - }, - { - "path": "google-http-client-xml/src/test/java/com/google/api/client/xml/XmlTest.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/xml/XmlNamespaceDictionary.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/xml/GenericXml.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/xml/Xml.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/xml/package-info.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/xml/XmlObjectParser.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/xml/atom/Atom.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/xml/atom/AbstractAtomFeedParser.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/xml/atom/package-info.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/http/xml/AbstractXmlHttpContent.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/http/xml/XmlHttpContent.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/http/xml/package-info.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/http/xml/atom/AtomFeedParser.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/http/xml/atom/package-info.java" - }, - { - "path": "google-http-client-xml/src/main/java/com/google/api/client/http/xml/atom/AtomContent.java" - }, - { - "path": "google-http-client-gson/pom.xml" - }, - { - "path": "google-http-client-gson/src/test/java/com/google/api/client/json/gson/GsonParserTest.java" - }, - { - "path": "google-http-client-gson/src/test/java/com/google/api/client/json/gson/GsonFactoryTest.java" - }, - { - "path": "google-http-client-gson/src/test/java/com/google/api/client/json/gson/GsonGeneratorTest.java" - }, - { - "path": "google-http-client-gson/src/main/java/com/google/api/client/json/gson/GsonFactory.java" - }, - { - "path": "google-http-client-gson/src/main/java/com/google/api/client/json/gson/GsonGenerator.java" - }, - { - "path": "google-http-client-gson/src/main/java/com/google/api/client/json/gson/package-info.java" - }, - { - "path": "google-http-client-gson/src/main/java/com/google/api/client/json/gson/GsonParser.java" - }, - { - "path": "google-http-client-jackson2/pom.xml" - }, - { - "path": "google-http-client-jackson2/src/test/java/com/google/api/client/json/jackson2/JacksonFactoryTest.java" - }, - { - "path": "google-http-client-jackson2/src/test/java/com/google/api/client/json/jackson2/JacksonGeneratorTest.java" - }, - { - "path": "google-http-client-jackson2/src/test/java/com/google/api/client/json/jackson2/JacksonParserTest.java" - }, - { - "path": "google-http-client-jackson2/src/main/java/com/google/api/client/json/jackson2/JacksonParser.java" - }, - { - "path": "google-http-client-jackson2/src/main/java/com/google/api/client/json/jackson2/package-info.java" - }, - { - "path": "google-http-client-jackson2/src/main/java/com/google/api/client/json/jackson2/JacksonFactory.java" - }, - { - "path": "google-http-client-jackson2/src/main/java/com/google/api/client/json/jackson2/JacksonGenerator.java" - }, - { - "path": "google-http-client-appengine/pom.xml" - }, - { - "path": "google-http-client-appengine/src/test/java/com/google/api/client/extensions/appengine/datastore/AppEngineDataStoreFactoryTest.java" - }, - { - "path": "google-http-client-appengine/src/test/java/com/google/api/client/extensions/appengine/datastore/AppEngineNoMemcacheDataStoreFactoryTest.java" - }, - { - "path": "google-http-client-appengine/src/test/java/com/google/api/client/extensions/appengine/http/UrlFetchTransportTest.java" - }, - { - "path": "google-http-client-appengine/src/main/java/com/google/api/client/extensions/appengine/datastore/package-info.java" - }, - { - "path": "google-http-client-appengine/src/main/java/com/google/api/client/extensions/appengine/datastore/AppEngineDataStoreFactory.java" - }, - { - "path": "google-http-client-appengine/src/main/java/com/google/api/client/extensions/appengine/http/UrlFetchTransport.java" - }, - { - "path": "google-http-client-appengine/src/main/java/com/google/api/client/extensions/appengine/http/UrlFetchResponse.java" - }, - { - "path": "google-http-client-appengine/src/main/java/com/google/api/client/extensions/appengine/http/package-info.java" - }, - { - "path": "google-http-client-appengine/src/main/java/com/google/api/client/extensions/appengine/http/UrlFetchRequest.java" - }, - { - "path": "samples/dailymotion-simple-cmdline-sample/logging.properties" - }, - { - "path": "samples/dailymotion-simple-cmdline-sample/instructions.html" - }, - { - "path": "samples/dailymotion-simple-cmdline-sample/pom.xml" - }, - { - "path": "samples/dailymotion-simple-cmdline-sample/DailyMotionSample.launch" - }, - { - "path": "samples/dailymotion-simple-cmdline-sample/.settings/org.eclipse.jdt.ui.prefs" - }, - { - "path": "samples/dailymotion-simple-cmdline-sample/src/main/java/com/google/api/services/samples/dailymotion/cmdline/simple/DailyMotionSample.java" - }, - { - "path": "google-http-client-android/AndroidManifest.xml" - }, - { - "path": "google-http-client-android/project.properties" - }, - { - "path": "google-http-client-android/pom.xml" - }, - { - "path": "google-http-client-android/src/main/java/com/google/api/client/extensions/android/package-info.java" - }, - { - "path": "google-http-client-android/src/main/java/com/google/api/client/extensions/android/AndroidUtils.java" - }, - { - "path": "google-http-client-android/src/main/java/com/google/api/client/extensions/android/json/AndroidJsonParser.java" - }, - { - "path": "google-http-client-android/src/main/java/com/google/api/client/extensions/android/json/AndroidJsonGenerator.java" - }, - { - "path": "google-http-client-android/src/main/java/com/google/api/client/extensions/android/json/AndroidJsonFactory.java" - }, - { - "path": "google-http-client-android/src/main/java/com/google/api/client/extensions/android/json/package-info.java" - }, - { - "path": "google-http-client-android/src/main/java/com/google/api/client/extensions/android/http/AndroidHttp.java" - }, - { - "path": "google-http-client-android/src/main/java/com/google/api/client/extensions/android/http/package-info.java" - }, - { - "path": "google-http-client-test/pom.xml" - }, - { - "path": "google-http-client-test/src/test/java/com/google/api/client/test/util/store/MemoryDataStoreFactoryTest.java" - }, - { - "path": "google-http-client-test/src/test/java/com/google/api/client/test/util/store/FileDataStoreFactoryTest.java" - }, - { - "path": "google-http-client-test/src/main/java/com/google/api/client/test/json/AbstractJsonFactoryTest.java" - }, - { - "path": "google-http-client-test/src/main/java/com/google/api/client/test/json/package-info.java" - }, - { - "path": "google-http-client-test/src/main/java/com/google/api/client/test/json/AbstractJsonGeneratorTest.java" - }, - { - "path": "google-http-client-test/src/main/java/com/google/api/client/test/json/AbstractJsonParserTest.java" - }, - { - "path": "google-http-client-test/src/main/java/com/google/api/client/test/util/store/AbstractDataStoreFactoryTest.java" - }, - { - "path": "google-http-client-test/src/main/java/com/google/api/client/test/util/store/package-info.java" - }, - { - "path": ".kokoro/build.bat" - }, - { - "path": ".kokoro/build.sh" - }, - { - "path": ".kokoro/dependencies.sh" - }, - { - "path": ".kokoro/common.cfg" - }, - { - "path": ".kokoro/trampoline.sh" - }, - { - "path": ".kokoro/coerce_logs.sh" - }, - { - "path": ".kokoro/linkage-monitor.sh" - }, - { - "path": ".kokoro/continuous/dependencies.cfg" - }, - { - "path": ".kokoro/continuous/samples.cfg" - }, - { - "path": ".kokoro/continuous/java7.cfg" - }, - { - "path": ".kokoro/continuous/java8-osx.cfg" - }, - { - "path": ".kokoro/continuous/java10.cfg" - }, - { - "path": ".kokoro/continuous/java8-win.cfg" - }, - { - "path": ".kokoro/continuous/propose_release.sh" - }, - { - "path": ".kokoro/continuous/lint.cfg" - }, - { - "path": ".kokoro/continuous/java11.cfg" - }, - { - "path": ".kokoro/continuous/common.cfg" - }, - { - "path": ".kokoro/continuous/propose_release.cfg" - }, - { - "path": ".kokoro/continuous/java8.cfg" - }, - { - "path": ".kokoro/continuous/integration.cfg" - }, - { - "path": ".kokoro/release/drop.sh" - }, - { - "path": ".kokoro/release/stage.cfg" - }, - { - "path": ".kokoro/release/promote.cfg" - }, - { - "path": ".kokoro/release/publish_javadoc.cfg" - }, - { - "path": ".kokoro/release/bump_snapshot.cfg" - }, - { - "path": ".kokoro/release/promote.sh" - }, - { - "path": ".kokoro/release/stage.sh" - }, - { - "path": ".kokoro/release/snapshot.sh" - }, - { - "path": ".kokoro/release/snapshot.cfg" - }, - { - "path": ".kokoro/release/common.cfg" - }, - { - "path": ".kokoro/release/bump_snapshot.sh" - }, - { - "path": ".kokoro/release/common.sh" - }, - { - "path": ".kokoro/release/drop.cfg" - }, - { - "path": ".kokoro/release/publish_javadoc.sh" - }, - { - "path": ".kokoro/presubmit/dependencies.cfg" - }, - { - "path": ".kokoro/presubmit/samples.cfg" - }, - { - "path": ".kokoro/presubmit/java7.cfg" - }, - { - "path": ".kokoro/presubmit/java8-osx.cfg" - }, - { - "path": ".kokoro/presubmit/linkage-monitor.cfg" - }, - { - "path": ".kokoro/presubmit/java10.cfg" - }, - { - "path": ".kokoro/presubmit/java8-win.cfg" - }, - { - "path": ".kokoro/presubmit/lint.cfg" - }, - { - "path": ".kokoro/presubmit/java11.cfg" - }, - { - "path": ".kokoro/presubmit/common.cfg" - }, - { - "path": ".kokoro/presubmit/clirr.cfg" - }, - { - "path": ".kokoro/presubmit/java8.cfg" - }, - { - "path": ".kokoro/presubmit/integration.cfg" - }, - { - "path": ".kokoro/nightly/dependencies.cfg" - }, - { - "path": ".kokoro/nightly/samples.cfg" - }, - { - "path": ".kokoro/nightly/java7.cfg" - }, - { - "path": ".kokoro/nightly/java8-osx.cfg" - }, - { - "path": ".kokoro/nightly/java8-win.cfg" - }, - { - "path": ".kokoro/nightly/lint.cfg" - }, - { - "path": ".kokoro/nightly/java11.cfg" - }, - { - "path": ".kokoro/nightly/common.cfg" - }, - { - "path": ".kokoro/nightly/java8.cfg" - }, - { - "path": ".kokoro/nightly/integration.cfg" - }, - { - "path": "google-http-client/pom.xml" - }, - { - "path": "google-http-client/src/test/resources/file.txt" - }, - { - "path": "google-http-client/src/test/resources/com/google/api/client/util/secret.pem" - }, - { - "path": "google-http-client/src/test/resources/com/google/api/client/util/secret.p12" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/json/GenericJsonTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/json/JsonParserTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/json/JsonObjectParserTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/json/webtoken/JsonWebSignatureTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/testing/http/MockHttpTransportTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/testing/http/MockLowLevelHttpRequestTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/testing/http/FixedClockTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/testing/http/javanet/MockHttpUrlConnectionTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/testing/util/MockBackOffTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/HttpMediaTypeTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/OpenCensusUtilsTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/GZipEncodingTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/ExponentialBackOffPolicyTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/EmptyContentTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/GenericUrlTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/HttpResponseExceptionTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/ConsumingInputStreamTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/MultipartContentTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/HttpRequestTracingTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/HttpResponseTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/HttpRequestTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/HttpHeadersTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/UriTemplateTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/HttpEncodingStreamingContentTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/AbstractHttpContentTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/HttpStatusCodesTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/HttpBackOffIOExpcetionHandlerTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/UrlEncodedParserTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/ByteArrayContentTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/UrlEncodedContentTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/HttpBackOffUnsuccessfulResponseHandlerTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/BasicAuthenticationTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/javanet/NetHttpRequestTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/javanet/NetHttpResponseTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/http/javanet/NetHttpTransportTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/ArrayMapTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/DataMapTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/NanoClockTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/LoggingStreamingContentTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/DataTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/TypesTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/ObjectsTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/ClassInfoTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/GenericDataTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/ExponentialBackOffTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/BackOffTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/DateTimeTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/IOUtilsTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/Base64Test.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/ClockTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/StringUtilsTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/SecurityUtilsTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/FieldInfoTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/PemReaderTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/BackOffUtilsTest.java" - }, - { - "path": "google-http-client/src/test/java/com/google/api/client/util/escape/CharEscapersTest.java" - }, - { - "path": "google-http-client/src/main/resources/google-http-client.properties" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/JsonParser.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/JsonGenerator.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/JsonFactory.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/JsonToken.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/Json.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/JsonObjectParser.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/GenericJson.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/JsonPolymorphicTypeMap.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/JsonString.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/CustomizeJsonParser.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/webtoken/JsonWebToken.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/webtoken/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/webtoken/JsonWebSignature.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/rpc2/JsonRpcRequest.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/json/rpc2/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/json/MockJsonFactory.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/json/MockJsonParser.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/json/MockJsonGenerator.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/json/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/json/webtoken/TestCertificates.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/json/webtoken/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/http/MockHttpTransport.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/http/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/http/MockLowLevelHttpResponse.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/http/MockHttpContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/http/FixedClock.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/http/HttpTesting.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/http/MockHttpUnsuccessfulResponseHandler.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/http/MockLowLevelHttpRequest.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/http/javanet/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/http/javanet/MockHttpURLConnection.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/http/apache/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/http/apache/MockHttpClient.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/util/MockBackOff.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/util/SecurityTestUtils.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/util/MockSleeper.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/util/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/util/TestableByteArrayOutputStream.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/util/TestableByteArrayInputStream.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/testing/util/LogRecordingHandler.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpResponseException.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/UrlEncodedParser.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/MultipartContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/BasicAuthentication.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpBackOffUnsuccessfulResponseHandler.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpUnsuccessfulResponseHandler.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpEncoding.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpEncodingStreamingContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpExecuteInterceptor.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/ByteArrayContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpRequest.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/EmptyContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/FileContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/LowLevelHttpRequest.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpStatusCodes.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/UriTemplate.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpBackOffIOExceptionHandler.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/GZipEncoding.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/OpenCensusUtils.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpResponse.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpMediaType.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpIOExceptionHandler.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/UrlEncodedContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpMethods.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/ExponentialBackOffPolicy.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpRequestFactory.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/AbstractHttpContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/AbstractInputStreamContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/BackOffPolicy.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/InputStreamContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpHeaders.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/GenericUrl.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/LowLevelHttpResponse.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpResponseInterceptor.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/ConsumingInputStream.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpTransport.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/HttpRequestInitializer.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/json/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/json/JsonHttpContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/javanet/ConnectionFactory.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/javanet/NetHttpRequest.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/javanet/NetHttpTransport.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/javanet/NetHttpResponse.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/javanet/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/javanet/DefaultConnectionFactory.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/apache/HttpExtensionMethod.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/apache/ContentEntity.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/apache/ApacheHttpRequest.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/apache/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/apache/ApacheHttpResponse.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/apache/ApacheHttpTransport.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/http/apache/SSLSocketFactoryExtension.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/LoggingByteArrayOutputStream.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Maps.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/NullValue.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/StreamingContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/SslUtils.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Lists.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/GenericData.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Types.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Collections2.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Key.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/BackOff.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Joiner.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/ArrayMap.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Clock.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/ArrayValueMap.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/DateTime.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/StringUtils.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/ObjectParser.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Beta.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/LoggingOutputStream.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/LoggingInputStream.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/LoggingStreamingContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/ExponentialBackOff.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/ByteCountingOutputStream.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/ClassInfo.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Data.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/DataMap.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Sleeper.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Value.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/NanoClock.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/ByteArrayStreamingContent.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Throwables.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/IOUtils.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Charsets.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/SecurityUtils.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Objects.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/FieldInfo.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Base64.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/ByteStreams.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/BackOffUtils.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Preconditions.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Strings.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/PemReader.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/Sets.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/store/AbstractDataStore.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/store/DataStoreFactory.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/store/DataStoreUtils.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/store/AbstractDataStoreFactory.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/store/DataStore.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/store/MemoryDataStoreFactory.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/store/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/store/FileDataStoreFactory.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/store/AbstractMemoryDataStore.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/escape/Escaper.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/escape/CharEscapers.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/escape/Platform.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/escape/PercentEscaper.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/escape/package-info.java" - }, - { - "path": "google-http-client/src/main/java/com/google/api/client/util/escape/UnicodeEscaper.java" - }, - { - "path": ".github/CODEOWNERS" - }, - { - "path": ".github/.release-please.yml" - }, - { - "path": ".github/ISSUE_TEMPLATE.md" - }, - { - "path": ".github/release-please.yml" - }, - { - "path": ".github/PULL_REQUEST_TEMPLATE.md" - }, - { - "path": ".github/ISSUE_TEMPLATE/bug_report.md" - }, - { - "path": ".github/ISSUE_TEMPLATE/support_request.md" - }, - { - "path": ".github/ISSUE_TEMPLATE/feature_request.md" - }, - { - "path": "__pycache__/synth.cpython-36.pyc" - }, - { - "path": "google-http-client-findbugs/pom.xml" - }, - { - "path": "google-http-client-findbugs/src/main/resources/messages.xml" - }, - { - "path": "google-http-client-findbugs/src/main/resources/bugrank.txt" - }, - { - "path": "google-http-client-findbugs/src/main/resources/findbugs.xml" - }, - { - "path": "google-http-client-findbugs/src/main/java/com/google/api/client/findbugs/BetaDetector.java" - }, - { - "path": "google-http-client-findbugs/src/main/java/com/google/api/client/findbugs/package-info.java" - }, - { - "path": "google-http-client-findbugs/google-http-client-findbugs-test/.project" - }, - { - "path": "google-http-client-findbugs/google-http-client-findbugs-test/.classpath" - }, - { - "path": "google-http-client-findbugs/google-http-client-findbugs-test/pom.xml" - }, - { - "path": "google-http-client-findbugs/google-http-client-findbugs-test/.settings/org.eclipse.jdt.core.prefs" - }, - { - "path": "google-http-client-findbugs/google-http-client-findbugs-test/.settings/org.eclipse.jdt.ui.prefs" - }, - { - "path": "google-http-client-findbugs/google-http-client-findbugs-test/src/main/java/com/google/api/client/findbugs/test/BetaClass.java" - }, - { - "path": "google-http-client-findbugs/google-http-client-findbugs-test/src/main/java/com/google/api/client/findbugs/test/BetaClass2.java" - }, - { - "path": "google-http-client-findbugs/google-http-client-findbugs-test/src/main/java/com/google/api/client/findbugs/test/ClassWithBetaField.java" - }, - { - "path": "google-http-client-findbugs/google-http-client-findbugs-test/src/main/java/com/google/api/client/findbugs/test/Test.java" - }, - { - "path": "google-http-client-findbugs/google-http-client-findbugs-test/src/main/java/com/google/api/client/findbugs/test/ClassWithBetaMethod.java" - }, - { - "path": ".git/index" - }, - { - "path": ".git/packed-refs" - }, - { - "path": ".git/HEAD" - }, - { - "path": ".git/config" - }, - { - "path": ".git/shallow" - }, - { - "path": ".git/objects/pack/pack-05aa278ffdf8a410aeb04cb592a33d2cb1daf479.idx" - }, - { - "path": ".git/objects/pack/pack-05aa278ffdf8a410aeb04cb592a33d2cb1daf479.pack" - }, - { - "path": ".git/refs/remotes/origin/HEAD" - }, - { - "path": ".git/refs/heads/autosynth" - }, - { - "path": ".git/refs/heads/master" - }, - { - "path": ".git/logs/HEAD" - }, - { - "path": ".git/logs/refs/remotes/origin/HEAD" - }, - { - "path": ".git/logs/refs/heads/autosynth" - }, - { - "path": ".git/logs/refs/heads/master" - }, - { - "path": "google-http-client-apache-v2/pom.xml" - }, - { - "path": "google-http-client-apache-v2/src/test/java/com/google/api/client/http/apache/v2/ApacheHttpTransportTest.java" - }, - { - "path": "google-http-client-apache-v2/src/test/java/com/google/api/client/http/apache/v2/ApacheHttpRequestTest.java" - }, - { - "path": "google-http-client-apache-v2/src/main/java/com/google/api/client/http/apache/v2/HttpExtensionMethod.java" - }, - { - "path": "google-http-client-apache-v2/src/main/java/com/google/api/client/http/apache/v2/ContentEntity.java" - }, - { - "path": "google-http-client-apache-v2/src/main/java/com/google/api/client/http/apache/v2/ApacheHttpRequest.java" - }, - { - "path": "google-http-client-apache-v2/src/main/java/com/google/api/client/http/apache/v2/package-info.java" - }, - { - "path": "google-http-client-apache-v2/src/main/java/com/google/api/client/http/apache/v2/ApacheHttpResponse.java" - }, - { - "path": "google-http-client-apache-v2/src/main/java/com/google/api/client/http/apache/v2/ApacheHttpTransport.java" - }, - { - "path": "docs/index.md" - }, - { - "path": "docs/exponential-backoff.md" - }, - { - "path": "docs/_config.yml" - }, - { - "path": "docs/android.md" - }, - { - "path": "docs/component-modules.md" - }, - { - "path": "docs/google-app-engine.md" - }, - { - "path": "docs/support.md" - }, - { - "path": "docs/http-transport.md" - }, - { - "path": "docs/unit-testing.md" - }, - { - "path": "docs/json.md" - }, - { - "path": "docs/setup.md" - }, - { - "path": "docs/_layouts/default.html" - }, - { - "path": "docs/_data/navigation.yml" - }, - { - "path": "google-http-client-android-test/AndroidManifest.xml" - }, - { - "path": "google-http-client-android-test/pom.xml" - }, - { - "path": "google-http-client-android-test/src/main/java/com/google/api/client/extensions/android/json/FakeTest.java" - }, - { - "path": "google-http-client-android-test/src/main/java/com/google/api/client/extensions/android/json/AndroidJsonFactoryTest.java" - }, - { - "path": "google-http-client-android-test/src/main/java/com/google/api/client/extensions/android/json/package-info.java" - }, - { - "path": "google-http-client-bom/pom.xml" - }, - { - "path": "google-http-client-bom/README.md" - } ] } \ No newline at end of file From 0369b1c47b507e5e9c251f341e74b48ddaa88d21 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 2 Mar 2020 14:43:19 -0800 Subject: [PATCH 10/36] chore: update common templates (#989) --- .kokoro/build.sh | 51 ++++++++++++++++++++++++++------- .kokoro/continuous/java8.cfg | 5 ++++ .kokoro/nightly/integration.cfg | 14 +++++++++ .kokoro/nightly/java8.cfg | 5 ++++ .kokoro/nightly/samples.cfg | 21 ++++++++------ .kokoro/presubmit/java8.cfg | 5 ++++ synth.metadata | 4 +-- 7 files changed, 84 insertions(+), 21 deletions(-) diff --git a/.kokoro/build.sh b/.kokoro/build.sh index f1ae58408..998792dd0 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -37,19 +37,23 @@ if [[ ! -z "${GOOGLE_APPLICATION_CREDENTIALS}" && "${GOOGLE_APPLICATION_CREDENTI export GOOGLE_APPLICATION_CREDENTIALS=$(realpath ${KOKORO_ROOT}/src/${GOOGLE_APPLICATION_CREDENTIALS}) fi +RETURN_CODE=0 +set +e + case ${JOB_TYPE} in test) mvn test -B -Dclirr.skip=true -Denforcer.skip=true - bash ${KOKORO_GFILE_DIR}/codecov.sh - bash .kokoro/coerce_logs.sh + RETURN_CODE=$? ;; lint) mvn \ -Penable-samples \ com.coveo:fmt-maven-plugin:check + RETURN_CODE=$? ;; javadoc) mvn javadoc:javadoc javadoc:test-javadoc + RETURN_CODE=$? ;; integration) mvn -B ${INTEGRATION_TEST_ARGS} \ @@ -59,21 +63,46 @@ integration) -Denforcer.skip=true \ -fae \ verify - bash .kokoro/coerce_logs.sh + RETURN_CODE=$? ;; samples) - mvn -B \ - -Penable-samples \ - -DtrimStackTrace=false \ - -Dclirr.skip=true \ - -Denforcer.skip=true \ - -fae \ - verify - bash .kokoro/coerce_logs.sh + if [[ -f samples/pom.xml ]] + then + pushd samples + mvn -B \ + -Penable-samples \ + -DtrimStackTrace=false \ + -Dclirr.skip=true \ + -Denforcer.skip=true \ + -fae \ + verify + RETURN_CODE=$? + popd + else + echo "no sample pom.xml found - skipping sample tests" + fi ;; clirr) mvn -B -Denforcer.skip=true clirr:check + RETURN_CODE=$? ;; *) ;; esac + +if [ "${REPORT_COVERAGE}" == "true" ] +then + bash ${KOKORO_GFILE_DIR}/codecov.sh +fi + +# fix output location of logs +bash .kokoro/coerce_logs.sh + +if [[ "${ENABLE_BUILD_COP}" == "true" ]] +then + chmod +x ${KOKORO_GFILE_DIR}/linux_amd64/buildcop + ${KOKORO_GFILE_DIR}/linux_amd64/buildcop -repo=googleapis/google-http-java-client +fi + +echo "exiting with ${RETURN_CODE}" +exit ${RETURN_CODE} diff --git a/.kokoro/continuous/java8.cfg b/.kokoro/continuous/java8.cfg index 3b017fc80..495cc7bac 100644 --- a/.kokoro/continuous/java8.cfg +++ b/.kokoro/continuous/java8.cfg @@ -5,3 +5,8 @@ env_vars: { key: "TRAMPOLINE_IMAGE" value: "gcr.io/cloud-devrel-kokoro-resources/java8" } + +env_vars: { + key: "REPORT_COVERAGE" + value: "true" +} diff --git a/.kokoro/nightly/integration.cfg b/.kokoro/nightly/integration.cfg index 3b017fc80..8bf59c02e 100644 --- a/.kokoro/nightly/integration.cfg +++ b/.kokoro/nightly/integration.cfg @@ -5,3 +5,17 @@ env_vars: { key: "TRAMPOLINE_IMAGE" value: "gcr.io/cloud-devrel-kokoro-resources/java8" } + +env_vars: { + key: "ENABLE_BUILD_COP" + value: "true" +} + +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "java_it_service_account" + } + } +} diff --git a/.kokoro/nightly/java8.cfg b/.kokoro/nightly/java8.cfg index 3b017fc80..495cc7bac 100644 --- a/.kokoro/nightly/java8.cfg +++ b/.kokoro/nightly/java8.cfg @@ -5,3 +5,8 @@ env_vars: { key: "TRAMPOLINE_IMAGE" value: "gcr.io/cloud-devrel-kokoro-resources/java8" } + +env_vars: { + key: "REPORT_COVERAGE" + value: "true" +} diff --git a/.kokoro/nightly/samples.cfg b/.kokoro/nightly/samples.cfg index 9a9102490..b4b051cd0 100644 --- a/.kokoro/nightly/samples.cfg +++ b/.kokoro/nightly/samples.cfg @@ -2,23 +2,28 @@ # Configure the docker image for kokoro-trampoline. env_vars: { - key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/java8" + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" } env_vars: { - key: "JOB_TYPE" - value: "samples" + key: "JOB_TYPE" + value: "samples" } env_vars: { - key: "GCLOUD_PROJECT" - value: "gcloud-devel" + key: "GCLOUD_PROJECT" + value: "gcloud-devel" } env_vars: { - key: "GOOGLE_APPLICATION_CREDENTIALS" - value: "keystore/73713_java_it_service_account" + key: "GOOGLE_APPLICATION_CREDENTIALS" + value: "keystore/73713_java_it_service_account" +} + +env_vars: { + key: "ENABLE_BUILD_COP" + value: "true" } before_action { diff --git a/.kokoro/presubmit/java8.cfg b/.kokoro/presubmit/java8.cfg index 3b017fc80..495cc7bac 100644 --- a/.kokoro/presubmit/java8.cfg +++ b/.kokoro/presubmit/java8.cfg @@ -5,3 +5,8 @@ env_vars: { key: "TRAMPOLINE_IMAGE" value: "gcr.io/cloud-devrel-kokoro-resources/java8" } + +env_vars: { + key: "REPORT_COVERAGE" + value: "true" +} diff --git a/synth.metadata b/synth.metadata index 2f70e1092..508084b0e 100644 --- a/synth.metadata +++ b/synth.metadata @@ -1,11 +1,11 @@ { - "updateTime": "2020-02-01T08:32:15.578940Z", + "updateTime": "2020-03-02T22:34:09.877226Z", "sources": [ { "template": { "name": "java_library", "origin": "synthtool.gcp", - "version": "2019.10.17" + "version": "2020.2.4" } } ] From 79bc1c76ebd48d396a080ef715b9f07cd056b7ef Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Mon, 9 Mar 2020 08:45:42 -0400 Subject: [PATCH 11/36] deps: httpclient 4.5.12 (#991) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4d1f7774f..41cb338ef 100644 --- a/pom.xml +++ b/pom.xml @@ -554,7 +554,7 @@ 28.2-android 1.1.4c 1.2 - 4.5.11 + 4.5.12 4.4.13 0.24.0 .. From 771479a19963ed61ff67722f1df4ee7c112a12ae Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 10 Mar 2020 16:24:11 +0100 Subject: [PATCH 12/36] chore(deps): update dependency com.fasterxml.jackson.core:jackson-core to v2.10.3 (#992) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 41cb338ef..9de106f55 100644 --- a/pom.xml +++ b/pom.xml @@ -549,7 +549,7 @@ UTF-8 3.0.2 2.8.6 - 2.10.2 + 2.10.3 3.11.4 28.2-android 1.1.4c From 65fd7d8f07ad2e5dd7219e279f04cd7c6e69afef Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 10 Mar 2020 16:25:08 +0100 Subject: [PATCH 13/36] chore(deps): update dependency org.codehaus.mojo:build-helper-maven-plugin to v3.1.0 (#994) --- google-http-client-apache-v2/pom.xml | 2 +- google-http-client-gson/pom.xml | 2 +- google-http-client-jackson2/pom.xml | 2 +- google-http-client-test/pom.xml | 2 +- google-http-client-xml/pom.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/google-http-client-apache-v2/pom.xml b/google-http-client-apache-v2/pom.xml index 0cef2f330..53be79ecd 100644 --- a/google-http-client-apache-v2/pom.xml +++ b/google-http-client-apache-v2/pom.xml @@ -38,7 +38,7 @@ org.codehaus.mojo build-helper-maven-plugin - 3.0.0 + 3.1.0 add-test-source diff --git a/google-http-client-gson/pom.xml b/google-http-client-gson/pom.xml index 96faf7cc4..3ec6f17ab 100644 --- a/google-http-client-gson/pom.xml +++ b/google-http-client-gson/pom.xml @@ -39,7 +39,7 @@ org.codehaus.mojo build-helper-maven-plugin - 3.0.0 + 3.1.0 add-test-source diff --git a/google-http-client-jackson2/pom.xml b/google-http-client-jackson2/pom.xml index c2d0bc41d..a5ef44287 100644 --- a/google-http-client-jackson2/pom.xml +++ b/google-http-client-jackson2/pom.xml @@ -39,7 +39,7 @@ org.codehaus.mojo build-helper-maven-plugin - 3.0.0 + 3.1.0 add-test-source diff --git a/google-http-client-test/pom.xml b/google-http-client-test/pom.xml index 21c068793..1c745a942 100644 --- a/google-http-client-test/pom.xml +++ b/google-http-client-test/pom.xml @@ -38,7 +38,7 @@ org.codehaus.mojo build-helper-maven-plugin - 3.0.0 + 3.1.0 add-test-source diff --git a/google-http-client-xml/pom.xml b/google-http-client-xml/pom.xml index 97c6729ee..94edbad8d 100644 --- a/google-http-client-xml/pom.xml +++ b/google-http-client-xml/pom.xml @@ -38,7 +38,7 @@ org.codehaus.mojo build-helper-maven-plugin - 3.0.0 + 3.1.0 add-test-source From d3c42d35709ab3c2d3b9bf133db5e01607cebdc1 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 10 Mar 2020 21:44:40 +0100 Subject: [PATCH 14/36] chore(deps): update dependency org.apache.maven.plugins:maven-site-plugin to v3.9.0 (#996) --- google-http-client-bom/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/google-http-client-bom/pom.xml b/google-http-client-bom/pom.xml index 3214960dc..5be5b86fb 100644 --- a/google-http-client-bom/pom.xml +++ b/google-http-client-bom/pom.xml @@ -136,7 +136,7 @@ org.apache.maven.plugins maven-site-plugin - 3.8.2 + 3.9.0 true diff --git a/pom.xml b/pom.xml index 9de106f55..237ef20df 100644 --- a/pom.xml +++ b/pom.xml @@ -364,7 +364,7 @@ org.apache.maven.plugins maven-site-plugin - 3.8.2 + 3.9.0 org.apache.maven.plugins From 1ba219743e65c89bc3fdb196acc5d2042e01f542 Mon Sep 17 00:00:00 2001 From: Hiranya Jayathilaka Date: Wed, 11 Mar 2020 07:24:42 -0700 Subject: [PATCH 15/36] fix: Correctly handling chunked response streams with gzip (#990) Previous implementation doesn't properly cleanup the last chunk of a chunked response when the response is also gzipped. This in turns prevents proper connection reuse. Fixes #367 --- .../java/com/google/api/client/http/HttpResponse.java | 7 ++++++- .../java/com/google/api/client/http/HttpResponseTest.java | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/google-http-client/src/main/java/com/google/api/client/http/HttpResponse.java b/google-http-client/src/main/java/com/google/api/client/http/HttpResponse.java index 3341720a6..276ce0e74 100644 --- a/google-http-client/src/main/java/com/google/api/client/http/HttpResponse.java +++ b/google-http-client/src/main/java/com/google/api/client/http/HttpResponse.java @@ -353,8 +353,13 @@ public InputStream getContent() throws IOException { if (!returnRawInputStream && this.contentEncoding != null) { String oontentencoding = this.contentEncoding.trim().toLowerCase(Locale.ENGLISH); if (CONTENT_ENCODING_GZIP.equals(oontentencoding) || CONTENT_ENCODING_XGZIP.equals(oontentencoding)) { + // Wrap the original stream in a ConsumingInputStream before passing it to + // GZIPInputStream. The GZIPInputStream leaves content unconsumed in the original + // stream (it almost always leaves the last chunk unconsumed in chunked responses). + // ConsumingInputStream ensures that any unconsumed bytes are read at close. + // GZIPInputStream.close() --> ConsumingInputStream.close() --> exhaust(ConsumingInputStream) lowLevelResponseContent = - new ConsumingInputStream(new GZIPInputStream(lowLevelResponseContent)); + new GZIPInputStream(new ConsumingInputStream(lowLevelResponseContent)); } } // logging (wrap content with LoggingInputStream) diff --git a/google-http-client/src/test/java/com/google/api/client/http/HttpResponseTest.java b/google-http-client/src/test/java/com/google/api/client/http/HttpResponseTest.java index f7638d675..57b400e40 100644 --- a/google-http-client/src/test/java/com/google/api/client/http/HttpResponseTest.java +++ b/google-http-client/src/test/java/com/google/api/client/http/HttpResponseTest.java @@ -567,6 +567,12 @@ private void do_testGetContent_gzipEncoding_finishReading(String contentEncoding ) { zipStream.write(dataToCompress); zipStream.close(); + + // GZIPInputStream uses a default buffer of 512B. Add enough content to exceed this + // limit, so that some content will be left in the connection. + for (int i = 0; i < 1024; i++) { + byteStream.write('7'); + } mockBytes = byteStream.toByteArray(); } final MockLowLevelHttpResponse mockResponse = new MockLowLevelHttpResponse(); @@ -594,6 +600,8 @@ public LowLevelHttpResponse execute() throws IOException { assertFalse(output.isClosed()); assertEquals("abcd", response.parseAsString()); assertTrue(output.isClosed()); + // The underlying stream should be fully consumed, even if gzip only returns some of it. + assertEquals(-1, output.read()); } } From 837a4e731abcc6e038bec862f8b20347510bca5d Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 11 Mar 2020 23:23:03 +0100 Subject: [PATCH 16/36] chore(deps): update dependency org.apache.maven.plugins:maven-dependency-plugin to v3.1.2 (#998) --- google-http-client/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/google-http-client/pom.xml b/google-http-client/pom.xml index 51bf05688..dc15cc548 100644 --- a/google-http-client/pom.xml +++ b/google-http-client/pom.xml @@ -21,7 +21,7 @@ org.apache.maven.plugins maven-dependency-plugin - 3.1.1 + 3.1.2 io.opencensus:opencensus-impl diff --git a/pom.xml b/pom.xml index 237ef20df..2eb09433d 100644 --- a/pom.xml +++ b/pom.xml @@ -369,7 +369,7 @@ org.apache.maven.plugins maven-dependency-plugin - 3.1.1 + 3.1.2 org.apache.maven.plugins From 027c227e558164f77be204152fb47023850b543f Mon Sep 17 00:00:00 2001 From: Suraj Dhamecha <48670070+suraj-qlogic@users.noreply.github.com> Date: Fri, 13 Mar 2020 19:22:57 +0530 Subject: [PATCH 17/36] fix: add linkage monitor plugin (#1000) --- pom.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pom.xml b/pom.xml index 2eb09433d..400da2d58 100644 --- a/pom.xml +++ b/pom.xml @@ -376,6 +376,11 @@ maven-resources-plugin 3.1.0 + + org.apache.maven.plugins + maven-enforcer-plugin + 3.0.0-M3 + @@ -393,6 +398,10 @@ [3.5.2,4.0.0) + + [1.7,) + + From 15111a1001d6f72cb92cd2d76aaed6f1229bc14a Mon Sep 17 00:00:00 2001 From: Igor Dvorzhak Date: Mon, 16 Mar 2020 03:07:48 -0700 Subject: [PATCH 18/36] fix: include request method and URL into HttpResponseException message (#1002) * fix: include request URL into HttpResponseException message * Add request method to the exception message + review fixes --- .../client/http/HttpResponseException.java | 11 ++ .../http/HttpResponseExceptionTest.java | 160 +++++++++++------- 2 files changed, 107 insertions(+), 64 deletions(-) diff --git a/google-http-client/src/main/java/com/google/api/client/http/HttpResponseException.java b/google-http-client/src/main/java/com/google/api/client/http/HttpResponseException.java index 6e5349e18..a9d80a4f5 100644 --- a/google-http-client/src/main/java/com/google/api/client/http/HttpResponseException.java +++ b/google-http-client/src/main/java/com/google/api/client/http/HttpResponseException.java @@ -284,6 +284,17 @@ public static StringBuilder computeMessageBuffer(HttpResponse response) { } builder.append(statusMessage); } + HttpRequest request = response.getRequest(); + if (request != null) { + if (builder.length() > 0) { + builder.append('\n'); + } + String requestMethod = request.getRequestMethod(); + if (requestMethod != null) { + builder.append(requestMethod).append(' '); + } + builder.append(request.getUrl()); + } return builder; } } diff --git a/google-http-client/src/test/java/com/google/api/client/http/HttpResponseExceptionTest.java b/google-http-client/src/test/java/com/google/api/client/http/HttpResponseExceptionTest.java index 4d651aecb..9066e9d70 100644 --- a/google-http-client/src/test/java/com/google/api/client/http/HttpResponseExceptionTest.java +++ b/google-http-client/src/test/java/com/google/api/client/http/HttpResponseExceptionTest.java @@ -14,12 +14,15 @@ package com.google.api.client.http; +import static com.google.api.client.testing.http.HttpTesting.SIMPLE_GENERIC_URL; +import static com.google.api.client.util.StringUtils.LINE_SEPARATOR; +import static com.google.common.truth.Truth.assertThat; +import static org.junit.Assert.assertThrows; + import com.google.api.client.http.HttpResponseException.Builder; -import com.google.api.client.testing.http.HttpTesting; import com.google.api.client.testing.http.MockHttpTransport; import com.google.api.client.testing.http.MockLowLevelHttpRequest; import com.google.api.client.testing.http.MockLowLevelHttpResponse; -import com.google.api.client.util.StringUtils; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -27,6 +30,7 @@ import java.io.ObjectOutput; import java.io.ObjectOutputStream; import junit.framework.TestCase; +import org.junit.function.ThrowingRunnable; /** * Tests {@link HttpResponseException}. @@ -37,16 +41,15 @@ public class HttpResponseExceptionTest extends TestCase { public void testConstructor() throws Exception { HttpTransport transport = new MockHttpTransport(); - HttpRequest request = - transport.createRequestFactory().buildGetRequest(HttpTesting.SIMPLE_GENERIC_URL); + HttpRequest request = transport.createRequestFactory().buildGetRequest(SIMPLE_GENERIC_URL); HttpResponse response = request.execute(); HttpHeaders headers = response.getHeaders(); - HttpResponseException e = new HttpResponseException(response); - assertEquals("200", e.getMessage()); - assertNull(e.getContent()); - assertEquals(200, e.getStatusCode()); - assertNull(e.getStatusMessage()); - assertTrue(headers == e.getHeaders()); + HttpResponseException responseException = new HttpResponseException(response); + assertThat(responseException).hasMessageThat().isEqualTo("200\nGET " + SIMPLE_GENERIC_URL); + assertNull(responseException.getContent()); + assertEquals(200, responseException.getStatusCode()); + assertNull(responseException.getStatusMessage()); + assertTrue(headers == responseException.getHeaders()); } public void testBuilder() throws Exception { @@ -83,11 +86,10 @@ public LowLevelHttpResponse execute() throws IOException { }; } }; - HttpRequest request = - transport.createRequestFactory().buildGetRequest(HttpTesting.SIMPLE_GENERIC_URL); + HttpRequest request = transport.createRequestFactory().buildGetRequest(SIMPLE_GENERIC_URL); HttpResponse response = request.execute(); - HttpResponseException e = new HttpResponseException(response); - assertEquals("OK", e.getStatusMessage()); + HttpResponseException responseException = new HttpResponseException(response); + assertEquals("OK", responseException.getStatusMessage()); } public void testConstructor_noStatusCode() throws Exception { @@ -105,14 +107,18 @@ public LowLevelHttpResponse execute() throws IOException { }; } }; - HttpRequest request = - transport.createRequestFactory().buildGetRequest(HttpTesting.SIMPLE_GENERIC_URL); - try { - request.execute(); - fail(); - } catch (HttpResponseException e) { - assertEquals("", e.getMessage()); - } + final HttpRequest request = + transport.createRequestFactory().buildGetRequest(SIMPLE_GENERIC_URL); + HttpResponseException responseException = + assertThrows( + HttpResponseException.class, + new ThrowingRunnable() { + @Override + public void run() throws Throwable { + request.execute(); + } + }); + assertThat(responseException).hasMessageThat().isEqualTo("GET " + SIMPLE_GENERIC_URL); } public void testConstructor_messageButNoStatusCode() throws Exception { @@ -131,14 +137,18 @@ public LowLevelHttpResponse execute() throws IOException { }; } }; - HttpRequest request = - transport.createRequestFactory().buildGetRequest(HttpTesting.SIMPLE_GENERIC_URL); - try { - request.execute(); - fail(); - } catch (HttpResponseException e) { - assertEquals("Foo", e.getMessage()); - } + final HttpRequest request = + transport.createRequestFactory().buildGetRequest(SIMPLE_GENERIC_URL); + HttpResponseException responseException = + assertThrows( + HttpResponseException.class, + new ThrowingRunnable() { + @Override + public void run() throws Throwable { + request.execute(); + } + }); + assertThat(responseException).hasMessageThat().isEqualTo("Foo\nGET " + SIMPLE_GENERIC_URL); } public void testComputeMessage() throws Exception { @@ -156,10 +166,10 @@ public LowLevelHttpResponse execute() throws IOException { }; } }; - HttpRequest request = - transport.createRequestFactory().buildGetRequest(HttpTesting.SIMPLE_GENERIC_URL); + HttpRequest request = transport.createRequestFactory().buildGetRequest(SIMPLE_GENERIC_URL); HttpResponse response = request.execute(); - assertEquals("200 Foo", HttpResponseException.computeMessageBuffer(response).toString()); + assertThat(HttpResponseException.computeMessageBuffer(response).toString()) + .isEqualTo("200 Foo\nGET " + SIMPLE_GENERIC_URL); } public void testThrown() throws Exception { @@ -179,15 +189,25 @@ public LowLevelHttpResponse execute() throws IOException { }; } }; - HttpRequest request = - transport.createRequestFactory().buildGetRequest(HttpTesting.SIMPLE_GENERIC_URL); - try { - request.execute(); - fail(); - } catch (HttpResponseException e) { - assertEquals( - "404 Not Found" + StringUtils.LINE_SEPARATOR + "Unable to find resource", e.getMessage()); - } + final HttpRequest request = + transport.createRequestFactory().buildGetRequest(SIMPLE_GENERIC_URL); + HttpResponseException responseException = + assertThrows( + HttpResponseException.class, + new ThrowingRunnable() { + @Override + public void run() throws Throwable { + request.execute(); + } + }); + + assertThat(responseException) + .hasMessageThat() + .isEqualTo( + "404 Not Found\nGET " + + SIMPLE_GENERIC_URL + + LINE_SEPARATOR + + "Unable to find resource"); } public void testInvalidCharset() throws Exception { @@ -208,14 +228,21 @@ public LowLevelHttpResponse execute() throws IOException { }; } }; - HttpRequest request = - transport.createRequestFactory().buildGetRequest(HttpTesting.SIMPLE_GENERIC_URL); - try { - request.execute(); - fail(); - } catch (HttpResponseException e) { - assertEquals("404 Not Found", e.getMessage()); - } + final HttpRequest request = + transport.createRequestFactory().buildGetRequest(SIMPLE_GENERIC_URL); + HttpResponseException responseException = + assertThrows( + HttpResponseException.class, + new ThrowingRunnable() { + @Override + public void run() throws Throwable { + request.execute(); + } + }); + + assertThat(responseException) + .hasMessageThat() + .isEqualTo("404 Not Found\nGET " + SIMPLE_GENERIC_URL); } public void testUnsupportedCharset() throws Exception { @@ -236,30 +263,35 @@ public LowLevelHttpResponse execute() throws IOException { }; } }; - HttpRequest request = - transport.createRequestFactory().buildGetRequest(HttpTesting.SIMPLE_GENERIC_URL); - try { - request.execute(); - fail(); - } catch (HttpResponseException e) { - assertEquals("404 Not Found", e.getMessage()); - } + final HttpRequest request = + transport.createRequestFactory().buildGetRequest(SIMPLE_GENERIC_URL); + HttpResponseException responseException = + assertThrows( + HttpResponseException.class, + new ThrowingRunnable() { + @Override + public void run() throws Throwable { + request.execute(); + } + }); + assertThat(responseException) + .hasMessageThat() + .isEqualTo("404 Not Found\nGET " + SIMPLE_GENERIC_URL); } public void testSerialization() throws Exception { HttpTransport transport = new MockHttpTransport(); - HttpRequest request = - transport.createRequestFactory().buildGetRequest(HttpTesting.SIMPLE_GENERIC_URL); + HttpRequest request = transport.createRequestFactory().buildGetRequest(SIMPLE_GENERIC_URL); HttpResponse response = request.execute(); - HttpResponseException e = new HttpResponseException(response); + HttpResponseException responseException = new HttpResponseException(response); ByteArrayOutputStream out = new ByteArrayOutputStream(); ObjectOutput s = new ObjectOutputStream(out); - s.writeObject(e); + s.writeObject(responseException); ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); ObjectInputStream objectInput = new ObjectInputStream(in); HttpResponseException e2 = (HttpResponseException) objectInput.readObject(); - assertEquals(e.getMessage(), e2.getMessage()); - assertEquals(e.getStatusCode(), e2.getStatusCode()); + assertEquals(responseException.getMessage(), e2.getMessage()); + assertEquals(responseException.getStatusCode(), e2.getStatusCode()); assertNull(e2.getHeaders()); } } From 8760ff0e64ab47abba0f911d29d1afcb19dcfa34 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 16 Mar 2020 11:08:27 +0100 Subject: [PATCH 19/36] chore(deps): update dependency org.apache.maven.plugins:maven-javadoc-plugin to v3.2.0 (#1003) --- google-http-client-bom/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/google-http-client-bom/pom.xml b/google-http-client-bom/pom.xml index 5be5b86fb..0401a3532 100644 --- a/google-http-client-bom/pom.xml +++ b/google-http-client-bom/pom.xml @@ -128,7 +128,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.2.0 true diff --git a/pom.xml b/pom.xml index 400da2d58..8fac9b174 100644 --- a/pom.xml +++ b/pom.xml @@ -306,7 +306,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.2.0 attach-javadocs From f9d2bb030398fe09e3c47b84ea468603355e08e9 Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Fri, 20 Mar 2020 12:05:10 -0400 Subject: [PATCH 20/36] docs: require Android 4.4 (#1007) @chingor13 @BenWhitehead We now require API 19 or higher which means Android 4.4 or later. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5b5d4f1c2..de94456a2 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ content. The JSON and XML libraries are also fully pluggable, and they include s The library supports the following Java environments: -- Java 7 (or higher) -- Android 4.0 (Ice Cream Sandwich) (or higher) +- Java 7 or higher +- Android 4.4 (Kit Kat) - GoogleAppEngine Google App Engine The following related projects are built on the Google HTTP Client Library for Java: From bcc41dd615af41ae6fb58287931cbf9c2144a075 Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Fri, 20 Mar 2020 13:20:20 -0400 Subject: [PATCH 21/36] docs: android 4.4 or later is required (#1008) @codyoss --- docs/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index 5eb9ff04b..e6162bd8d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -18,8 +18,8 @@ content. The JSON and XML libraries are also fully pluggable, and they include s The library supports the following Java environments: -- Java 7 (or higher) -- Android 4.0 (Ice Cream Sandwich) (or higher) +- Java 7 or higher +- Android 4.4 (Kit Kat) or higher - Google App Engine The following related projects are built on the Google HTTP Client Library for Java: From 3bd738788edc90efbcb96d044ebe2e8d0e7879c5 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Tue, 24 Mar 2020 18:35:38 -0400 Subject: [PATCH 22/36] chore(doc): libraries-bom 4.3.0 (#1010) --- docs/setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/setup.md b/docs/setup.md index 9736859eb..5ad1f01bf 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -23,7 +23,7 @@ the `dependencyManagement` section of your `pom.xml`: com.google.cloud libraries-bom - 4.2.0 + 4.3.0 pom import From 8b4eabe985794fc64ad6a4a53f8f96201cf73fb8 Mon Sep 17 00:00:00 2001 From: Take Weiland Date: Wed, 25 Mar 2020 13:52:07 +0100 Subject: [PATCH 23/36] fix: incorrect check for Windows OS in FileDataStoreFactory (#927) * fix: incorrect check for Windows OS in FileDataStoreFactory * fix: properly get file owner on windows in FileDataStoreFactory * refactor: use toLowerCase instead of regionMatches in FileDataStoreFactory --- .../api/client/util/store/FileDataStoreFactory.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/google-http-client/src/main/java/com/google/api/client/util/store/FileDataStoreFactory.java b/google-http-client/src/main/java/com/google/api/client/util/store/FileDataStoreFactory.java index 230af26e2..6114c2ae1 100644 --- a/google-http-client/src/main/java/com/google/api/client/util/store/FileDataStoreFactory.java +++ b/google-http-client/src/main/java/com/google/api/client/util/store/FileDataStoreFactory.java @@ -32,9 +32,11 @@ import java.nio.file.attribute.AclEntryPermission; import java.nio.file.attribute.AclEntryType; import java.nio.file.attribute.AclFileAttributeView; +import java.nio.file.attribute.FileOwnerAttributeView; import java.nio.file.attribute.PosixFilePermission; import java.nio.file.attribute.UserPrincipal; import java.util.HashSet; +import java.util.Locale; import java.util.Set; import java.util.logging.Logger; @@ -53,7 +55,7 @@ public class FileDataStoreFactory extends AbstractDataStoreFactory { private static final Logger LOGGER = Logger.getLogger(FileDataStoreFactory.class.getName()); private static final boolean IS_WINDOWS = StandardSystemProperty.OS_NAME.value() - .startsWith("WINDOWS"); + .toLowerCase(Locale.ENGLISH).startsWith("windows"); /** Directory to store data. */ private final File dataDirectory; @@ -155,8 +157,8 @@ static void setPermissionsToOwnerOnly(File file) throws IOException { static void setPermissionsToOwnerOnlyWindows(File file) throws IOException { Path path = Paths.get(file.getAbsolutePath()); - UserPrincipal owner = path.getFileSystem().getUserPrincipalLookupService() - .lookupPrincipalByName("OWNER@"); + FileOwnerAttributeView fileAttributeView = Files.getFileAttributeView(path, FileOwnerAttributeView.class); + UserPrincipal owner = fileAttributeView.getOwner(); // get view AclFileAttributeView view = Files.getFileAttributeView(path, AclFileAttributeView.class); From fd33073da3674997897d7a9057d1d0e9d42d7cd4 Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Wed, 1 Apr 2020 12:14:37 -0400 Subject: [PATCH 24/36] fix: FileDataStoreFactory will throw IOException for any permissions errors (#1012) Previously, some errors, such as failing to modify permissions on the storage file, were silently ignored which can be a security issue. --- .../util/store/FileDataStoreFactory.java | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/google-http-client/src/main/java/com/google/api/client/util/store/FileDataStoreFactory.java b/google-http-client/src/main/java/com/google/api/client/util/store/FileDataStoreFactory.java index 6114c2ae1..838dcb5dd 100644 --- a/google-http-client/src/main/java/com/google/api/client/util/store/FileDataStoreFactory.java +++ b/google-http-client/src/main/java/com/google/api/client/util/store/FileDataStoreFactory.java @@ -43,9 +43,8 @@ /** * Thread-safe file implementation of a credential store. * - *

For security purposes, the file's permissions are set to be accessible only by the file's - * owner. Note that Java 1.5 does not support manipulating file permissions, and must be done - * manually or using the JNI. + *

For security purposes, the file's permissions are set such that the + * file is only accessible by the file's owner. * * @since 1.16 * @author Yaniv Inbar @@ -136,26 +135,21 @@ public FileDataStoreFactory getDataStoreFactory() { * executed by the file's owner. * * @param file the file's permissions to modify - * @throws IOException + * @throws IOException if the permissions can't be set */ - static void setPermissionsToOwnerOnly(File file) throws IOException { + private static void setPermissionsToOwnerOnly(File file) throws IOException { Set permissions = new HashSet(); permissions.add(PosixFilePermission.OWNER_READ); permissions.add(PosixFilePermission.OWNER_WRITE); permissions.add(PosixFilePermission.OWNER_EXECUTE); try { Files.setPosixFilePermissions(Paths.get(file.getAbsolutePath()), permissions); - } catch (UnsupportedOperationException exception) { - LOGGER.warning("Unable to set permissions for " + file - + ", because you are running on a non-POSIX file system."); - } catch (SecurityException exception) { - // ignored - } catch (IllegalArgumentException exception) { - // ignored + } catch (RuntimeException exception) { + throw new IOException("Unable to set permissions for " + file, exception); } } - static void setPermissionsToOwnerOnlyWindows(File file) throws IOException { + private static void setPermissionsToOwnerOnlyWindows(File file) throws IOException { Path path = Paths.get(file.getAbsolutePath()); FileOwnerAttributeView fileAttributeView = Files.getFileAttributeView(path, FileOwnerAttributeView.class); UserPrincipal owner = fileAttributeView.getOwner(); @@ -188,6 +182,11 @@ static void setPermissionsToOwnerOnlyWindows(File file) throws IOException { .build(); // Overwrite the ACL with only this permission - view.setAcl(ImmutableList.of(entry)); + try { + view.setAcl(ImmutableList.of(entry)); + } catch (SecurityException ex) { + throw new IOException("Unable to set permissions for " + file, ex); + } + } } From b9a80232c9c8b16a3c3277458835f72e346f6b2c Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Wed, 1 Apr 2020 12:35:32 -0400 Subject: [PATCH 25/36] fix(android): set minimum API level to 19 a.k.a. 4.4 Kit Kat (#1016) fixes #1015 --- google-http-client-android/AndroidManifest.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/google-http-client-android/AndroidManifest.xml b/google-http-client-android/AndroidManifest.xml index 9dc775d49..32d176f23 100644 --- a/google-http-client-android/AndroidManifest.xml +++ b/google-http-client-android/AndroidManifest.xml @@ -5,7 +5,7 @@ android:versionName="1.0" > + android:minSdkVersion="19" + android:targetSdkVersion="19" /> - \ No newline at end of file + From a45b585fbec36835ef626f9719c8655f483935aa Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 1 Apr 2020 09:36:21 -0700 Subject: [PATCH 26/36] chore: update common templates (#1001) --- .github/PULL_REQUEST_TEMPLATE.md | 8 +++++++- .github/trusted-contribution.yml | 2 ++ synth.metadata | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 .github/trusted-contribution.yml diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 0bd0ee062..f36e6e579 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1 +1,7 @@ -Fixes # (it's a good idea to open an issue first for context and/or discussion) \ No newline at end of file +Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: +- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-http-java-client/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea +- [ ] Ensure the tests and linter pass +- [ ] Code coverage does not decrease (if any source code was changed) +- [ ] Appropriate docs were updated (if necessary) + +Fixes # ☕️ diff --git a/.github/trusted-contribution.yml b/.github/trusted-contribution.yml new file mode 100644 index 000000000..f247d5c78 --- /dev/null +++ b/.github/trusted-contribution.yml @@ -0,0 +1,2 @@ +trustedContributors: +- renovate-bot \ No newline at end of file diff --git a/synth.metadata b/synth.metadata index 508084b0e..a8671a649 100644 --- a/synth.metadata +++ b/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2020-03-02T22:34:09.877226Z", + "updateTime": "2020-03-13T21:34:17.479284Z", "sources": [ { "template": { From 1f6328755fe32cacc7cfcf253493b652bb007186 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 1 Apr 2020 14:41:06 -0700 Subject: [PATCH 27/36] chore: update common templates (#1018) --- .kokoro/build.sh | 19 ++++--- .kokoro/common.sh | 44 +++++++++++++++ .kokoro/dependencies.sh | 15 ++++-- .kokoro/linkage-monitor.sh | 22 +++++--- samples/install-without-bom/pom.xml | 84 +++++++++++++++++++++++++++++ samples/pom.xml | 56 +++++++++++++++++++ samples/snapshot/pom.xml | 83 ++++++++++++++++++++++++++++ samples/snippets/pom.xml | 60 +++++++++++++++++++++ synth.metadata | 10 ++-- 9 files changed, 370 insertions(+), 23 deletions(-) create mode 100644 .kokoro/common.sh create mode 100644 samples/install-without-bom/pom.xml create mode 100644 samples/pom.xml create mode 100644 samples/snapshot/pom.xml create mode 100644 samples/snippets/pom.xml diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 998792dd0..164a94c1a 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -20,17 +20,22 @@ scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) ## cd to the parent directory, i.e. the root of the git repo cd ${scriptDir}/.. +# include common functions +source ${scriptDir}/common.sh + # Print out Java version java -version echo ${JOB_TYPE} -mvn install -B -V \ - -DskipTests=true \ - -Dclirr.skip=true \ - -Denforcer.skip=true \ - -Dmaven.javadoc.skip=true \ - -Dgcloud.download.skip=true \ - -T 1C +# attempt to install 3 times with exponential backoff (starting with 10 seconds) +retry_with_backoff 3 10 \ + mvn install -B -V \ + -DskipTests=true \ + -Dclirr.skip=true \ + -Denforcer.skip=true \ + -Dmaven.javadoc.skip=true \ + -Dgcloud.download.skip=true \ + -T 1C # if GOOGLE_APPLICATION_CREDIENTIALS is specified as a relative path prepend Kokoro root directory onto it if [[ ! -z "${GOOGLE_APPLICATION_CREDENTIALS}" && "${GOOGLE_APPLICATION_CREDENTIALS}" != /* ]]; then diff --git a/.kokoro/common.sh b/.kokoro/common.sh new file mode 100644 index 000000000..a3bbc5f67 --- /dev/null +++ b/.kokoro/common.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# 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. + +# set -eo pipefail + +function retry_with_backoff { + attempts_left=$1 + sleep_seconds=$2 + shift 2 + command=$@ + + echo "${command}" + ${command} + exit_code=$? + + if [[ $exit_code == 0 ]] + then + return 0 + fi + + # failure + if [[ ${attempts_left} > 0 ]] + then + echo "failure (${exit_code}), sleeping ${sleep_seconds}..." + sleep ${sleep_seconds} + new_attempts=$((${attempts_left} - 1)) + new_sleep=$((${sleep_seconds} * 2)) + retry_with_backoff ${new_attempts} ${new_sleep} ${command} + fi + + return $exit_code +} diff --git a/.kokoro/dependencies.sh b/.kokoro/dependencies.sh index ccd3fe690..0aade871c 100755 --- a/.kokoro/dependencies.sh +++ b/.kokoro/dependencies.sh @@ -15,7 +15,13 @@ set -eo pipefail -cd github/google-http-java-client/ +## Get the directory of the build script +scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) +## cd to the parent directory, i.e. the root of the git repo +cd ${scriptDir}/.. + +# include common functions +source ${scriptDir}/common.sh # Print out Java java -version @@ -24,8 +30,9 @@ echo $JOB_TYPE export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=128m" # this should run maven enforcer -mvn install -B -V \ - -DskipTests=true \ - -Dclirr.skip=true +retry_with_backoff 3 10 \ + mvn install -B -V \ + -DskipTests=true \ + -Dclirr.skip=true mvn -B dependency:analyze -DfailOnWarning=true diff --git a/.kokoro/linkage-monitor.sh b/.kokoro/linkage-monitor.sh index f88d75532..759ab4e2c 100755 --- a/.kokoro/linkage-monitor.sh +++ b/.kokoro/linkage-monitor.sh @@ -17,18 +17,26 @@ set -eo pipefail # Display commands being run. set -x -cd github/google-http-java-client/ +## Get the directory of the build script +scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) +## cd to the parent directory, i.e. the root of the git repo +cd ${scriptDir}/.. + +# include common functions +source ${scriptDir}/common.sh # Print out Java version java -version echo ${JOB_TYPE} -mvn install -B -V \ - -DskipTests=true \ - -Dclirr.skip=true \ - -Denforcer.skip=true \ - -Dmaven.javadoc.skip=true \ - -Dgcloud.download.skip=true +# attempt to install 3 times with exponential backoff (starting with 10 seconds) +retry_with_backoff 3 10 \ + mvn install -B -V \ + -DskipTests=true \ + -Dclirr.skip=true \ + -Denforcer.skip=true \ + -Dmaven.javadoc.skip=true \ + -Dgcloud.download.skip=true # Kokoro job cloud-opensource-java/ubuntu/linkage-monitor-gcs creates this JAR JAR=linkage-monitor-latest-all-deps.jar diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml new file mode 100644 index 000000000..6d5f2e904 --- /dev/null +++ b/samples/install-without-bom/pom.xml @@ -0,0 +1,84 @@ + + + 4.0.0 + com.google.cloud + google-http-client-install-without-bom + jar + Google Google HTTP Java Client Install Without Bom + https://github.com/googleapis/google-http-java-client + + + + com.google.cloud.samples + shared-configuration + 1.0.12 + + + + 1.8 + 1.8 + UTF-8 + + + + + + + com.google.http-client + google-http-client + + + + + + junit + junit + 4.13 + test + + + com.google.truth + truth + 1.0.1 + test + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.1.0 + + + add-snippets-source + + add-source + + + + ../snippets/src/main/java + + + + + add-snippets-tests + + add-test-source + + + + ../snippets/src/test/java + + + + + + + + diff --git a/samples/pom.xml b/samples/pom.xml new file mode 100644 index 000000000..cabcc7b58 --- /dev/null +++ b/samples/pom.xml @@ -0,0 +1,56 @@ + + + 4.0.0 + com.google.cloud + google-cloud-google-http-client-samples + 0.0.1-SNAPSHOT + pom + Google Google HTTP Java Client Samples Parent + https://github.com/googleapis/google-http-java-client + + Java idiomatic client for Google Cloud Platform services. + + + + + com.google.cloud.samples + shared-configuration + 1.0.12 + + + + 1.8 + 1.8 + UTF-8 + + + + install-without-bom + snapshot + snippets + + + + + + org.apache.maven.plugins + maven-deploy-plugin + 2.8.2 + + true + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.8 + + true + + + + + diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml new file mode 100644 index 000000000..4d9f60c98 --- /dev/null +++ b/samples/snapshot/pom.xml @@ -0,0 +1,83 @@ + + + 4.0.0 + com.google.cloud + google-http-client-snapshot + jar + Google Google HTTP Java Client Snapshot Samples + https://github.com/googleapis/google-http-java-client + + + + com.google.cloud.samples + shared-configuration + 1.0.12 + + + + 1.8 + 1.8 + UTF-8 + + + + + + com.google.http-client + google-http-client + + + + + junit + junit + 4.13 + test + + + com.google.truth + truth + 1.0.1 + test + + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.1.0 + + + add-snippets-source + + add-source + + + + ../snippets/src/main/java + + + + + add-snippets-tests + + add-test-source + + + + ../snippets/src/test/java + + + + + + + + \ No newline at end of file diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml new file mode 100644 index 000000000..33a9fe006 --- /dev/null +++ b/samples/snippets/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + com.google.cloud + google-http-client-snippets + jar + Google Google HTTP Java Client Snippets + https://github.com/googleapis/google-http-java-client + + + + com.google.cloud.samples + shared-configuration + 1.0.12 + + + + 1.8 + 1.8 + UTF-8 + + + + + + + + com.google.cloud + libraries-bom + + pom + import + + + + + + + com.google.http-client + google-http-client + + + + + junit + junit + 4.13 + test + + + com.google.truth + truth + 1.0.1 + test + + + diff --git a/synth.metadata b/synth.metadata index a8671a649..e5e3d28c3 100644 --- a/synth.metadata +++ b/synth.metadata @@ -1,11 +1,11 @@ { - "updateTime": "2020-03-13T21:34:17.479284Z", + "updateTime": "2020-04-01T21:33:55.846897Z", "sources": [ { - "template": { - "name": "java_library", - "origin": "synthtool.gcp", - "version": "2020.2.4" + "git": { + "name": "synthtool", + "remote": "https://github.com/googleapis/synthtool.git", + "sha": "99820243d348191bc9c634f2b48ddf65096285ed" } } ] From ca9520f2da4babc5bbd28c828da1deb7dbdc87e5 Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Tue, 14 Apr 2020 13:11:29 -0400 Subject: [PATCH 28/36] deps: update to Guava 29 (#1024) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8fac9b174..776e30c43 100644 --- a/pom.xml +++ b/pom.xml @@ -560,7 +560,7 @@ 2.8.6 2.10.3 3.11.4 - 28.2-android + 29.0-android 1.1.4c 1.2 4.5.12 From a6fc5f41628f536fff7de315113236fac65c0707 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 14 Apr 2020 10:12:04 -0700 Subject: [PATCH 29/36] chore: update common templates (#1022) * chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.15 (#466) Source-Repo: googleapis/synthtool Source-Sha: 928b2998ac5023e7c7e254ab935f9ef022455aad Source-Link: https://github.com/googleapis/synthtool/commit/928b2998ac5023e7c7e254ab935f9ef022455aad Author: WhiteSource Renovate Date: Tue Apr 7 19:56:16 2020 +0200 Original-Commit-Message: chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.15 (#466) Co-authored-by: Jeffrey Rennie * build(java): fix retry_with_backoff when -e option set (#475) Source-Repo: googleapis/synthtool Source-Sha: bd69a2aa7b70875f3c988e269706b22fefbef40e Source-Link: https://github.com/googleapis/synthtool/commit/bd69a2aa7b70875f3c988e269706b22fefbef40e Author: Jeff Ching Date: Wed Apr 8 14:01:08 2020 -0700 Original-Commit-Message: build(java): fix retry_with_backoff when -e option set (#475) * build(java): fix nightly integration test config to run integrations (#465) Source-Repo: googleapis/synthtool Source-Sha: c7e0e517d7f46f77bebd27da2e5afcaa6eee7e25 Source-Link: https://github.com/googleapis/synthtool/commit/c7e0e517d7f46f77bebd27da2e5afcaa6eee7e25 Author: Jeff Ching Date: Wed Apr 8 14:06:04 2020 -0700 Original-Commit-Message: build(java): fix nightly integration test config to run integrations (#465) This was only running the units. Co-authored-by: Jeffrey Rennie --- .kokoro/common.sh | 14 ++++++++++++-- .kokoro/nightly/integration.cfg | 15 +++++++++++++++ samples/pom.xml | 2 +- synth.metadata | 11 +++++++++-- 4 files changed, 37 insertions(+), 5 deletions(-) diff --git a/.kokoro/common.sh b/.kokoro/common.sh index a3bbc5f67..8f09de5d3 100644 --- a/.kokoro/common.sh +++ b/.kokoro/common.sh @@ -13,18 +13,28 @@ # See the License for the specific language governing permissions and # limitations under the License. -# set -eo pipefail - function retry_with_backoff { attempts_left=$1 sleep_seconds=$2 shift 2 command=$@ + + # store current flag state + flags=$- + + # allow a failures to continue + set +e echo "${command}" ${command} exit_code=$? + # restore "e" flag + if [[ ${flags} =~ e ]] + then set -e + else set +e + fi + if [[ $exit_code == 0 ]] then return 0 diff --git a/.kokoro/nightly/integration.cfg b/.kokoro/nightly/integration.cfg index 8bf59c02e..ca0274800 100644 --- a/.kokoro/nightly/integration.cfg +++ b/.kokoro/nightly/integration.cfg @@ -6,11 +6,26 @@ env_vars: { value: "gcr.io/cloud-devrel-kokoro-resources/java8" } +env_vars: { + key: "JOB_TYPE" + value: "integration" +} + +env_vars: { + key: "GCLOUD_PROJECT" + value: "gcloud-devel" +} + env_vars: { key: "ENABLE_BUILD_COP" value: "true" } +env_vars: { + key: "GOOGLE_APPLICATION_CREDENTIALS" + value: "keystore/73713_java_it_service_account" +} + before_action { fetch_keystore { keystore_resource { diff --git a/samples/pom.xml b/samples/pom.xml index cabcc7b58..a46c32cad 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -18,7 +18,7 @@ com.google.cloud.samples shared-configuration - 1.0.12 + 1.0.15 diff --git a/synth.metadata b/synth.metadata index e5e3d28c3..972287a13 100644 --- a/synth.metadata +++ b/synth.metadata @@ -1,11 +1,18 @@ { - "updateTime": "2020-04-01T21:33:55.846897Z", "sources": [ + { + "git": { + "name": ".", + "remote": "https://github.com/googleapis/google-http-java-client.git", + "sha": "1f6328755fe32cacc7cfcf253493b652bb007186" + } + }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "99820243d348191bc9c634f2b48ddf65096285ed" + "sha": "c7e0e517d7f46f77bebd27da2e5afcaa6eee7e25", + "log": "c7e0e517d7f46f77bebd27da2e5afcaa6eee7e25\nbuild(java): fix nightly integration test config to run integrations (#465)\n\nThis was only running the units.\nbd69a2aa7b70875f3c988e269706b22fefbef40e\nbuild(java): fix retry_with_backoff when -e option set (#475)\n\n\nd9b173c427bfa0c6cca818233562e7e8841a357c\nfix: record version of working repo in synth.metadata (#473)\n\nPartial revert of b37cf74d12e9a42b9de9e61a4f26133d7cd9c168.\nf73a541770d95a609e5be6bf6b3b220d17cefcbe\nfeat(discogapic): allow local discovery-artifact-manager (#474)\n\n\n8cf0f5d93a70c3dcb0b4999d3152c46d4d9264bf\ndoc: describe the Autosynth & Synthtool protocol (#472)\n\n* doc: describe the Autosynth & Synthtool protocol\n\n* Accommodate review comments.\n980baaa738a1ad8fa02b4fdbd56be075ee77ece5\nfix: pin sphinx to <3.0.0 as new version causes new error (#471)\n\nThe error `toctree contains reference to document changlelog that doesn't have a title: no link will be generated` occurs as of 3.0.0. Pinning to 2.x until we address the docs build issue.\n\nTowards #470\n\nI did this manually for python-datastore https://github.com/googleapis/python-datastore/pull/22\n928b2998ac5023e7c7e254ab935f9ef022455aad\nchore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.15 (#466)\n\nCo-authored-by: Jeffrey Rennie \n188f1b1d53181f739b98f8aa5d40cfe99eb90c47\nfix: allow local and external deps to be specified (#469)\n\nModify noxfile.py to allow local and external dependencies for\nsystem tests to be specified.\n1df68ed6735ddce6797d0f83641a731c3c3f75b4\nfix: apache license URL (#468)\n\n\nf4a59efa54808c4b958263de87bc666ce41e415f\nfeat: Add discogapic support for GAPICBazel generation (#459)\n\n* feat: Add discogapic support for GAPICBazel generation\n\n* reformat with black\n\n* Rename source repository variable\n\nCo-authored-by: Jeffrey Rennie \n" } } ] From 3b270ead88d23541a74ff06c5a58bb728a159ecd Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 14 Apr 2020 19:12:34 +0200 Subject: [PATCH 30/36] chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.15 (#1019) --- samples/install-without-bom/pom.xml | 2 +- samples/snapshot/pom.xml | 2 +- samples/snippets/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 6d5f2e904..d3b38cdf1 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -14,7 +14,7 @@ com.google.cloud.samples shared-configuration - 1.0.12 + 1.0.15 diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 4d9f60c98..fd2adfc15 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -14,7 +14,7 @@ com.google.cloud.samples shared-configuration - 1.0.12 + 1.0.15 diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index 33a9fe006..2b56334dd 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -14,7 +14,7 @@ com.google.cloud.samples shared-configuration - 1.0.12 + 1.0.15 From 6d71833a4750ca7fa68ccbb42b2178cca4052f5b Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 16 Apr 2020 13:10:20 +0200 Subject: [PATCH 31/36] chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.16 (#1029) --- samples/install-without-bom/pom.xml | 2 +- samples/pom.xml | 2 +- samples/snapshot/pom.xml | 2 +- samples/snippets/pom.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index d3b38cdf1..3936adf32 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -14,7 +14,7 @@ com.google.cloud.samples shared-configuration - 1.0.15 + 1.0.16 diff --git a/samples/pom.xml b/samples/pom.xml index a46c32cad..903f8ff38 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -18,7 +18,7 @@ com.google.cloud.samples shared-configuration - 1.0.15 + 1.0.16 diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index fd2adfc15..38ec88c83 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -14,7 +14,7 @@ com.google.cloud.samples shared-configuration - 1.0.15 + 1.0.16 diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index 2b56334dd..da30657aa 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -14,7 +14,7 @@ com.google.cloud.samples shared-configuration - 1.0.15 + 1.0.16 From 2c26a03fe0080f3913726d6375a18ddb99f28d84 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 17 Apr 2020 00:01:55 +0200 Subject: [PATCH 32/36] chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.17 (#1030) --- samples/install-without-bom/pom.xml | 2 +- samples/pom.xml | 2 +- samples/snapshot/pom.xml | 2 +- samples/snippets/pom.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 3936adf32..89688c724 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -14,7 +14,7 @@ com.google.cloud.samples shared-configuration - 1.0.16 + 1.0.17 diff --git a/samples/pom.xml b/samples/pom.xml index 903f8ff38..22ebf1618 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -18,7 +18,7 @@ com.google.cloud.samples shared-configuration - 1.0.16 + 1.0.17 diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 38ec88c83..fa6b36800 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -14,7 +14,7 @@ com.google.cloud.samples shared-configuration - 1.0.16 + 1.0.17 diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index da30657aa..cb7949972 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -14,7 +14,7 @@ com.google.cloud.samples shared-configuration - 1.0.16 + 1.0.17 From ca34202bfa077adb70313b6c4562c7a5d904e064 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Fri, 24 Apr 2020 07:36:59 -0400 Subject: [PATCH 33/36] docs: libraries-bom 5.2.0 (#1032) --- docs/setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/setup.md b/docs/setup.md index 5ad1f01bf..2f3dc9258 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -23,7 +23,7 @@ the `dependencyManagement` section of your `pom.xml`: com.google.cloud libraries-bom - 4.3.0 + 5.2.0 pom import From bb4227f9daec44fc2976fa9947e2ff5ee07ed21a Mon Sep 17 00:00:00 2001 From: Jeff Ching Date: Fri, 24 Apr 2020 14:43:29 -0700 Subject: [PATCH 34/36] feat: add logic for verifying ES256 JsonWebSignatures (#1033) * feat: add logic for verifying ES256 JsonWebSignatures * chore: use google-http-client's Preconditions wrapper * refactor: make DerEncoder an outer class --- .../api/client/json/webtoken/DerEncoder.java | 60 +++++++++++++++++++ .../json/webtoken/JsonWebSignature.java | 22 +++---- .../google/api/client/util/SecurityUtils.java | 7 ++- .../json/webtoken/JsonWebSignatureTest.java | 47 +++++++++++++++ 4 files changed, 124 insertions(+), 12 deletions(-) create mode 100644 google-http-client/src/main/java/com/google/api/client/json/webtoken/DerEncoder.java diff --git a/google-http-client/src/main/java/com/google/api/client/json/webtoken/DerEncoder.java b/google-http-client/src/main/java/com/google/api/client/json/webtoken/DerEncoder.java new file mode 100644 index 000000000..ce7c42f12 --- /dev/null +++ b/google-http-client/src/main/java/com/google/api/client/json/webtoken/DerEncoder.java @@ -0,0 +1,60 @@ +/* + * 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 + * + * 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. + */ + +package com.google.api.client.json.webtoken; + +import com.google.api.client.util.Preconditions; + +import java.math.BigInteger; +import java.util.Arrays; + +/** + * Utilities for re-encoding a signature byte array with DER encoding. + * + *

Note: that this is not a general purpose encoder and currently only + * handles 512 bit signatures. ES256 verification algorithms expect the + * signature bytes in DER encoding. + */ +public class DerEncoder { + private static byte DER_TAG_SIGNATURE_OBJECT = 0x30; + private static byte DER_TAG_ASN1_INTEGER = 0x02; + + static byte[] encode(byte[] signature) { + // expect the signature to be 64 bytes long + Preconditions.checkState(signature.length == 64); + + byte[] int1 = new BigInteger(1, Arrays.copyOfRange(signature, 0, 32)).toByteArray(); + byte[] int2 = new BigInteger(1, Arrays.copyOfRange(signature, 32, 64)).toByteArray(); + byte[] der = new byte[6 + int1.length + int2.length]; + + // Mark that this is a signature object + der[0] = DER_TAG_SIGNATURE_OBJECT; + der[1] = (byte) (der.length - 2); + + // Start ASN1 integer and write the first 32 bits + der[2] = DER_TAG_ASN1_INTEGER; + der[3] = (byte) int1.length; + System.arraycopy(int1, 0, der, 4, int1.length); + + // Start ASN1 integer and write the second 32 bits + int offset = int1.length + 4; + der[offset] = DER_TAG_ASN1_INTEGER; + der[offset + 1] = (byte) int2.length; + System.arraycopy(int2, 0, der, offset + 2, int2.length); + + return der; + } +} diff --git a/google-http-client/src/main/java/com/google/api/client/json/webtoken/JsonWebSignature.java b/google-http-client/src/main/java/com/google/api/client/json/webtoken/JsonWebSignature.java index 7e3990d40..aa21dbe2e 100644 --- a/google-http-client/src/main/java/com/google/api/client/json/webtoken/JsonWebSignature.java +++ b/google-http-client/src/main/java/com/google/api/client/json/webtoken/JsonWebSignature.java @@ -23,6 +23,7 @@ import com.google.api.client.util.StringUtils; import java.io.ByteArrayInputStream; import java.io.IOException; +import java.math.BigInteger; import java.security.GeneralSecurityException; import java.security.KeyStore; import java.security.KeyStoreException; @@ -349,30 +350,30 @@ public Header getHeader() { /** * Verifies the signature of the content. * - *

Currently only {@code "RS256"} algorithm is verified, but others may be added in the future. - * For any other algorithm it returns {@code false}. + *

Currently only {@code "RS256"} and {@code "ES256"} algorithms are verified, but others may be added in the + * future. For any other algorithm it returns {@code false}. * * @param publicKey public key * @return whether the algorithm is recognized and it is verified * @throws GeneralSecurityException */ public final boolean verifySignature(PublicKey publicKey) throws GeneralSecurityException { - Signature signatureAlg = null; String algorithm = getHeader().getAlgorithm(); if ("RS256".equals(algorithm)) { - signatureAlg = SecurityUtils.getSha256WithRsaSignatureAlgorithm(); + return SecurityUtils.verify(SecurityUtils.getSha256WithRsaSignatureAlgorithm(), publicKey, signatureBytes, signedContentBytes); + } else if ("ES256".equals(algorithm)) { + return SecurityUtils.verify(SecurityUtils.getEs256SignatureAlgorithm(), publicKey, DerEncoder.encode(signatureBytes), signedContentBytes); } else { return false; } - return SecurityUtils.verify(signatureAlg, publicKey, signatureBytes, signedContentBytes); } /** * {@link Beta}
* Verifies the signature of the content using the certificate chain embedded in the signature. * - *

Currently only {@code "RS256"} algorithm is verified, but others may be added in the future. - * For any other algorithm it returns {@code null}. + *

Currently only {@code "RS256"} and {@code "ES256"} algorithms are verified, but others may be added in the + * future. For any other algorithm it returns {@code null}. * *

The leaf certificate of the certificate chain must be an SSL server certificate. * @@ -390,14 +391,13 @@ public final X509Certificate verifySignature(X509TrustManager trustManager) return null; } String algorithm = getHeader().getAlgorithm(); - Signature signatureAlg = null; if ("RS256".equals(algorithm)) { - signatureAlg = SecurityUtils.getSha256WithRsaSignatureAlgorithm(); + return SecurityUtils.verify(SecurityUtils.getSha256WithRsaSignatureAlgorithm(), trustManager, x509Certificates, signatureBytes, signedContentBytes); + } else if ("ES256".equals(algorithm)) { + return SecurityUtils.verify(SecurityUtils.getEs256SignatureAlgorithm(), trustManager, x509Certificates, DerEncoder.encode(signatureBytes), signedContentBytes); } else { return null; } - return SecurityUtils.verify( - signatureAlg, trustManager, x509Certificates, signatureBytes, signedContentBytes); } /** diff --git a/google-http-client/src/main/java/com/google/api/client/util/SecurityUtils.java b/google-http-client/src/main/java/com/google/api/client/util/SecurityUtils.java index 59d3af24e..cf08e03ad 100644 --- a/google-http-client/src/main/java/com/google/api/client/util/SecurityUtils.java +++ b/google-http-client/src/main/java/com/google/api/client/util/SecurityUtils.java @@ -127,6 +127,11 @@ public static Signature getSha256WithRsaSignatureAlgorithm() throws NoSuchAlgori return Signature.getInstance("SHA256withRSA"); } + /** Returns the SHA-256 with ECDSA signature algorithm */ + public static Signature getEs256SignatureAlgorithm() throws NoSuchAlgorithmException { + return Signature.getInstance("SHA256withECDSA"); + } + /** * Signs content using a private key. * @@ -157,7 +162,7 @@ public static boolean verify( throws InvalidKeyException, SignatureException { signatureAlgorithm.initVerify(publicKey); signatureAlgorithm.update(contentBytes); - // SignatureException may be thrown if we are tring the wrong key. + // SignatureException may be thrown if we are trying the wrong key. try { return signatureAlgorithm.verify(signatureBytes); } catch (SignatureException e) { diff --git a/google-http-client/src/test/java/com/google/api/client/json/webtoken/JsonWebSignatureTest.java b/google-http-client/src/test/java/com/google/api/client/json/webtoken/JsonWebSignatureTest.java index 8bff77f93..9a02c0750 100644 --- a/google-http-client/src/test/java/com/google/api/client/json/webtoken/JsonWebSignatureTest.java +++ b/google-http-client/src/test/java/com/google/api/client/json/webtoken/JsonWebSignatureTest.java @@ -19,14 +19,27 @@ import com.google.api.client.testing.util.SecurityTestUtils; import java.io.IOException; +import java.math.BigInteger; +import java.security.AlgorithmParameters; import java.security.GeneralSecurityException; +import java.security.KeyFactory; +import java.security.NoSuchAlgorithmException; +import java.security.PublicKey; import java.security.cert.X509Certificate; import java.security.interfaces.RSAPrivateKey; +import java.security.spec.ECGenParameterSpec; +import java.security.spec.ECParameterSpec; +import java.security.spec.ECPoint; +import java.security.spec.ECPublicKeySpec; +import java.security.spec.InvalidKeySpecException; +import java.security.spec.InvalidParameterSpecException; import java.util.ArrayList; import java.util.List; import javax.net.ssl.X509TrustManager; +import com.google.api.client.util.Base64; +import com.google.api.client.util.StringUtils; import org.junit.Assert; import org.junit.Test; @@ -114,4 +127,38 @@ public void testVerifyX509() throws Exception { public void testVerifyX509WrongCa() throws Exception { Assert.assertNull(verifyX509WithCaCert(TestCertificates.BOGUS_CA_CERT)); } + + private static final String ES256_CONTENT = "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Im1wZjBEQSJ9.eyJhdWQiOiIvcHJvamVjdHMvNjUyNTYyNzc2Nzk4L2FwcHMvY2xvdWQtc2FtcGxlcy10ZXN0cy1waHAtaWFwIiwiZW1haWwiOiJjaGluZ29yQGdvb2dsZS5jb20iLCJleHAiOjE1ODQwNDc2MTcsImdvb2dsZSI6eyJhY2Nlc3NfbGV2ZWxzIjpbImFjY2Vzc1BvbGljaWVzLzUxODU1MTI4MDkyNC9hY2Nlc3NMZXZlbHMvcmVjZW50U2VjdXJlQ29ubmVjdERhdGEiLCJhY2Nlc3NQb2xpY2llcy81MTg1NTEyODA5MjQvYWNjZXNzTGV2ZWxzL3Rlc3ROb09wIiwiYWNjZXNzUG9saWNpZXMvNTE4NTUxMjgwOTI0L2FjY2Vzc0xldmVscy9ldmFwb3JhdGlvblFhRGF0YUZ1bGx5VHJ1c3RlZCJdfSwiaGQiOiJnb29nbGUuY29tIiwiaWF0IjoxNTg0MDQ3MDE3LCJpc3MiOiJodHRwczovL2Nsb3VkLmdvb2dsZS5jb20vaWFwIiwic3ViIjoiYWNjb3VudHMuZ29vZ2xlLmNvbToxMTIxODE3MTI3NzEyMDE5NzI4OTEifQ"; + private static final String ES256_SIGNATURE = "yKNtdFY5EKkRboYNexBdfugzLhC3VuGyFcuFYA8kgpxMqfyxa41zkML68hYKrWu2kOBTUW95UnbGpsIi_u1fiA"; + + // x, y values for keyId "mpf0DA" from https://www.gstatic.com/iap/verify/public_key-jwk + private static final String GOOGLE_ES256_X = "fHEdeT3a6KaC1kbwov73ZwB_SiUHEyKQwUUtMCEn0aI"; + private static final String GOOGLE_ES256_Y = "QWOjwPhInNuPlqjxLQyhveXpWqOFcQPhZ3t-koMNbZI"; + + private PublicKey buildEs256PublicKey(String x, String y) + throws NoSuchAlgorithmException, InvalidParameterSpecException, InvalidKeySpecException { + AlgorithmParameters parameters = AlgorithmParameters.getInstance("EC"); + parameters.init(new ECGenParameterSpec("secp256r1")); + ECPublicKeySpec ecPublicKeySpec = new ECPublicKeySpec( + new ECPoint( + new BigInteger(1, Base64.decodeBase64(x)), + new BigInteger(1, Base64.decodeBase64(y)) + ), + parameters.getParameterSpec(ECParameterSpec.class) + ); + KeyFactory keyFactory = KeyFactory.getInstance("EC"); + return keyFactory.generatePublic(ecPublicKeySpec); + } + + @Test + public void testVerifyES256() throws Exception { + PublicKey publicKey = buildEs256PublicKey(GOOGLE_ES256_X, GOOGLE_ES256_Y); + JsonWebSignature.Header header = new JsonWebSignature.Header(); + header.setAlgorithm("ES256"); + JsonWebSignature.Payload payload = new JsonWebToken.Payload(); + byte[] signatureBytes = Base64.decodeBase64(ES256_SIGNATURE); + byte[] signedContentBytes = StringUtils.getBytesUtf8(ES256_CONTENT); + JsonWebSignature jsonWebSignature = new JsonWebSignature(header, payload, signatureBytes, signedContentBytes); + Assert.assertTrue(jsonWebSignature.verifySignature(publicKey)); + } } From c42a666ffbee92afa715acdffb30c51c41c6d71d Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 27 Apr 2020 16:52:05 +0200 Subject: [PATCH 35/36] chore(deps): update dependency com.fasterxml.jackson.core:jackson-core to v2.11.0 (#1036) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 776e30c43..bc8c4fda8 100644 --- a/pom.xml +++ b/pom.xml @@ -558,7 +558,7 @@ UTF-8 3.0.2 2.8.6 - 2.10.3 + 2.11.0 3.11.4 29.0-android 1.1.4c From 075ca59323f610ba18a13d4c04c87671ec1bd22a Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 27 Apr 2020 16:32:04 +0000 Subject: [PATCH 36/36] chore: release 1.35.0 (#1038) :robot: I have created a release \*beep\* \*boop\* --- ## [1.35.0](https://www.github.com/googleapis/google-http-java-client/compare/v1.34.2...v1.35.0) (2020-04-27) ### Features * add logic for verifying ES256 JsonWebSignatures ([#1033](https://www.github.com/googleapis/google-http-java-client/issues/1033)) ([bb4227f](https://www.github.com/googleapis/google-http-java-client/commit/bb4227f9daec44fc2976fa9947e2ff5ee07ed21a)) ### Bug Fixes * add linkage monitor plugin ([#1000](https://www.github.com/googleapis/google-http-java-client/issues/1000)) ([027c227](https://www.github.com/googleapis/google-http-java-client/commit/027c227e558164f77be204152fb47023850b543f)) * Correctly handling chunked response streams with gzip ([#990](https://www.github.com/googleapis/google-http-java-client/issues/990)) ([1ba2197](https://www.github.com/googleapis/google-http-java-client/commit/1ba219743e65c89bc3fdb196acc5d2042e01f542)), closes [#367](https://www.github.com/googleapis/google-http-java-client/issues/367) * FileDataStoreFactory will throw IOException for any permissions errors ([#1012](https://www.github.com/googleapis/google-http-java-client/issues/1012)) ([fd33073](https://www.github.com/googleapis/google-http-java-client/commit/fd33073da3674997897d7a9057d1d0e9d42d7cd4)) * include request method and URL into HttpResponseException message ([#1002](https://www.github.com/googleapis/google-http-java-client/issues/1002)) ([15111a1](https://www.github.com/googleapis/google-http-java-client/commit/15111a1001d6f72cb92cd2d76aaed6f1229bc14a)) * incorrect check for Windows OS in FileDataStoreFactory ([#927](https://www.github.com/googleapis/google-http-java-client/issues/927)) ([8b4eabe](https://www.github.com/googleapis/google-http-java-client/commit/8b4eabe985794fc64ad6a4a53f8f96201cf73fb8)) * reuse reference instead of calling getter twice ([#983](https://www.github.com/googleapis/google-http-java-client/issues/983)) ([1f66222](https://www.github.com/googleapis/google-http-java-client/commit/1f662224d7bee6e27e8d66975fda39feae0c9359)), closes [#982](https://www.github.com/googleapis/google-http-java-client/issues/982) * **android:** set minimum API level to 19 a.k.a. 4.4 Kit Kat ([#1016](https://www.github.com/googleapis/google-http-java-client/issues/1016)) ([b9a8023](https://www.github.com/googleapis/google-http-java-client/commit/b9a80232c9c8b16a3c3277458835f72e346f6b2c)), closes [#1015](https://www.github.com/googleapis/google-http-java-client/issues/1015) ### Documentation * android 4.4 or later is required ([#1008](https://www.github.com/googleapis/google-http-java-client/issues/1008)) ([bcc41dd](https://www.github.com/googleapis/google-http-java-client/commit/bcc41dd615af41ae6fb58287931cbf9c2144a075)) * libraries-bom 4.0.1 ([#976](https://www.github.com/googleapis/google-http-java-client/issues/976)) ([fc21dc4](https://www.github.com/googleapis/google-http-java-client/commit/fc21dc412566ef60d23f1f82db5caf3cfd5d447b)) * libraries-bom 4.1.1 ([#984](https://www.github.com/googleapis/google-http-java-client/issues/984)) ([635c813](https://www.github.com/googleapis/google-http-java-client/commit/635c81352ae383b3abfe6d7c141d987a6944b3e9)) * libraries-bom 5.2.0 ([#1032](https://www.github.com/googleapis/google-http-java-client/issues/1032)) ([ca34202](https://www.github.com/googleapis/google-http-java-client/commit/ca34202bfa077adb70313b6c4562c7a5d904e064)) * require Android 4.4 ([#1007](https://www.github.com/googleapis/google-http-java-client/issues/1007)) ([f9d2bb0](https://www.github.com/googleapis/google-http-java-client/commit/f9d2bb030398fe09e3c47b84ea468603355e08e9)) ### Dependencies * httpclient 4.5.12 ([#991](https://www.github.com/googleapis/google-http-java-client/issues/991)) ([79bc1c7](https://www.github.com/googleapis/google-http-java-client/commit/79bc1c76ebd48d396a080ef715b9f07cd056b7ef)) * update to Guava 29 ([#1024](https://www.github.com/googleapis/google-http-java-client/issues/1024)) ([ca9520f](https://www.github.com/googleapis/google-http-java-client/commit/ca9520f2da4babc5bbd28c828da1deb7dbdc87e5)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). --- CHANGELOG.md | 33 +++++++++++++++++++ google-http-client-android-test/pom.xml | 6 ++-- google-http-client-android/pom.xml | 4 +-- google-http-client-apache-v2/pom.xml | 4 +-- google-http-client-appengine/pom.xml | 4 +-- google-http-client-assembly/pom.xml | 4 +-- google-http-client-bom/pom.xml | 22 ++++++------- google-http-client-findbugs/pom.xml | 4 +-- google-http-client-gson/pom.xml | 4 +-- google-http-client-jackson2/pom.xml | 4 +-- google-http-client-protobuf/pom.xml | 4 +-- google-http-client-test/pom.xml | 4 +-- google-http-client-xml/pom.xml | 4 +-- google-http-client/pom.xml | 4 +-- pom.xml | 4 +-- .../dailymotion-simple-cmdline-sample/pom.xml | 2 +- versions.txt | 28 ++++++++-------- 17 files changed, 86 insertions(+), 53 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 90bfb1e0b..f7ea60f05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,38 @@ # Changelog +## [1.35.0](https://www.github.com/googleapis/google-http-java-client/compare/v1.34.2...v1.35.0) (2020-04-27) + + +### Features + +* add logic for verifying ES256 JsonWebSignatures ([#1033](https://www.github.com/googleapis/google-http-java-client/issues/1033)) ([bb4227f](https://www.github.com/googleapis/google-http-java-client/commit/bb4227f9daec44fc2976fa9947e2ff5ee07ed21a)) + + +### Bug Fixes + +* add linkage monitor plugin ([#1000](https://www.github.com/googleapis/google-http-java-client/issues/1000)) ([027c227](https://www.github.com/googleapis/google-http-java-client/commit/027c227e558164f77be204152fb47023850b543f)) +* Correctly handling chunked response streams with gzip ([#990](https://www.github.com/googleapis/google-http-java-client/issues/990)) ([1ba2197](https://www.github.com/googleapis/google-http-java-client/commit/1ba219743e65c89bc3fdb196acc5d2042e01f542)), closes [#367](https://www.github.com/googleapis/google-http-java-client/issues/367) +* FileDataStoreFactory will throw IOException for any permissions errors ([#1012](https://www.github.com/googleapis/google-http-java-client/issues/1012)) ([fd33073](https://www.github.com/googleapis/google-http-java-client/commit/fd33073da3674997897d7a9057d1d0e9d42d7cd4)) +* include request method and URL into HttpResponseException message ([#1002](https://www.github.com/googleapis/google-http-java-client/issues/1002)) ([15111a1](https://www.github.com/googleapis/google-http-java-client/commit/15111a1001d6f72cb92cd2d76aaed6f1229bc14a)) +* incorrect check for Windows OS in FileDataStoreFactory ([#927](https://www.github.com/googleapis/google-http-java-client/issues/927)) ([8b4eabe](https://www.github.com/googleapis/google-http-java-client/commit/8b4eabe985794fc64ad6a4a53f8f96201cf73fb8)) +* reuse reference instead of calling getter twice ([#983](https://www.github.com/googleapis/google-http-java-client/issues/983)) ([1f66222](https://www.github.com/googleapis/google-http-java-client/commit/1f662224d7bee6e27e8d66975fda39feae0c9359)), closes [#982](https://www.github.com/googleapis/google-http-java-client/issues/982) +* **android:** set minimum API level to 19 a.k.a. 4.4 Kit Kat ([#1016](https://www.github.com/googleapis/google-http-java-client/issues/1016)) ([b9a8023](https://www.github.com/googleapis/google-http-java-client/commit/b9a80232c9c8b16a3c3277458835f72e346f6b2c)), closes [#1015](https://www.github.com/googleapis/google-http-java-client/issues/1015) + + +### Documentation + +* android 4.4 or later is required ([#1008](https://www.github.com/googleapis/google-http-java-client/issues/1008)) ([bcc41dd](https://www.github.com/googleapis/google-http-java-client/commit/bcc41dd615af41ae6fb58287931cbf9c2144a075)) +* libraries-bom 4.0.1 ([#976](https://www.github.com/googleapis/google-http-java-client/issues/976)) ([fc21dc4](https://www.github.com/googleapis/google-http-java-client/commit/fc21dc412566ef60d23f1f82db5caf3cfd5d447b)) +* libraries-bom 4.1.1 ([#984](https://www.github.com/googleapis/google-http-java-client/issues/984)) ([635c813](https://www.github.com/googleapis/google-http-java-client/commit/635c81352ae383b3abfe6d7c141d987a6944b3e9)) +* libraries-bom 5.2.0 ([#1032](https://www.github.com/googleapis/google-http-java-client/issues/1032)) ([ca34202](https://www.github.com/googleapis/google-http-java-client/commit/ca34202bfa077adb70313b6c4562c7a5d904e064)) +* require Android 4.4 ([#1007](https://www.github.com/googleapis/google-http-java-client/issues/1007)) ([f9d2bb0](https://www.github.com/googleapis/google-http-java-client/commit/f9d2bb030398fe09e3c47b84ea468603355e08e9)) + + +### Dependencies + +* httpclient 4.5.12 ([#991](https://www.github.com/googleapis/google-http-java-client/issues/991)) ([79bc1c7](https://www.github.com/googleapis/google-http-java-client/commit/79bc1c76ebd48d396a080ef715b9f07cd056b7ef)) +* update to Guava 29 ([#1024](https://www.github.com/googleapis/google-http-java-client/issues/1024)) ([ca9520f](https://www.github.com/googleapis/google-http-java-client/commit/ca9520f2da4babc5bbd28c828da1deb7dbdc87e5)) + ### [1.34.2](https://www.github.com/googleapis/google-http-java-client/compare/v1.34.1...v1.34.2) (2020-02-12) diff --git a/google-http-client-android-test/pom.xml b/google-http-client-android-test/pom.xml index 1a7c83553..1946c910f 100644 --- a/google-http-client-android-test/pom.xml +++ b/google-http-client-android-test/pom.xml @@ -4,7 +4,7 @@ google-http-client google-http-client-android-test Test project for google-http-client-android. - 1.34.3-SNAPSHOT + 1.35.0 apk @@ -53,7 +53,7 @@ com.google.http-client google-http-client-android - 1.34.3-SNAPSHOT + 1.35.0 android @@ -72,7 +72,7 @@ com.google.http-client google-http-client-test - 1.34.3-SNAPSHOT + 1.35.0 junit diff --git a/google-http-client-android/pom.xml b/google-http-client-android/pom.xml index a36d4f0c2..391cf0a22 100644 --- a/google-http-client-android/pom.xml +++ b/google-http-client-android/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.3-SNAPSHOT + 1.35.0 ../pom.xml google-http-client-android - 1.34.3-SNAPSHOT + 1.35.0 Android Platform Extensions to the Google HTTP Client Library for Java. diff --git a/google-http-client-apache-v2/pom.xml b/google-http-client-apache-v2/pom.xml index 53be79ecd..59c6930be 100644 --- a/google-http-client-apache-v2/pom.xml +++ b/google-http-client-apache-v2/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.3-SNAPSHOT + 1.35.0 ../pom.xml google-http-client-apache-v2 - 1.34.3-SNAPSHOT + 1.35.0 Apache HTTP transport v2 for the Google HTTP Client Library for Java. diff --git a/google-http-client-appengine/pom.xml b/google-http-client-appengine/pom.xml index 048cf4bdc..7b3e610a6 100644 --- a/google-http-client-appengine/pom.xml +++ b/google-http-client-appengine/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.3-SNAPSHOT + 1.35.0 ../pom.xml google-http-client-appengine - 1.34.3-SNAPSHOT + 1.35.0 Google App Engine extensions to the Google HTTP Client Library for Java. diff --git a/google-http-client-assembly/pom.xml b/google-http-client-assembly/pom.xml index bcf1716c4..0cbdbff0c 100644 --- a/google-http-client-assembly/pom.xml +++ b/google-http-client-assembly/pom.xml @@ -4,12 +4,12 @@ com.google.http-client google-http-client-parent - 1.34.3-SNAPSHOT + 1.35.0 ../pom.xml com.google.http-client google-http-client-assembly - 1.34.3-SNAPSHOT + 1.35.0 pom Assembly for the Google HTTP Client Library for Java diff --git a/google-http-client-bom/pom.xml b/google-http-client-bom/pom.xml index 0401a3532..503118432 100644 --- a/google-http-client-bom/pom.xml +++ b/google-http-client-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.http-client google-http-client-bom - 1.34.3-SNAPSHOT + 1.35.0 pom Google HTTP Client Library for Java BOM @@ -63,52 +63,52 @@ com.google.http-client google-http-client - 1.34.3-SNAPSHOT + 1.35.0 com.google.http-client google-http-client-android - 1.34.3-SNAPSHOT + 1.35.0 com.google.http-client google-http-client-apache-v2 - 1.34.3-SNAPSHOT + 1.35.0 com.google.http-client google-http-client-appengine - 1.34.3-SNAPSHOT + 1.35.0 com.google.http-client google-http-client-findbugs - 1.34.3-SNAPSHOT + 1.35.0 com.google.http-client google-http-client-gson - 1.34.3-SNAPSHOT + 1.35.0 com.google.http-client google-http-client-jackson2 - 1.34.3-SNAPSHOT + 1.35.0 com.google.http-client google-http-client-protobuf - 1.34.3-SNAPSHOT + 1.35.0 com.google.http-client google-http-client-test - 1.34.3-SNAPSHOT + 1.35.0 com.google.http-client google-http-client-xml - 1.34.3-SNAPSHOT + 1.35.0 diff --git a/google-http-client-findbugs/pom.xml b/google-http-client-findbugs/pom.xml index 9a38fc319..5a7bdf120 100644 --- a/google-http-client-findbugs/pom.xml +++ b/google-http-client-findbugs/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.3-SNAPSHOT + 1.35.0 ../pom.xml google-http-client-findbugs - 1.34.3-SNAPSHOT + 1.35.0 Google APIs Client Library Findbugs custom plugin. diff --git a/google-http-client-gson/pom.xml b/google-http-client-gson/pom.xml index 3ec6f17ab..07abaf4f0 100644 --- a/google-http-client-gson/pom.xml +++ b/google-http-client-gson/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.3-SNAPSHOT + 1.35.0 ../pom.xml google-http-client-gson - 1.34.3-SNAPSHOT + 1.35.0 GSON extensions to the Google HTTP Client Library for Java. diff --git a/google-http-client-jackson2/pom.xml b/google-http-client-jackson2/pom.xml index a5ef44287..c33bc2edb 100644 --- a/google-http-client-jackson2/pom.xml +++ b/google-http-client-jackson2/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.3-SNAPSHOT + 1.35.0 ../pom.xml google-http-client-jackson2 - 1.34.3-SNAPSHOT + 1.35.0 Jackson 2 extensions to the Google HTTP Client Library for Java. diff --git a/google-http-client-protobuf/pom.xml b/google-http-client-protobuf/pom.xml index 84e737bc6..96d74fda3 100644 --- a/google-http-client-protobuf/pom.xml +++ b/google-http-client-protobuf/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.3-SNAPSHOT + 1.35.0 ../pom.xml google-http-client-protobuf - 1.34.3-SNAPSHOT + 1.35.0 Protocol Buffer extensions to the Google HTTP Client Library for Java. diff --git a/google-http-client-test/pom.xml b/google-http-client-test/pom.xml index 1c745a942..739364a99 100644 --- a/google-http-client-test/pom.xml +++ b/google-http-client-test/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.3-SNAPSHOT + 1.35.0 ../pom.xml google-http-client-test - 1.34.3-SNAPSHOT + 1.35.0 Shared classes used for testing of artifacts in the Google HTTP Client Library for Java. diff --git a/google-http-client-xml/pom.xml b/google-http-client-xml/pom.xml index 94edbad8d..aa8ce7c08 100644 --- a/google-http-client-xml/pom.xml +++ b/google-http-client-xml/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.3-SNAPSHOT + 1.35.0 ../pom.xml google-http-client-xml - 1.34.3-SNAPSHOT + 1.35.0 XML extensions to the Google HTTP Client Library for Java. diff --git a/google-http-client/pom.xml b/google-http-client/pom.xml index dc15cc548..dda3669b7 100644 --- a/google-http-client/pom.xml +++ b/google-http-client/pom.xml @@ -4,11 +4,11 @@ com.google.http-client google-http-client-parent - 1.34.3-SNAPSHOT + 1.35.0 ../pom.xml google-http-client - 1.34.3-SNAPSHOT + 1.35.0 Google HTTP Client Library for Java Google HTTP Client Library for Java. Functionality that works on all supported Java platforms, diff --git a/pom.xml b/pom.xml index bc8c4fda8..cea300fb9 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.google.http-client google-http-client-parent - 1.34.3-SNAPSHOT + 1.35.0 pom Parent for the Google HTTP Client Library for Java Google HTTP Client Library for Java @@ -553,7 +553,7 @@ - google-api-java-client/google-api-client-assembly/android-properties (make the filenames match the version here) - Internally, update the default features.json file --> - 1.34.3-SNAPSHOT + 1.35.0 1.9.71 UTF-8 3.0.2 diff --git a/samples/dailymotion-simple-cmdline-sample/pom.xml b/samples/dailymotion-simple-cmdline-sample/pom.xml index 8835f485c..78e316f4a 100644 --- a/samples/dailymotion-simple-cmdline-sample/pom.xml +++ b/samples/dailymotion-simple-cmdline-sample/pom.xml @@ -4,7 +4,7 @@ com.google.http-client google-http-client-parent - 1.34.3-SNAPSHOT + 1.35.0 ../../pom.xml dailymotion-simple-cmdline-sample diff --git a/versions.txt b/versions.txt index ab3e1feae..b58945bd6 100644 --- a/versions.txt +++ b/versions.txt @@ -1,17 +1,17 @@ # Format: # module:released-version:current-version -google-http-client:1.34.2:1.34.3-SNAPSHOT -google-http-client-bom:1.34.2:1.34.3-SNAPSHOT -google-http-client-parent:1.34.2:1.34.3-SNAPSHOT -google-http-client-android:1.34.2:1.34.3-SNAPSHOT -google-http-client-android-test:1.34.2:1.34.3-SNAPSHOT -google-http-client-apache-v2:1.34.2:1.34.3-SNAPSHOT -google-http-client-appengine:1.34.2:1.34.3-SNAPSHOT -google-http-client-assembly:1.34.2:1.34.3-SNAPSHOT -google-http-client-findbugs:1.34.2:1.34.3-SNAPSHOT -google-http-client-gson:1.34.2:1.34.3-SNAPSHOT -google-http-client-jackson2:1.34.2:1.34.3-SNAPSHOT -google-http-client-protobuf:1.34.2:1.34.3-SNAPSHOT -google-http-client-test:1.34.2:1.34.3-SNAPSHOT -google-http-client-xml:1.34.2:1.34.3-SNAPSHOT +google-http-client:1.35.0:1.35.0 +google-http-client-bom:1.35.0:1.35.0 +google-http-client-parent:1.35.0:1.35.0 +google-http-client-android:1.35.0:1.35.0 +google-http-client-android-test:1.35.0:1.35.0 +google-http-client-apache-v2:1.35.0:1.35.0 +google-http-client-appengine:1.35.0:1.35.0 +google-http-client-assembly:1.35.0:1.35.0 +google-http-client-findbugs:1.35.0:1.35.0 +google-http-client-gson:1.35.0:1.35.0 +google-http-client-jackson2:1.35.0:1.35.0 +google-http-client-protobuf:1.35.0:1.35.0 +google-http-client-test:1.35.0:1.35.0 +google-http-client-xml:1.35.0:1.35.0