From 9effe1630d97039b3e01cd9b58ed07e75be1d63c Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 25 Feb 2013 08:40:30 -0500
Subject: [PATCH] Merge pull request #75 from thefake/master

---
 src/com/gitblit/build/Build.java |  192 +++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 172 insertions(+), 20 deletions(-)

diff --git a/src/com/gitblit/build/Build.java b/src/com/gitblit/build/Build.java
index c74c6cb..3a9ed75 100644
--- a/src/com/gitblit/build/Build.java
+++ b/src/com/gitblit/build/Build.java
@@ -69,6 +69,11 @@
 		runtime();
 		compiletime();
 		buildSettingKeys();
+		delete(
+				"bcmail-jdk16-1.46.jar",
+				"bcprov-jdk16-1.46.jar",
+				"src/bcmail-jdk16-1.46-sources.jar",
+				"src/bcprov-jdk16-1.46-sources.jar");
 	}
 
 	public static void runtime() {
@@ -101,7 +106,23 @@
 		downloadFromApache(MavenObject.UNBOUND_ID, BuildType.RUNTIME);
 		downloadFromApache(MavenObject.IVY, BuildType.RUNTIME);
 		downloadFromApache(MavenObject.JCALENDAR, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.COMMONS_COMPRESS, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.XZ, BuildType.RUNTIME);
 
+		//needed for selenium ui tests
+		downloadFromApacheToExtSelenium(MavenObject.SEL_API, BuildType.RUNTIME);
+		downloadFromApacheToExtSelenium(MavenObject.SEL_FF, BuildType.RUNTIME);
+		downloadFromApacheToExtSelenium(MavenObject.SEL_JAVA, BuildType.RUNTIME);
+		downloadFromApacheToExtSelenium(MavenObject.SEL_REMOTE, BuildType.RUNTIME);
+		downloadFromApacheToExtSelenium(MavenObject.SEL_SUPPORT, BuildType.RUNTIME);
+		downloadFromApacheToExtSelenium(MavenObject.GUAVA, BuildType.RUNTIME);
+		downloadFromApacheToExtSelenium(MavenObject.JSON, BuildType.RUNTIME);
+		downloadFromApacheToExtSelenium(MavenObject.COMMONS_EXEC, BuildType.RUNTIME);
+		downloadFromApacheToExtSelenium(MavenObject.HTTPCLIENT, BuildType.RUNTIME);
+		downloadFromApacheToExtSelenium(MavenObject.HTTPCORE, BuildType.RUNTIME);
+		downloadFromApacheToExtSelenium(MavenObject.HTTPMIME, BuildType.RUNTIME);
+		downloadFromApacheToExtSelenium(MavenObject.COMMONS_LOGGING, BuildType.RUNTIME);
+		
 		downloadFromEclipse(MavenObject.JGIT, BuildType.RUNTIME);
 		downloadFromEclipse(MavenObject.JGIT_HTTP, BuildType.RUNTIME);
 	}
@@ -138,12 +159,37 @@
 		downloadFromApache(MavenObject.UNBOUND_ID, BuildType.COMPILETIME);
 		downloadFromApache(MavenObject.IVY, BuildType.COMPILETIME);
 		downloadFromApache(MavenObject.JCALENDAR, BuildType.COMPILETIME);
+		downloadFromApache(MavenObject.COMMONS_COMPRESS, BuildType.COMPILETIME);
+		downloadFromApache(MavenObject.XZ, BuildType.COMPILETIME);
+
+		//needed for selenium ui tests
+		downloadFromApacheToExtSelenium(MavenObject.SEL_API, BuildType.COMPILETIME);
+		downloadFromApacheToExtSelenium(MavenObject.SEL_FF, BuildType.COMPILETIME);
+		downloadFromApacheToExtSelenium(MavenObject.SEL_JAVA, BuildType.COMPILETIME);
+		downloadFromApacheToExtSelenium(MavenObject.SEL_REMOTE, BuildType.COMPILETIME);
+		downloadFromApacheToExtSelenium(MavenObject.SEL_SUPPORT, BuildType.COMPILETIME);
+		downloadFromApacheToExtSelenium(MavenObject.GUAVA, BuildType.COMPILETIME);
+		downloadFromApacheToExtSelenium(MavenObject.JSON, BuildType.COMPILETIME);
+		downloadFromApacheToExtSelenium(MavenObject.COMMONS_EXEC, BuildType.COMPILETIME);
+		downloadFromApacheToExtSelenium(MavenObject.HTTPCLIENT, BuildType.COMPILETIME);
+		downloadFromApacheToExtSelenium(MavenObject.HTTPCORE, BuildType.COMPILETIME);
+		downloadFromApacheToExtSelenium(MavenObject.HTTPMIME, BuildType.COMPILETIME);
+		downloadFromApacheToExtSelenium(MavenObject.COMMONS_LOGGING, BuildType.COMPILETIME);
 		
 		downloadFromEclipse(MavenObject.JGIT, BuildType.COMPILETIME);
 		downloadFromEclipse(MavenObject.JGIT_HTTP, BuildType.COMPILETIME);
 
 		// needed for site publishing
 		downloadFromApache(MavenObject.COMMONSNET, BuildType.RUNTIME);
