From 0e44acbb2fec928a1606dc60f427a148fff405c9 Mon Sep 17 00:00:00 2001
From: Mohamed Ragab <moragab@gmail.com>
Date: Wed, 02 May 2012 11:15:01 -0400
Subject: [PATCH] Added a script to facilitate setting the proxy host and port and no proxy hosts, and then it concatenates all the java system properties for setting the java proxy configurations and puts the resulting string in an environment variable JAVA_PROXY_CONFIG, modified the scirpts gitblit, gitblit-ubuntu, and gitblit-centos to source the java-proxy-config.sh script and then include the resulting java proxy configuration in the java command
---
src/com/gitblit/build/Build.java | 302 ++++++++++++++++++++++++++++++++++----------------
1 files changed, 205 insertions(+), 97 deletions(-)
diff --git a/src/com/gitblit/build/Build.java b/src/com/gitblit/build/Build.java
index 4389eac..e75c4c4 100644
--- a/src/com/gitblit/build/Build.java
+++ b/src/com/gitblit/build/Build.java
@@ -27,9 +27,7 @@
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.Properties;
import com.gitblit.Constants;
@@ -73,6 +71,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);
@@ -89,6 +88,12 @@
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);
+ downloadFromApache(MavenObject.UNBOUND_ID, BuildType.RUNTIME);
+ downloadFromApache(MavenObject.IVY, BuildType.RUNTIME);
downloadFromEclipse(MavenObject.JGIT, BuildType.RUNTIME);
downloadFromEclipse(MavenObject.JGIT_HTTP, BuildType.RUNTIME);
@@ -98,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);
@@ -114,7 +120,13 @@
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);
+ downloadFromApache(MavenObject.UNBOUND_ID, BuildType.COMPILETIME);
+ downloadFromApache(MavenObject.IVY, BuildType.COMPILETIME);
+
downloadFromEclipse(MavenObject.JGIT, BuildType.COMPILETIME);
downloadFromEclipse(MavenObject.JGIT_HTTP, BuildType.COMPILETIME);
@@ -170,66 +182,139 @@
List<String> keys = new ArrayList<String>(properties.stringPropertyNames());
Collections.sort(keys);
- // Determine static key group classes
- Map<String, List<String>> staticClasses = new HashMap<String, List<String>>();
- staticClasses.put("", new ArrayList<String>());
+ KeyGroup root = new KeyGroup();
for (String key : keys) {
- String clazz = "";
- String field = key;
- if (key.indexOf('.') > -1) {
- clazz = key.substring(0, key.indexOf('.'));
- field = key.substring(key.indexOf('.') + 1);
- }
- if (!staticClasses.containsKey(clazz)) {
- staticClasses.put(clazz, new ArrayList<String>());
- }
- staticClasses.get(clazz).add(field);
+ root.addKey(key);
}
-
- // Assemble Keys source file
- StringBuilder sb = new StringBuilder();
- sb.append("package com.gitblit;\n");
- sb.append('\n');
- sb.append("/*\n");
- sb.append(" * This class is auto-generated from the properties file.\n");
- sb.append(" * Do not version control!\n");
- sb.append(" */\n");
- sb.append("public final class Keys {\n");
- sb.append('\n');
- List<String> classSet = new ArrayList<String>(staticClasses.keySet());
- Collections.sort(classSet);
- for (String clazz : classSet) {
- List<String> keySet = staticClasses.get(clazz);
- if (clazz.equals("")) {
- // root keys
- for (String key : keySet) {
- sb.append(MessageFormat.format(
- "\tpublic static final String {0} = \"{1}\";\n\n",
- key.replace('.', '_'), key));
- }
- } else {
- // class keys
- sb.append(MessageFormat.format("\tpublic static final class {0} '{'\n\n", clazz));
- sb.append(MessageFormat.format(
- "\t\tpublic static final String _ROOT = \"{0}\";\n\n", clazz));
- for (String key : keySet) {
- sb.append(MessageFormat.format(
- "\t\tpublic static final String {0} = \"{1}\";\n\n",
- key.replace('.', '_'), clazz + "." + key));
- }
- sb.append("\t}\n\n");
- }
- }
- sb.append('}');
// Save Keys class definition
try {
File file = new File("src/com/gitblit/Keys.java");
FileWriter fw = new FileWriter(file, false);
- fw.write(sb.toString());
+ fw.write(root.generateClass("com.gitblit", "Keys"));
fw.close();
} catch (Throwable t) {
t.printStackTrace();
+ }
+ }
+
+ private static class KeyGroup {
+ final KeyGroup parent;
+ final String namespace;
+
+ String name;
+ List<KeyGroup> children;
+ List<String> fields;
+
+ KeyGroup() {
+ this.parent = null;
+ this.namespace = "";
+ this.name = "";
+ }
+
+ KeyGroup(String namespace, KeyGroup parent) {
+ this.parent = parent;
+ this.namespace = namespace;
+ if (parent.children == null) {
+ parent.children = new ArrayList<KeyGroup>();
+ }
+ parent.children.add(this);
+ }
+
+ void addKey(String key) {
+ String keyspace = "";
+ String field = key;
+ if (key.indexOf('.') > -1) {
+ keyspace = key.substring(0, key.lastIndexOf('.'));
+ field = key.substring(key.lastIndexOf('.') + 1);
+ KeyGroup group = addKeyGroup(keyspace);
+ group.addKey(field);
+ } else {
+ if (fields == null) {
+ fields = new ArrayList<String>();
+ }
+ fields.add(key);
+ }
+ }
+
+ KeyGroup addKeyGroup(String keyspace) {
+ KeyGroup parent = this;
+ KeyGroup node = null;
+ String [] space = keyspace.split("\\.");
+ for (int i = 0; i < space.length; i++) {
+ StringBuilder namespace = new StringBuilder();
+ for (int j = 0; j <= i; j++) {
+ namespace.append(space[j]);
+ if (j < i) {
+ namespace.append('.');
+ }
+ }
+ if (parent.children != null) {
+ for (KeyGroup child : parent.children) {
+ if (child.name.equals(space[i])) {
+ node = child;
+ }
+ }
+ }
+ if (node == null) {
+ node = new KeyGroup(namespace.toString(), parent);
+ node.name = space[i];
+ }
+ parent = node;
+ node = null;
+ }
+ return parent;
+ }
+
+ String fullKey(String field) {
+ if (namespace.equals("")) {
+ return field;
+ }
+ return namespace + "." + field;
+ }
+
+ String generateClass(String packageName, String className) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("package ").append(packageName).append(";\n");
+ sb.append('\n');
+ sb.append("/*\n");
+ sb.append(" * This class is auto-generated from the properties file.\n");
+ sb.append(" * Do not version control!\n");
+ sb.append(" */\n");
+ sb.append(MessageFormat.format("public final class {0} '{'\n\n", className));
+ sb.append(generateClass(this, 0));
+ sb.append("}\n");
+ return sb.toString();
+ }
+
+ String generateClass(KeyGroup group, int level) {
+ String classIndent = StringUtils.leftPad("", level, '\t');
+ String fieldIndent = StringUtils.leftPad("", level + 1, '\t');
+
+ // begin class
+ StringBuilder sb = new StringBuilder();
+ if (!group.namespace.equals("")) {
+ sb.append(classIndent).append(MessageFormat.format("public static final class {0} '{'\n\n", group.name));
+ sb.append(fieldIndent).append(MessageFormat.format("public static final String _ROOT = \"{0}\";\n\n", group.namespace));
+ }
+
+ if (group.fields != null) {
+ // fields
+ for (String field : group.fields) {
+ sb.append(fieldIndent).append(MessageFormat.format("public static final String {0} = \"{1}\";\n\n", field, group.fullKey(field)));
+ }
+ }
+ if (group.children != null) {
+ // inner classes
+ for (KeyGroup child : group.children) {
+ sb.append(generateClass(child, level + 1));
+ }
+ }
+ // end class
+ if (!group.namespace.equals("")) {
+ sb.append(classIndent).append("}\n\n");
+ }
+ return sb.toString();
}
}
@@ -268,7 +353,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);
@@ -313,7 +398,7 @@
lastProgress = progress;
updateDownload(progress, targetFile);
if (downloadListener != null) {
- int percent = Math.round(100 * progress);
+ int percent = Math.min(100, Math.round(100 * progress));
downloadListener.downloading(mo.name + " (" + percent + "%)");
}
}
@@ -387,22 +472,20 @@
"bc75f05dd4f7fa848720ac669b8b438ee4a6b146",
"dcd42f672e734521d1a6ccc0c2f9ecded1a1a281");
- public static final MavenObject SERVLET = new MavenObject("Servlet 3.0", "org/glassfish",
- "javax.servlet", "3.0.1", 84000, 211000, 0,
- "58f17c941cd0607bb5edcbcafc491d02265ac9a1",
- "63f2f8bcdd3f138020bbadd5c847e8f3847b77d2", null);
+ 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", "javax/servlet",
+ "javax.servlet-api", "3.0.1", 84000, 211000, 0,
+ "6bf0ebb7efd993e222fc1112377b5e92a13b38dd",
+ "01952f91d84016a39e31346c9d18bd8c9c4a128a", null);
public static final MavenObject SLF4JAPI = new MavenObject("SLF4J API", "org/slf4j",
"slf4j-api", "1.6.1", 25500, 45000, 182000,
"6f3b8a24bf970f17289b234284c94f43eb42f0e4",
"46a386136c901748e6a3af67ebde6c22bc6b4524",
"e223571d77769cdafde59040da235842f3326453");
-
- public static final MavenObject SLF4JNOP = new MavenObject("SLF4J NOP", "org/slf4j",
- "slf4j-nop", "1.6.1", 4800, 4100, 32300,
- "70249094d4e5653b6bdfea46f3a1a4165c1e1993",
- "4a8e77f7bf6897a3c3b7fc3acb4c862dfb905baa",
- "24b2b46f9025f2db53b5b32143f7832538fa3178");
public static final MavenObject SLF4LOG4J = new MavenObject("SLF4J LOG4J", "org/slf4j",
"slf4j-log4j12", "1.6.1", 9800, 9500, 52400,
@@ -416,37 +499,37 @@
"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.20", 1960000, 1906000, 6818000,
+ "bafe47d8ce8647cabeff691b5fc1ffd241ffee00",
+ "7a6570df4ee7fbad71a38042c53780d46b5856db",
+ "");
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.20", 1180000, 1118000, 1458000,
+ "5dc6353c3c69e39e6d5a0aaeedbbaf7a53e539c4",
+ "c30112665f4c4874489d7df9fc8f866c57f93cc8",
+ "");
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.20",
+ 44000, 45000, 166000, "7e8f99b96bce03cc0a115e6a70d9eed7fbcf6a4b",
+ "d7d0479ecca239bd020b247e82562fe047f53620",
+ "");
public static final MavenObject WICKET_GOOGLE_CHARTS = new MavenObject(
- "Apache Wicket Google Charts Add-On", "org/wicketstuff", "googlecharts", "1.4.18",
- 34000, 18750, 161000, "1f763cc8a04e62840b63787a77a479b04ad99c75",
- "1521ed6397192c464e89787502f937bc96ece8f8",
- "8b0398d58bce63ba7f7a9232c4ca24160c9b1a11");
+ "Apache Wicket Google Charts Add-On", "org/wicketstuff", "googlecharts", "1.4.20",
+ 34000, 18750, 161000, "a4bed7d4a3632f95f3e204017ee60332a95da7c6",
+ "16bda0794345b113c8dd5c8775e1ce493541dc67",
+ "");
public static final MavenObject JUNIT = new MavenObject("JUnit", "junit", "junit", "4.8.2",
237000, 0, 0, "c94f54227b08100974c36170dcb53329435fe5ad", "", "");
public static final MavenObject MARKDOWNPAPERS = new MavenObject("MarkdownPapers",
- "org/tautua/markdownpapers", "markdownpapers-core", "1.2.4", 87000, 58000, 268000,
- "cc45684d12399487e49bd1e9eee0af6ab58f3ddc",
- "5c6f0e5ad6ef00b8c9a06e822eb88893cd07ec1b",
- "1d4c843cb6f44c9ed776ba7ccaa95ffcaf521061");
+ "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,
@@ -461,16 +544,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",
@@ -486,10 +569,10 @@
"226f851dc44fd94fe70b9c471881b71f88949cbf",
"8d7d867b97eeb3a9196c3926da550ad042941c1b");
- public static final MavenObject JDOM = new MavenObject("jdom", "org/jdom", "jdom", "1.1",
- 153000, 235000, 445000, "1d04c0f321ea337f3661cf7ede8f4c6f653a8fdd",
- "a7ed425c4c46605b8f2bf2ee118c1609682f4f2c",
- "f3df91edccba2f07a0fced70887c2f7b7836cb75");
+ public static final MavenObject JDOM = new MavenObject("jdom", "jdom", "jdom", "1.0",
+ 153000, 235000, 445000, "a2ac1cd690ab4c80defe7f9bce14d35934c35cec",
+ "662abe0196cf554d4d7374f5d6382034171b652c",
+ "");
public static final MavenObject GSON = new MavenObject("gson", "com/google/code/gson",
"gson", "1.7.1", 174000, 142000, 247000,
@@ -501,6 +584,31 @@
"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 static final MavenObject UNBOUND_ID = new MavenObject("unbound id", "com/unboundid", "unboundid-ldapsdk",
+ "2.3.0", 1383417, 1439721, 0, "6fde8d9fb4ee3e7e3d7e764e3ea57195971e2eb2",
+ "5276d3d29630693dba99ab9f7ea54f4c471d3af1", "");
+
+ public static final MavenObject IVY = new MavenObject("ivy", "org/apache/ivy", "ivy",
+ "2.2.0", 948000, 744000, 0, "f9d1e83e82fc085093510f7d2e77d81d52bc2081",
+ "0312527950ad0e8fbab37228fbed3bf41a6fe0a1", "");
+
+
public final String name;
public final String group;
public final String artifact;
--
Gitblit v1.9.1