From 86bea9e0016b2890db8ba83049dd4e89653a0a5e Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 16 Mar 2012 17:29:39 -0400
Subject: [PATCH] Ensure that the welcome message is interpreted as UTF-8 (issue 74)

---
 src/com/gitblit/build/Build.java |  113 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 85 insertions(+), 28 deletions(-)

diff --git a/src/com/gitblit/build/Build.java b/src/com/gitblit/build/Build.java
index c4f373e..9b855db 100644
--- a/src/com/gitblit/build/Build.java
+++ b/src/com/gitblit/build/Build.java
@@ -49,6 +49,10 @@
  */
 public class Build {
 
+	public interface DownloadListener {
+		public void downloading(String name);
+	}
+
 	/**
 	 * BuildType enumeration representing compile-time or runtime. This is used
 	 * to download dependencies either for Gitblit GO runtime or for setting up
@@ -57,6 +61,8 @@
 	public static enum BuildType {
 		RUNTIME, COMPILETIME;
 	}
+
+	private static DownloadListener downloadListener;
 
 	public static void main(String... args) {
 		runtime();
@@ -67,6 +73,7 @@
 	public static void runtime() {
 		downloadFromApache(MavenObject.JCOMMANDER, BuildType.RUNTIME);
 		downloadFromApache(MavenObject.JETTY, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.JETTY_AJP, BuildType.RUNTIME);
 		downloadFromApache(MavenObject.SERVLET, BuildType.RUNTIME);
 		downloadFromApache(MavenObject.SLF4JAPI, BuildType.RUNTIME);
 		downloadFromApache(MavenObject.SLF4LOG4J, BuildType.RUNTIME);
@@ -83,6 +90,10 @@
 		downloadFromApache(MavenObject.JDOM, BuildType.RUNTIME);
 		downloadFromApache(MavenObject.GSON, BuildType.RUNTIME);
 		downloadFromApache(MavenObject.MAIL, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.GROOVY, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.LUCENE, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.LUCENE_HIGHLIGHTER, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.LUCENE_MEMORY, BuildType.RUNTIME);
 
 		downloadFromEclipse(MavenObject.JGIT, BuildType.RUNTIME);
 		downloadFromEclipse(MavenObject.JGIT_HTTP, BuildType.RUNTIME);
@@ -92,6 +103,7 @@
 		downloadFromApache(MavenObject.JUNIT, BuildType.RUNTIME);
 		downloadFromApache(MavenObject.JCOMMANDER, BuildType.COMPILETIME);
 		downloadFromApache(MavenObject.JETTY, BuildType.COMPILETIME);
+		downloadFromApache(MavenObject.JETTY_AJP, BuildType.COMPILETIME);
 		downloadFromApache(MavenObject.SERVLET, BuildType.COMPILETIME);
 		downloadFromApache(MavenObject.SLF4JAPI, BuildType.COMPILETIME);
 		downloadFromApache(MavenObject.SLF4LOG4J, BuildType.COMPILETIME);
@@ -108,14 +120,18 @@
 		downloadFromApache(MavenObject.JDOM, BuildType.COMPILETIME);
 		downloadFromApache(MavenObject.GSON, BuildType.COMPILETIME);
 		downloadFromApache(MavenObject.MAIL, BuildType.COMPILETIME);
-
+		downloadFromApache(MavenObject.GROOVY, BuildType.COMPILETIME);
+		downloadFromApache(MavenObject.LUCENE, BuildType.COMPILETIME);
+		downloadFromApache(MavenObject.LUCENE_HIGHLIGHTER, BuildType.COMPILETIME);
+		downloadFromApache(MavenObject.LUCENE_MEMORY, BuildType.COMPILETIME);
+		
 		downloadFromEclipse(MavenObject.JGIT, BuildType.COMPILETIME);
 		downloadFromEclipse(MavenObject.JGIT_HTTP, BuildType.COMPILETIME);
 
 		// needed for site publishing
 		downloadFromApache(MavenObject.COMMONSNET, BuildType.RUNTIME);
 	}
-	
+
 	public static void federationClient() {
 		downloadFromApache(MavenObject.JCOMMANDER, BuildType.RUNTIME);
 		downloadFromApache(MavenObject.SERVLET, BuildType.RUNTIME);
@@ -125,7 +141,17 @@
 		downloadFromApache(MavenObject.LOG4J, BuildType.RUNTIME);
 		downloadFromApache(MavenObject.GSON, BuildType.RUNTIME);
 		downloadFromApache(MavenObject.JSCH, BuildType.RUNTIME);
-		
+
+		downloadFromEclipse(MavenObject.JGIT, BuildType.RUNTIME);
+	}
+
+	public static void manager(DownloadListener listener) {
+		downloadListener = listener;
+		downloadFromApache(MavenObject.GSON, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.ROME, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.JDOM, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.JSCH, BuildType.RUNTIME);
+
 		downloadFromEclipse(MavenObject.JGIT, BuildType.RUNTIME);
 	}
 
@@ -252,7 +278,7 @@
 		if (BuildType.RUNTIME.equals(type)) {
 			jars = new String[] { "" };
 		} else if (BuildType.COMPILETIME.equals(type)) {
-			jars = new String[] { "-sources", "-javadoc" };
+			jars = new String[] { "-sources" };
 		}
 		for (String jar : jars) {
 			File targetFile = mo.getLocalFile("ext", jar);
@@ -272,6 +298,9 @@
 				if (!success) {
 					throw new RuntimeException("Failed to create destination folder structure!");
 				}
+			}
+			if (downloadListener != null) {
+				downloadListener.downloading(mo.name + "...");
 			}
 			ByteArrayOutputStream buff = new ByteArrayOutputStream();
 			try {
@@ -293,10 +322,17 @@
 					if (progress - lastProgress >= 0.1f) {
 						lastProgress = progress;
 						updateDownload(progress, targetFile);
+						if (downloadListener != null) {
+							int percent = Math.min(100, Math.round(100 * progress));
+							downloadListener.downloading(mo.name + " (" + percent + "%)");
+						}
 					}
 				}
 				in.close();
 				updateDownload(1f, targetFile);
+				if (downloadListener != null) {
+					downloadListener.downloading(mo.name + " (100%)");
+				}
 
 			} catch (IOException e) {
 				throw new RuntimeException("Error downloading " + mavenURL + " to " + targetFile, e);
@@ -361,6 +397,10 @@
 				"bc75f05dd4f7fa848720ac669b8b438ee4a6b146",
 				"dcd42f672e734521d1a6ccc0c2f9ecded1a1a281");
 
+		public static final MavenObject JETTY_AJP = new MavenObject("Jetty-AJP",
+				"org/eclipse/jetty", "jetty-ajp", "7.4.3.v20110701", 32000, 22000,
+				97000, "ddeb533bcf29e9b95555a9c0f34c1de3ab14c430", "bc4798286d705ea972643b3a0b31f46a0c53f605", "");
+
 		public static final MavenObject SERVLET = new MavenObject("Servlet 3.0", "org/glassfish",
 				"javax.servlet", "3.0.1", 84000, 211000, 0,
 				"58f17c941cd0607bb5edcbcafc491d02265ac9a1",
@@ -384,22 +424,22 @@
 				"78aa1cbf0fa3b259abdc7d87f9f6788d785aac2a");
 
 		public static final MavenObject WICKET = new MavenObject("Apache Wicket",
-				"org/apache/wicket", "wicket", "1.4.18", 1960000, 1906000, 6818000,
-				"921a50dbbebdf034f0042f2294760e7535cb7041",
-				"b432d60b32449fdfb216ac23af8a3ed3e0a3368c",
-				"435e70f9de94975ee30c3f1b1aa1401aea9b4e70");
+				"org/apache/wicket", "wicket", "1.4.19", 1960000, 1906000, 6818000,
+				"7e6af5cadaf6c9b7e068e45cf2ffbea3cc91592f",
+				"5e91cf00efaf2fedeef98e13464a4230e5966588",
+				"5dde8afbe5eb2314a704cb74938c1b651b2cf190");
 
 		public static final MavenObject WICKET_EXT = new MavenObject("Apache Wicket Extensions",
-				"org/apache/wicket", "wicket-extensions", "1.4.18", 1180000, 1118000, 1458000,
-				"f568bd2ad382db935ab06fdccfdead3f10ed1f15",
-				"c00a4979d7647d3367c6e4897a2fd7d0f78a73cc",
-				"5e76ab69f6307e3ecb2638779008b3adf5cbf9aa");
+				"org/apache/wicket", "wicket-extensions", "1.4.19", 1180000, 1118000, 1458000,
+				"c7a1d343e216cdc2e692b6fabc6eaeca9aa24ca4",
+				"6c2e2ad89b69fc9977c24467e3aa0d7f6c75a579",
+				"3a3082fb106173f7ca069a6f5969cc8d347d9f44");
 
 		public static final MavenObject WICKET_AUTH_ROLES = new MavenObject(
-				"Apache Wicket Auth Roles", "org/apache/wicket", "wicket-auth-roles", "1.4.18",
-				44000, 45000, 166000, "44cf0647e1adca377cc4258cd7fac33aa1dd11ab",
-				"2a7e9c6a9687136c2527afa2e53148cfa82696c6",
-				"6e280995097e84b72b283132b8fe6796595caa38");
+				"Apache Wicket Auth Roles", "org/apache/wicket", "wicket-auth-roles", "1.4.19",
+				44000, 45000, 166000, "70c26ac4cd167bf7323372d2d49eb2a9beff73b9",
+				"ca219726c1768a9483e4a0bb6550881babfe46d6",
+				"17753908f8a9e997c464a69765b4682126fa1fd6");
 
 		public static final MavenObject WICKET_GOOGLE_CHARTS = new MavenObject(
 				"Apache Wicket Google Charts Add-On", "org/wicketstuff", "googlecharts", "1.4.18",
@@ -411,10 +451,10 @@
 				237000, 0, 0, "c94f54227b08100974c36170dcb53329435fe5ad", "", "");
 
 		public static final MavenObject MARKDOWNPAPERS = new MavenObject("MarkdownPapers",
-				"org/tautua/markdownpapers", "markdownpapers-core", "1.1.1", 87000, 58000, 278000,
-				"07046e6d8f33866398dfc3955698925df9ff7719",
-				"178b49c34dbab6301ce848b67e7957bcf9b94d6a",
-				"160d370f6cb119a1b46a00f37cc28d23fd27daed");
+				"org/tautua/markdownpapers", "markdownpapers-core", "1.2.7", 87000, 58000, 268000,
+				"84ac5636ac7ddfad9d2ee8456a0f4f69709b6ee0",
+				"453cf00a289c46a0e4f6f019a28d2a2605f652c8",
+				"");
 
 		public static final MavenObject BOUNCYCASTLE = new MavenObject("BouncyCastle",
 				"org/bouncycastle", "bcprov-jdk16", "1.46", 1900000, 1400000, 4670000,
@@ -429,16 +469,16 @@
 				"3b7c5f3938f202311bdca0bf7ed46bc0118af081");
 
 		public static final MavenObject JGIT = new MavenObject("JGit", "org/eclipse/jgit",
-				"org.eclipse.jgit", "1.1.0.201109151100-r", 1318000, 1354000, 3300000,
-				"bacc988346c839f79513d7bc7f5c88b22ea6e7a5",
-				"90abf988d98ce0d4b162f94f63fc99c435eba6b4",
-				"a46540a2857a0fdbf43debf3383295a897946c79");
+				"org.eclipse.jgit", "1.3.0.201202151440-r", 1532000, 1565000, 3460000,
+				"a00dc524b1d1db1abbf95407aa3e6009c3d2c157",
+				"68864beaa0856f539deafecf9e1fe105a7e996c3",
+				"");
 
 		public static final MavenObject JGIT_HTTP = new MavenObject("JGit", "org/eclipse/jgit",
-				"org.eclipse.jgit.http.server", "1.1.0.201109151100-r", 68000, 62000, 110000,
-				"3070161a89756aac2dfc2e26d89faf31fe894ab4",
-				"9cecb8e4351e616688cafbcca906f542d9b1f525",
-				"20aaab759acd8eb6cb6acbb1b2934a689fb3774d");
+				"org.eclipse.jgit.http.server", "1.3.0.201202151440-r", 68000, 62000, 110000,
+				"099468bdd59d6f4919d54d5b66022d3ec8077b29",
+				"721ef2b857a7e92989a8f1ee688e361510303bb1",
+				"");
 
 		public static final MavenObject JSCH = new MavenObject("JSch", "com/jcraft", "jsch",
 				"0.1.44-1", 214000, 211000, 413000, "2e9ae08de5a71bd0e0d3ba2558598181bfa71d4e",
@@ -469,6 +509,23 @@
 				"1.4.3", 462000, 642000, 0, "8154bf8d666e6db154c548dc31a8d512c273f5ee",
 				"5875e2729de83a4e46391f8f979ec8bd03810c10", null);
 
+		public static final MavenObject GROOVY = new MavenObject("groovy", "org/codehaus/groovy", "groovy-all",
+				"1.8.5", 6143000, 2290000, 4608000, "3be3914c49ca7d8e8afb29a7772a74c30a1f1b28",
+				"1435cc8c90e3a91e5fee7bb53e83aad96e93aeb7", "5a214b52286523f9e2a4b5fed526506c763fa6f1");
+
+		public static final MavenObject LUCENE = new MavenObject("lucene", "org/apache/lucene", "lucene-core",
+				"3.5.0", 1470000, 1347000, 3608000, "90ff0731fafb05c01fee4f2247140d56e9c30a3b",
+				"0757113199f9c8c18c678c96d61c2c4160b9baa6", "19f8e80e5e7f6ec88a41d4f63495994692e31bf1");
+
+		public static final MavenObject LUCENE_HIGHLIGHTER = new MavenObject("lucene highlighter", "org/apache/lucene", "lucene-highlighter",
+				"3.5.0", 88000, 82334, 0, "9b38acfa185337dac65e350073a26fe2416f2b0e",
+				"200a9b9857e589b9f5bc9f65ecf5daa37e19527d", "");
+
+		public static final MavenObject LUCENE_MEMORY = new MavenObject("lucene memory", "org/apache/lucene", "lucene-memory",
+				"3.5.0", 30000, 23000, 0, "7908e954e8c1b4b2463aa712b34fa4a5612e241d",
+				"69b19b38d78cc3b27ea5542a14f0ebbb1625ffdd", "");
+
+		
 		public final String name;
 		public final String group;
 		public final String artifact;

--
Gitblit v1.9.1