From f905891a4deabdc474cac7b46c2f5f135fe8e1b7 Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Thu, 15 Sep 2016 12:18:55 +0100 Subject: fix checksum check for downloaded jars by ignoring case --- nailgun_launcher/Stage0Lib.java | 2 +- stage1/Stage1Lib.scala | 6 +++--- test/simple/build/build.scala | 4 ++++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/nailgun_launcher/Stage0Lib.java b/nailgun_launcher/Stage0Lib.java index d6df1c6..bc6679e 100644 --- a/nailgun_launcher/Stage0Lib.java +++ b/nailgun_launcher/Stage0Lib.java @@ -178,7 +178,7 @@ public class Stage0Lib{ public static String sha1(byte[] bytes) throws Throwable { final MessageDigest sha1 = MessageDigest.getInstance("SHA1"); sha1.update(bytes, 0, bytes.length); - return (new HexBinaryAdapter()).marshal(sha1.digest()); + return (new HexBinaryAdapter()).marshal(sha1.digest()).toUpperCase(); } public static String join(String separator, String[] parts){ diff --git a/stage1/Stage1Lib.scala b/stage1/Stage1Lib.scala index 43c4f84..a1688c1 100644 --- a/stage1/Stage1Lib.scala +++ b/stage1/Stage1Lib.scala @@ -45,8 +45,8 @@ class Stage1Lib( val logger: Logger ) extends BaseLib{ val hex = new java.math.BigInteger(1, array).toString(16) ("0" * (padTo-hex.size)) ++ hex } - def md5( bytes: Array[Byte] ): String = array2hex(32, MessageDigest.getInstance("MD5").digest(bytes)) - def sha1( bytes: Array[Byte] ): String = array2hex(40, MessageDigest.getInstance("SHA-1").digest(bytes)) + def md5( bytes: Array[Byte] ): String = array2hex(32, MessageDigest.getInstance("MD5").digest(bytes)).toUpperCase + def sha1( bytes: Array[Byte] ): String = array2hex(40, MessageDigest.getInstance("SHA-1").digest(bytes)).toUpperCase def red(string: String) = scala.Console.RED++string++scala.Console.RESET def blue(string: String) = scala.Console.BLUE++string++scala.Console.RESET @@ -76,7 +76,7 @@ class Stage1Lib( val logger: Logger ) extends BaseLib{ } sha1.foreach{ hash => - val expected = hash + val expected = hash.toUpperCase val actual = this.sha1(Files.readAllBytes(incomplete)) assert( expected == actual, s"$expected == $actual" ) logger.resolver( green("verified") ++ " checksum for " ++ target.string) diff --git a/test/simple/build/build.scala b/test/simple/build/build.scala index 66ee392..b75d262 100644 --- a/test/simple/build/build.scala +++ b/test/simple/build/build.scala @@ -25,6 +25,10 @@ class Build(val context: cbt.Context) extends BaseBuild{ // currently fails, let's see if because of a bug // io.spray:spray-http:1.3.3 ) ++ + Resolver( new java.net.URL("http://maven.spikemark.net/roundeights") ).bind( + // Check that lower case checksums work + ScalaDependency("com.roundeights","hasher","1.2.0") + ) ++ Resolver( mavenCentral, bintray("tpolecat"), -- cgit v1.2.3