From d59cd50b036466f4aae84489c4b0cc920a6842d7 Mon Sep 17 00:00:00 2001 From: Ludovic Champenois Date: Thu, 14 Sep 2017 17:00:37 -0700 Subject: [PATCH] Stop relying on repackaged classes. Modify the way the artifact is pushed to Maven repository. --- java/pom.xml | 73 ++++++++++++++++++- .../oauth/OauthRawGcsService.java | 4 +- .../tools/cloudstorage/GcsServiceTest.java | 5 +- .../cloudstorage/oauth/URLFetchUtilsTest.java | 6 +- 4 files changed, 78 insertions(+), 10 deletions(-) diff --git a/java/pom.xml b/java/pom.xml index 935435e..61e7d25 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -22,7 +22,32 @@ 3.1.0 - + + + sonatype-google-releases + Sonatype Google Releases + https://oss.sonatype.org/service/local/repositories/google-releases/content + + + gae-staging + https://oss.sonatype.org/content/repositories/comgoogleappengine-1394/ + + + + + + sonatype-nexus-staging + Sonatype Nexus Staging + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + sonatype-nexus-snapshots + Sonatype Nexus Snapshots + https://oss.sonatype.org/content/repositories/google-snapshots/ + + + + org.apache.maven.plugins @@ -33,7 +58,19 @@ 1.7 - + + org.apache.maven.plugins + maven-release-plugin + 2.5.3 + + forked-path + false + -Psonatype-oss-release + false + true + + + org.apache.maven.plugins maven-jar-plugin 2.6 @@ -58,7 +95,7 @@ com.google.guava guava - 19.0-rc1 + 19.0 joda-time @@ -68,7 +105,7 @@ com.google.apis google-api-services-storage - v1-rev68-1.21.0 + v1-rev108-1.22.0 com.google.guava @@ -118,4 +155,32 @@ test + + + + sonatype-oss-release + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.6 + + + sign-artifacts + verify + + sign + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + + + + diff --git a/java/src/main/java/com/google/appengine/tools/cloudstorage/oauth/OauthRawGcsService.java b/java/src/main/java/com/google/appengine/tools/cloudstorage/oauth/OauthRawGcsService.java index ba0126c..27ee036 100644 --- a/java/src/main/java/com/google/appengine/tools/cloudstorage/oauth/OauthRawGcsService.java +++ b/java/src/main/java/com/google/appengine/tools/cloudstorage/oauth/OauthRawGcsService.java @@ -35,8 +35,6 @@ import com.google.appengine.api.urlfetch.HTTPResponse; import com.google.appengine.api.utils.FutureWrapper; import com.google.appengine.api.utils.SystemProperty; -import com.google.appengine.repackaged.com.google.common.escape.Escaper; -import com.google.appengine.repackaged.com.google.common.xml.XmlEscapers; import com.google.appengine.tools.cloudstorage.BadRangeException; import com.google.appengine.tools.cloudstorage.GcsFileMetadata; import com.google.appengine.tools.cloudstorage.GcsFileOptions; @@ -53,7 +51,9 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; +import com.google.common.escape.Escaper; import com.google.common.io.BaseEncoding; +import com.google.common.xml.XmlEscapers; import java.io.FileNotFoundException; import java.io.IOException; diff --git a/java/src/test/java/com/google/appengine/tools/cloudstorage/GcsServiceTest.java b/java/src/test/java/com/google/appengine/tools/cloudstorage/GcsServiceTest.java index 6412497..60757b6 100644 --- a/java/src/test/java/com/google/appengine/tools/cloudstorage/GcsServiceTest.java +++ b/java/src/test/java/com/google/appengine/tools/cloudstorage/GcsServiceTest.java @@ -47,6 +47,8 @@ import java.util.NavigableMap; import java.util.Random; import java.util.TreeMap; +import java.util.logging.Level; +import java.util.logging.Logger; /** * End to end test to test the basics of the GcsService. This class uses the in-process @@ -348,7 +350,7 @@ public void testBufferedReads() throws IOException { } @Test - public void testReadMetadata() throws IOException { + public void testReadMetadata() throws IOException, InterruptedException { Date start = new Date(System.currentTimeMillis() - 1000); int length = 1 * 1024 * 1024 + 1; GcsFilename filename = new GcsFilename("testReadMetadataBucket", "testReadMetadataFile"); @@ -359,6 +361,7 @@ public void testReadMetadata() throws IOException { assertEquals(content.length, metadata.getLength()); assertEquals(options, metadata.getOptions()); assertNotNull(metadata.getLastModified()); + Thread.sleep(10); //10 millisecond at least, or Date comparison might break. assertTrue(metadata.getLastModified().before(new Date())); assertTrue(metadata.getLastModified().after(start)); } diff --git a/java/src/test/java/com/google/appengine/tools/cloudstorage/oauth/URLFetchUtilsTest.java b/java/src/test/java/com/google/appengine/tools/cloudstorage/oauth/URLFetchUtilsTest.java index 4a384cb..808c009 100644 --- a/java/src/test/java/com/google/appengine/tools/cloudstorage/oauth/URLFetchUtilsTest.java +++ b/java/src/test/java/com/google/appengine/tools/cloudstorage/oauth/URLFetchUtilsTest.java @@ -65,7 +65,7 @@ public void testDescribeRequestAndResponseForApiClient() throws Exception { NetHttpTransport transport = new NetHttpTransport(); Storage storage = new Storage.Builder(transport, new JacksonFactory(), initializer) .setApplicationName("bla").build(); - HttpRequest request = storage.objects().delete("b", "o").buildHttpRequest(); + HttpRequest request = storage.objects().delete("bucket", "object").buildHttpRequest(); request.getHeaders().clear(); request.getHeaders().put("k1", "v1"); request.getHeaders().put("k2", "v2"); @@ -75,8 +75,8 @@ public void testDescribeRequestAndResponseForApiClient() throws Exception { } catch (HttpResponseException ex) { exception = ex; } - String expected = "Request: DELETE " + Storage.DEFAULT_BASE_URL + "b/b/o/o\n" - + "k1: v1\nk2: v2\n\nno content\n\nResponse: 400 with 0 bytes of content\n"; + String expected = "Request: DELETE " + Storage.DEFAULT_BASE_URL + "b/bucket/o/object\n" + + "k1: v1\nk2: v2\n\nno content\n\nResponse: 40"; String result = URLFetchUtils.describeRequestAndResponse(new HTTPRequestInfo(request), exception); assertTrue(expected + "\nis not a prefix of:\n" + result, result.startsWith(expected));