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=STAGE_PRIVATE_NOTE> 019 * <EMBED CLASS='external-html' DATA-FILE-ID=S03_UPGRADE> 020 */ 021@Torello.JavaDoc.StaticFunctional 022public class S03_Upgrade 023{ 024 // Completely irrelevant, and the 'private' modifier keeps it off of JavaDoc 025 private S03_Upgrade() { } 026 027 public static void upgrade(final BuilderRecord brec) throws IOException 028 { 029 brec.timers.startStage03(); 030 031 Printing.startStep(3); 032 033 StringBuilder sb = new StringBuilder(); 034 035 if (brec.preUpgraderScript != null) brec.preUpgraderScript.accept(brec, sb); 036 037 sb.append( 038 '\n' + 039 "*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\n" + 040 "Invoking Upgrader.upgrade(). Log Content Will not be available here.\n" + 041 "*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\n" + 042 '\n' 043 ); 044 045 Stats result = brec.upgrader.upgrade(); 046 047 if (brec.FAVICON != null) 048 049 try 050 { FileRW.copyFile(brec.FAVICON, brec.LOCAL_JAVADOC_DIR, false); } 051 052 catch (IOException ioe) 053 { 054 System.err.println( 055 "Unable to copy Favicon File: [" + brec.FAVICON + "] to javadoc output " + 056 "directory:\n" + 057 BYELLOW + brec.LOCAL_JAVADOC_DIR + RESET + '\n' + 058 "Skipping Favicon..." 059 ); 060 } 061 062 if (result == null) 063 { 064 System.err.println(BRED + "THERE WERE ERRORS, EXITING." + RESET); 065 System.exit(1); 066 } 067 068 if (brec.postUpgraderScript != null) brec.postUpgraderScript.accept(brec, sb); 069 070 brec.logs.write_S03_LOGS(sb.toString()); 071 brec.timers.endStage03(); 072 } 073}