001package Torello.Java.Build; 002 003import Torello.JavaDoc.Upgrade; 004import Torello.JavaDoc.Stats; 005 006import Torello.Java.FileRW; 007 008import static Torello.Java.C.BRED; 009import static Torello.Java.C.BYELLOW; 010import static Torello.Java.C.RESET; 011 012import java.io.File; 013import java.io.IOException; 014 015/** 016 * This is the third Build-Stage, and it runs the Java-Doc {@link Upgrade Upgrader-Tool} 017 * 018 * <EMBED CLASS='external-html' DATA-FILE-ID=S03_UPGRADE> 019 */ 020@Torello.JavaDoc.StaticFunctional 021public class S03_Upgrade 022{ 023 // Completely irrelevant, and the 'private' modifier keeps it off of JavaDoc 024 private S03_Upgrade() { } 025 026 public static void upgrade(Builder builder) throws IOException 027 { 028 builder.timers.startStage03(); 029 030 Printing.startStep(3); 031 032 StringBuilder sb = new StringBuilder(); 033 034 if (builder.preUpgraderScript != null) builder.preUpgraderScript.accept(builder, sb); 035 036 sb.append( 037 '\n' + 038 "*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\n" + 039 "Invoking Upgrader.upgrade(). Log Content Will not be available here.\n" + 040 "*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\n" + 041 '\n' 042 ); 043 044 Stats result = builder.upgrader.upgrade(); 045 046 if (builder.FAVICON != null) 047 048 try 049 { FileRW.copyFile(builder.FAVICON, builder.LOCAL_JAVADOC_DIR, false); } 050 051 catch (IOException ioe) 052 { 053 System.err.println( 054 "Unable to copy Favicon File: [" + builder.FAVICON + "] to javadoc output " + 055 "directory:\n" + 056 BYELLOW + builder.LOCAL_JAVADOC_DIR + RESET + '\n' + 057 "Skipping Favicon..." 058 ); 059 } 060 061 if (result == null) 062 { 063 System.err.println(BRED + "THERE WERE ERRORS, EXITING." + RESET); 064 System.exit(1); 065 } 066 067 if (builder.postUpgraderScript != null) builder.postUpgraderScript.accept(builder, sb); 068 069 builder.logs.write_S03_LOGS(sb.toString()); 070 builder.timers.endStage03(); 071 } 072}