+	}
+	
+	private static void delete(String... files) {
+		for (String name : files) {
+			File file = new File("ext", name);
+			if (file.exists()) {
+				file.delete();
+			}
+		}
 	}
 
 	public static void federationClient() {
@@ -173,6 +219,22 @@
 
 		downloadFromEclipse(MavenObject.JGIT, BuildType.RUNTIME);
 	}
+	
+	public static void authority(DownloadListener listener) {
+		downloadListener = listener;
+		downloadFromApache(MavenObject.JCOMMANDER, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.JSCH, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.SLF4JAPI, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.SLF4LOG4J, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.LOG4J, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.BOUNCYCASTLE, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.BOUNCYCASTLE_MAIL, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.BOUNCYCASTLE_PKIX, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.JCALENDAR, BuildType.RUNTIME);
+		downloadFromApache(MavenObject.MAIL, BuildType.RUNTIME);
+
+		downloadFromEclipse(MavenObject.JGIT, BuildType.RUNTIME);
+	}
 
 	/**
 	 * Builds the Keys class based on the gitblit.properties file and inserts
@@ -183,7 +245,7 @@
 		Properties properties = new Properties();
 		FileInputStream is = null;
 		try {
-			is = new FileInputStream(Constants.PROPERTIES_FILE);
+			is = new FileInputStream(new File("distrib", Constants.PROPERTIES_FILE));
 			properties.load(is);
 		} catch (Throwable t) {
 			t.printStackTrace();
@@ -364,7 +426,7 @@
 	 *            the maven object to download.
 	 * @return
 	 */
