From a5e762ba4ab82f0c6ef71d853c5103f19bbf8e22 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 11 Oct 2012 08:10:20 -0400 Subject: [PATCH] Tweak canFork description --- src/com/gitblit/build/Build.java | 44 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 39 insertions(+), 5 deletions(-) diff --git a/src/com/gitblit/build/Build.java b/src/com/gitblit/build/Build.java index 316b2a6..d5abc24 100644 --- a/src/com/gitblit/build/Build.java +++ b/src/com/gitblit/build/Build.java @@ -20,6 +20,7 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; +import java.io.FilenameFilter; import java.io.IOException; import java.io.InputStream; import java.io.RandomAccessFile; @@ -379,6 +380,7 @@ if (targetFile.exists()) { downloads.add(targetFile); + removeObsoleteArtifacts(mo, type, targetFile.getParentFile()); continue; } String expectedSHA1 = mo.getSHA1(jar); @@ -454,8 +456,40 @@ throw new RuntimeException("Error writing to file " + targetFile, e); } downloads.add(targetFile); + + removeObsoleteArtifacts(mo, type, targetFile.getParentFile()); } return downloads; + } + + private static void removeObsoleteArtifacts(final MavenObject mo, final BuildType type, File folder) { + File [] removals = folder.listFiles(new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + String n = name.toLowerCase(); + String dep = mo.artifact.toLowerCase(); + if (n.startsWith(dep)) { + String suffix = "-" + mo.version; + if (type.equals(BuildType.COMPILETIME)) { + suffix += "-sources.jar"; + } else { + suffix += ".jar"; + } + if (!n.endsWith(suffix)) { + return true; + } + } + return false; + } + }); + + // delete any matches + if (removals != null) { + for (File file : removals) { + System.out.println("deleting " + file); + file.delete(); + } + } } private static void updateDownload(float progress, File file) { @@ -487,14 +521,14 @@ "c7adc475ca40c288c93054e0f4fe58f3a98c0cb5"); public static final MavenObject JETTY = new MavenObject("Jetty", - "org/eclipse/jetty/aggregate", "jetty-webapp", "7.6.5.v20120716", 1000000, 680000, - 2720000, "e6a34a2d79cbb010d56741e53f8ebf6d9eeef135", - "c2dc95a9c0d0f85c2610cb71aa169c90b25dff83", + "org/eclipse/jetty/aggregate", "jetty-webapp", "7.6.7.v20120910", 1000000, 680000, + 2720000, "d621fa6419aaa37edbcab8e16a5e6b05c9527e62", + "b505f7b493c5aa262d371d90754bded8b392ffb0", ""); public static final MavenObject JETTY_AJP = new MavenObject("Jetty-AJP", - "org/eclipse/jetty", "jetty-ajp", "7.6.5.v20120716", 32000, 22000, - 97000, "74fb9aae97e2d189d1c4071da51101b293034e80", "ebb9a2f2f8960e5565e8a6bda950e0934772507f", ""); + "org/eclipse/jetty", "jetty-ajp", "7.6.7.v20120910", 32000, 22000, + 97000, "578d502bc78ed7aa1c0b6afef4cd59477041ec37", "6cfed9a1354f720fcde12ec15d5e1ae9cf97000c", ""); public static final MavenObject SERVLET = new MavenObject("Servlet 3.0", "javax/servlet", "javax.servlet-api", "3.0.1", 84000, 211000, 0, -- Gitblit v1.9.1