aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Paul Gross <pgross@gmail.com>2016-07-07 09:18:39 +0000
committerGravatar Klaus Aehlig <aehlig@google.com>2016-07-07 11:18:50 +0000
commitc9cff95306d136a5b1b13c87d9500005e3ac4901 (patch)
tree47bf45b9ef959f66f1172ad02fd98bffc6b1bd40
parentc03c9a0e497099a733f7b9236b58e684e35ff3dc (diff)
Split and extract the SHA1 from Maven files that have extra paths in them
This fixes #1461, which leads to bad sha1 values for some maven jars. Closes #1473. -- Reviewed-on: https://github.com/bazelbuild/bazel/pull/1473 MOS_MIGRATED_REVID=126785326
-rw-r--r--src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/maven/Resolver.java9
-rw-r--r--src/tools/generate_workspace/src/test/java/com/google/devtools/build/workspace/maven/ResolverTest.java13
2 files changed, 20 insertions, 2 deletions
diff --git a/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/maven/Resolver.java b/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/maven/Resolver.java
index 12fc4f9176..fd19b03729 100644
--- a/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/maven/Resolver.java
+++ b/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/maven/Resolver.java
@@ -272,11 +272,16 @@ public class Resolver {
HttpURLConnection connection = (HttpURLConnection) new URL(sha1Url).openConnection();
connection.setInstanceFollowRedirects(true);
connection.connect();
- return CharStreams.toString(
- new InputStreamReader(connection.getInputStream(), Charset.defaultCharset())).trim();
+ return extractSha1(
+ CharStreams.toString(
+ new InputStreamReader(connection.getInputStream(), Charset.defaultCharset())));
} catch (IOException e) {
handler.handle(Event.warn("Failed to download the sha1 at " + sha1Url));
}
return null;
}
+
+ static String extractSha1(String sha1Contents) {
+ return sha1Contents.split("\\s+")[0];
+ }
}
diff --git a/src/tools/generate_workspace/src/test/java/com/google/devtools/build/workspace/maven/ResolverTest.java b/src/tools/generate_workspace/src/test/java/com/google/devtools/build/workspace/maven/ResolverTest.java
index b392175711..82046eea2a 100644
--- a/src/tools/generate_workspace/src/test/java/com/google/devtools/build/workspace/maven/ResolverTest.java
+++ b/src/tools/generate_workspace/src/test/java/com/google/devtools/build/workspace/maven/ResolverTest.java
@@ -55,4 +55,17 @@ public class ResolverTest {
Rule rule = rules.iterator().next();
assertThat(rule.name()).isEqualTo("x_y");
}
+
+ @Test
+ public void testExtractSha1() {
+ assertThat(Resolver.extractSha1("5fe28b9518e58819180a43a850fbc0dd24b7c050"))
+ .isEqualTo("5fe28b9518e58819180a43a850fbc0dd24b7c050");
+
+ assertThat(Resolver.extractSha1("5fe28b9518e58819180a43a850fbc0dd24b7c050\n"))
+ .isEqualTo("5fe28b9518e58819180a43a850fbc0dd24b7c050");
+
+ assertThat(Resolver.extractSha1(
+ "83cd2cd674a217ade95a4bb83a8a14f351f48bd0 /home/maven/repository-staging/to-ibiblio/maven2/antlr/antlr/2.7.7/antlr-2.7.7.jar"))
+ .isEqualTo("83cd2cd674a217ade95a4bb83a8a14f351f48bd0");
+ }
}