Rafael Cavazin
2013-01-27 06ae63123c94038b90153f4847de2c57c0193db8
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;