1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package Torello.Java.Build;

import Torello.JavaDoc.Upgrade;
import Torello.JavaDoc.Stats;

import Torello.Java.FileRW;

import static Torello.Java.C.BRED;
import static Torello.Java.C.BYELLOW;
import static Torello.Java.C.RESET;

import java.io.File;
import java.io.IOException;

/**
 * This is the third Build-Stage, and it runs the Java-Doc {@link Upgrade Upgrader-Tool}
 * 
 * <EMBED CLASS='external-html' DATA-FILE-ID=S03_UPGRADE>
 */
@Torello.JavaDoc.StaticFunctional
public class S03_Upgrade
{
    // Completely irrelevant, and the 'private' modifier keeps it off of JavaDoc
    private S03_Upgrade() { }

    public static void upgrade(Builder builder) throws IOException
    {
        builder.timers.startStage03();

        Printing.startStep(3);

        StringBuilder sb = new StringBuilder();

        if (builder.preUpgraderScript != null) builder.preUpgraderScript.accept(builder, sb);

        sb.append(
            '\n' +
            "*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\n" +
            "Invoking Upgrader.upgrade().  Log Content Will not be available here.\n" +
            "*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\n" +
            '\n'
        );

        Stats result = builder.upgrader.upgrade(); 

        if (builder.FAVICON != null)

            try 
                { FileRW.copyFile(builder.FAVICON, builder.LOCAL_JAVADOC_DIR, false); }

            catch (IOException ioe)
            {
                System.err.println(
                    "Unable to copy Favicon File: [" + builder.FAVICON + "] to javadoc output " +
                        "directory:\n" +
                    BYELLOW + builder.LOCAL_JAVADOC_DIR + RESET + '\n' +
                    "Skipping Favicon..."
                );
            }

        if (result == null)
        {
            System.err.println(BRED + "THERE WERE ERRORS, EXITING." + RESET);
            System.exit(1);
        }

        if (builder.postUpgraderScript != null) builder.postUpgraderScript.accept(builder, sb);

        builder.logs.write_S03_LOGS(sb.toString());
        builder.timers.endStage03();
    }
}