From f14f761a9fbebb41a93e54880513ac6a5cdd1c16 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 18 Oct 2011 22:41:50 -0400 Subject: [PATCH] Management of registrations. Usability improvements. --- src/com/gitblit/build/Build.java | 44 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 38 insertions(+), 6 deletions(-) diff --git a/src/com/gitblit/build/Build.java b/src/com/gitblit/build/Build.java index c4f373e..7bba526 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(); @@ -115,7 +121,7 @@ // 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 +131,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.SLF4JAPI, BuildType.RUNTIME); + downloadFromApache(MavenObject.SLF4JNOP, BuildType.RUNTIME); + downloadFromApache(MavenObject.GSON, BuildType.RUNTIME); + downloadFromApache(MavenObject.JSCH, BuildType.RUNTIME); + downloadFromEclipse(MavenObject.JGIT, BuildType.RUNTIME); } @@ -273,6 +289,9 @@ throw new RuntimeException("Failed to create destination folder structure!"); } } + if (downloadListener != null) { + downloadListener.downloading(mo.name + "..."); + } ByteArrayOutputStream buff = new ByteArrayOutputStream(); try { URL url = new URL(mavenURL); @@ -293,10 +312,17 @@ if (progress - lastProgress >= 0.1f) { lastProgress = progress; updateDownload(progress, targetFile); + if (downloadListener != null) { + int percent = 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); @@ -372,6 +398,12 @@ "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, "bd245d6746cdd4e6203e976e21d597a46f115802", @@ -411,10 +443,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.4", 87000, 58000, 268000, + "cc45684d12399487e49bd1e9eee0af6ab58f3ddc", + "5c6f0e5ad6ef00b8c9a06e822eb88893cd07ec1b", + "1d4c843cb6f44c9ed776ba7ccaa95ffcaf521061"); public static final MavenObject BOUNCYCASTLE = new MavenObject("BouncyCastle", "org/bouncycastle", "bcprov-jdk16", "1.46", 1900000, 1400000, 4670000, -- Gitblit v1.9.1