8 open (LOG, '<', "LOG");
9 open (INDEX, '>','index.html');
10 open (LOG_HTML, '>', "log.html");
15 <link rel="stylesheet" href="build.css">
23 <link rel="stylesheet" href="build.css">
27 print LOG_HTML "<pre>";
32 if (open (VARS, "<", $file)) {
35 my ($key, $value) = /^([^=]+)=(.*)/ or next;
43 my (%vars) = read_vars ('VARS');
44 print INDEX "<h2>Build Properties</h2>\n";
45 print INDEX "<table>\n";
46 print INDEX "<tr><th>Name</th><th>Value</th></tr>\n";
47 foreach my $key (sort (keys (%vars))) {
49 print INDEX "<td>", encode_entities ($key), "</td>";
50 print INDEX "<td>", encode_entities ($vars{$key}), "</td>";
51 print INDEX "</tr>\n";
53 print INDEX "</table>\n";
64 print LOG_HTML "</pre><hr><pre>\n";
72 if (my ($product) = /^Saving (.*)$/) {
73 my $href = "$product/index.html";
74 $href = $product if ! -e $href;
77 $p{PRODUCT} = $product;
80 push (@products, \%p);
81 push (@{$steps[$#steps]{CHILDREN}}, \%p);
89 if (my ($diagnostic) = /(error|warning):/) {
91 $d{DIAGNOSTIC} = $diagnostic;
94 push (@{$steps[$#steps]{CHILDREN}}, \%d);
96 $log_class = "$diagnostic";
99 printf LOG_HTML "<a name=\"%d\"><tt>%4d</tt></a> ", $ln, $ln;
100 if (defined ($log_class)) {
101 print LOG_HTML "<span class=\"$log_class\">", encode_entities ($_), "</span>\n";
103 print LOG_HTML encode_entities ($_), "\n";
107 print INDEX "<h2>Build Products</h2>\n";
108 print INDEX "<ul>\n";
109 foreach my $p (@products) {
110 print INDEX "<li><a href=\"", encode_entities ($p->{HREF}), "\">";
111 print INDEX encode_entities ($p->{PRODUCT});
112 print INDEX "</a></li>\n";
114 print INDEX "</ul>\n";
118 return "<small><a href=\"log.html#$ln\">(log)</a></small>";
121 print INDEX "<h2>Build Summary</h2>\n";
122 print INDEX "<ol>\n";
123 foreach my $s (@steps) {
124 print INDEX "<li>", encode_entities ($s->{TITLE});
125 print INDEX " ", log_link ($s->{LN});
126 foreach my $c (@{$s->{CHILDREN}}) {
127 if (defined ($c->{DIAGNOSTIC})) {
128 print INDEX "<p class=\"$c->{DIAGNOSTIC}\">";
129 print INDEX "<a href=\"log.html#$c->{LN}\">";
130 print INDEX encode_entities ($c->{MESSAGE});
131 print INDEX "</a></p>\n";
133 print INDEX "<p>→ <a href=\"", encode_entities ($c->{HREF}), "\">";
134 print INDEX encode_entities ($c->{PRODUCT});
135 print INDEX "</a></p>\n";
138 print INDEX "</li>\n";
140 print INDEX "</ol>\n";
147 print LOG_HTML <<EOF;
153 open (CSS, '>', "build.css");
158 padding: 0em 3em 0em 3em;
162 margin: 0pt 0pt 0pt 0em
184 H1, H2, H3, H4, H5, H6 {
185 font-family: sans-serif;
194 text-decoration: none;
198 text-decoration: none;
202 text-decoration: none;
205 text-decoration: underline