-	private static List<File> downloadFromMaven(String mavenRoot, MavenObject mo, BuildType type) {
+	private static List<File> downloadFromMaven(String mavenRoot, MavenObject mo, BuildType type, String targetFolder) {
 		List<File> downloads = new ArrayList<File>();
 		String[] jars = { "" };
 		if (BuildType.RUNTIME.equals(type)) {
@@ -373,9 +435,9 @@
 			jars = new String[] { "-sources" };
 		}
 		for (String jar : jars) {
-			File targetFile = mo.getLocalFile("ext", jar);
+			File targetFile = mo.getLocalFile(targetFolder, jar);
 			if ("-sources".equals(jar)) {
-				File relocated = new File("ext/src", targetFile.getName());
+				File relocated = new File(targetFolder+"/src", targetFile.getName());
 				if (targetFile.exists()) {
 					// move -sources jar to ext/src folder
 					targetFile.renameTo(relocated);
@@ -468,6 +530,31 @@
 		return downloads;
 	}
 	
+	/**
+	 * Download a file from the official Apache Maven repository.
+	 * 
+	 * @param mo
+	 *            the maven object to download.
+	 * @return
+	 */
+	private static List<File> downloadFromApacheToExtSelenium(MavenObject mo,
+			BuildType type) {
+		return downloadFromMaven("http://repo1.maven.org/maven2/", mo, type,
+				"ext/seleniumhq");
+	}
+	
+	/**
+	 * Download a file from the official Apache Maven repository.
+	 * 
+	 * @param mo
+	 *            the maven object to download.
+	 * @return
+	 */
+	private static List<File> downloadFromMaven(String mavenRoot,
+			MavenObject mo, BuildType type) {
+		return downloadFromMaven(mavenRoot, mo, type, "ext");
+	}
+	
 	private static void removeObsoleteArtifacts(final MavenObject mo, final BuildType type, File folder) {
 		File [] removals = folder.listFiles(new FilenameFilter() {
 			@Override
@@ -531,17 +618,17 @@
 				"c7adc475ca40c288c93054e0f4fe58f3a98c0cb5");
 
 		public static final MavenObject JETTY = new MavenObject(
-                "Jetty", "org/eclipse/jetty/aggregate", "jetty-webapp", "7.6.7.v20120910",
+                "Jetty", "org/eclipse/jetty/aggregate", "jetty-webapp", "7.6.8.v20121106",
                 1000000, 680000, 2720000,
-                "d621fa6419aaa37edbcab8e16a5e6b05c9527e62",
-				"b505f7b493c5aa262d371d90754bded8b392ffb0",
+                "6333969b4d509c4b681e05302ca7ebccb9c3efb5",
+				"354f2752ed6544296bc0fc92e533d68a5b03045b",
 				"");
 
 		public static final MavenObject JETTY_AJP = new MavenObject(
-                "Jetty-AJP", "org/eclipse/jetty", "jetty-ajp", "7.6.7.v20120910",
+                "Jetty-AJP", "org/eclipse/jetty", "jetty-ajp", "7.6.8.v20121106",
                 32000, 22000, 97000,
-                "578d502bc78ed7aa1c0b6afef4cd59477041ec37",
-                "6cfed9a1354f720fcde12ec15d5e1ae9cf97000c",
+                "95bd1c89bb2afd4eeaabc6f4b0183a9f26a522d7",
+                "e1fc2539202ebb240a87a080bc44a24c93d7318b",
                 "");
 		
 		public static final MavenObject SERVLET = new MavenObject(
@@ -613,10 +700,10 @@
                 "");
 
 		public static final MavenObject MARKDOWNPAPERS = new MavenObject(
-                "MarkdownPapers", "org/tautua/markdownpapers", "markdownpapers-core", "1.2.7",
-                87000, 58000, 268000,
-				"84ac5636ac7ddfad9d2ee8456a0f4f69709b6ee0",
-				"453cf00a289c46a0e4f6f019a28d2a2605f652c8",
+                "MarkdownPapers", "org/tautua/markdownpapers", "markdownpapers-core", "1.3.2",
+                92000, 60000, 268000,
+				"da22db6660e90b9a677bbdfc2c511c619ea5c249",
+				"6a7228280a229144afe6c01351a8f44675d8524d",
 				"");
 
 		public static final MavenObject BOUNCYCASTLE = new MavenObject(
@@ -641,17 +728,17 @@
 				"");
 
 		public static final MavenObject JGIT = new MavenObject(
-                "JGit", "org/eclipse/jgit", "org.eclipse.jgit", "2.1.0.201209190230-r",
+                "JGit", "org/eclipse/jgit", "org.eclipse.jgit", "2.2.0.201212191850-r",
                 1600000, 1565000, 3460000,
-				"5e7296d21645a479a1054fc96f3ec8469cede137",
-				"5f492aaeae1beda2a31d1efa182f5d34e76d7b77",
+				"97d0761b9dd618d1f9f6c16c35c3ddf045ba536c",
+				"08dcf9546f4d61e1b8a50df5da5513006023b64b",
 				"");
 
 		public static final MavenObject JGIT_HTTP = new MavenObject(
-                "JGit", "org/eclipse/jgit", "org.eclipse.jgit.http.server", "2.1.0.201209190230-r",
+                "JGit", "org/eclipse/jgit", "org.eclipse.jgit.http.server", "2.2.0.201212191850-r",
                 68000, 62000, 110000,
-				"0bd9e5801c246d6f8ad9268d18c45ca9915f9a50",
-				"210c434c38ddcf2126af250018d5845ea41ff502",
+				"8ad4fc4fb9529d645249bb46ad7e54d98436cb65",
+				"3385cf294957d1d34c1270b468853aea347b36ca",
 				"");
 
 		public static final MavenObject JSCH = new MavenObject(
@@ -749,6 +836,71 @@
                 127000, 0, 0,
                 "323a672aeacb5f5f4461be3b7f7d9d3e4bda80d4",
 				null, "");
+
+		public static final MavenObject COMMONS_COMPRESS = new MavenObject(
+                "commons-compress", "org/apache/commons", "commons-compress", "1.4.1",
+                242000, 265000, 0,
+                "b02e84a993d88568417536240e970c4b809126fd",
+				"277d39267403965a7a192474794a29bac6760a25", "");
+
+		public static final MavenObject XZ = new MavenObject(
+                "xz", "org/tukaani", "xz", "1.0",
+                95000, 120000, 0,
+                "ecff5cb8b1189514c9d1d8d68eb77ac372e000c9",
+				"f95e32a5d2dd8da643c4419814415b9704312993", "");
+
+		public static final MavenObject SEL_JAVA = new MavenObject(
+				"selenium-java", "org/seleniumhq/selenium", "selenium-java",
+				"2.28.0", 984098, 0, 0,
+				"7606286989ac9cb942cc206d975ffe187c18d605", "4ede08d293dc153989a337cd0d31d26421433af5", "");
+
+		public static final MavenObject SEL_API = new MavenObject(
+				"selenium-api", "org/seleniumhq/selenium", "selenium-api",
+				"2.28.0", 984098, 0, 0,
+				"c4044c40fff65cd25135a5f443638a2b1ccaeac5", "35fc6ec0804ae32b16a56627e69bdcb69995c515", "");
+
+		public static final MavenObject SEL_REMOTE = new MavenObject(
+				"selenium-remote-driver", "org/seleniumhq/selenium",
+				"selenium-remote-driver", "2.28.0", 984098, 0, 0,
+				"c67f97cd94e02afec92b0ac881844febb4fc90be", "51a9c30de3c8c203cb7a474a10842443005a5fb4", "");
+		public static final MavenObject SEL_SUPPORT = new MavenObject(
+				"selenium-support", "org/seleniumhq/selenium",
+				"selenium-support", "2.28.0", 984098, 0, 0,
+				"caf68d6310425f583bc592c08e43066b35eb94f6", "ce3831a601f5f50fda2f4604decde409b6c735a7", "");
+		public static final MavenObject SEL_FF = new MavenObject(
+				"selenium-firefox-driver", "org/seleniumhq/selenium",
+				"selenium-firefox-driver", "2.28.0", 984098, 0, 0,
+				"a7c34e45dba39e65467b900aa67611aaa039692d", "aa8cd5fb49ca75a53d5b143406ea3d81ab3eddfd", "");
+
+		public static final MavenObject GUAVA = new MavenObject("guava",
+				"com/google/guava", "guava", "12.0", 984098, 0, 0,
+				"5bc66dd95b79db1e437eb08adba124a3e4088dc0", "f8b98e61865bed3c39b978ee3bf5c7fb990c4032", "");
+
+		public static final MavenObject JSON = new MavenObject("json",
+				"org/json", "json", "20080701", 984098, 0, 0,
+				"d652f102185530c93b66158b1859f35d45687258", "71bd54221e701df9d112bf9ba2918e13b0671f3a", "");
+
+		public static final MavenObject COMMONS_EXEC = new MavenObject(
+				"commons-exec", "org/apache/commons", "commons-exec", "1.1",
+				984098, 0, 0, "07dfdf16fade726000564386825ed6d911a44ba1", "f60bea898e18b308099862e8634d589b06a8b0be",
+				"");
+
+		public static final MavenObject HTTPCORE = new MavenObject("httpcore",
+				"org/apache/httpcomponents", "httpcore", "4.2.1", 984098, 0, 0,
+				"2d503272bf0a8b5f92d64db78b4ba9abbaccc6fd", "3f6caf5334fa83607b82e2f32dd128a9d8a0ea5e", "");
+		
+		public static final MavenObject HTTPMIME = new MavenObject("httpmime",
+				"org/apache/httpcomponents", "httpmime", "4.2.1", 984098, 0, 0,
+				"7c772bace9aa31a728c39a88c6ff66a7cd177e89", "", "4e453843ae47f1c2d70e2eb2c13c037de4b614c4");
+		
+		public static final MavenObject HTTPCLIENT = new MavenObject(
+				"httpclient", "org/apache/httpcomponents", "httpclient",
+				"4.2.1", 984098, 0, 0,
+				"b69bd03af60bf487b3ae1209a644ecac587bf6fc", "6b27312b9c28b59aaeb6c21f3490045690c703d3", "");
+		public static final MavenObject COMMONS_LOGGING = new MavenObject(
+				"commons-logging", "commons-logging", "commons-logging",
+				"1.1.1", 984098, 0, 0,
+				"5043bfebc3db072ed80fbd362e7caf00e885d8ae", "f3f156cbff0e0fb0d64bfce31a352cce4a33bc19", "");
 		
 		public final String name;
 		public final String group;

--
Gitblit v1.9.1