STM32GENERIC/tools/script/build.html

135 lines
5.3 KiB
HTML
Raw Normal View History

<head>
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<style>
td.number {
font-family: monospace;
text-align: right;
font-weight: bold;
}
td.failed {
color: red;
text-align: center;
}
tr.new_build_target {
border-top: solid 2px black;
}
td.build_target, td.sketch {
font-size: small;
}
.info {
font-weight: bold;
}
2017-09-18 11:39:38 -07:00
.failed {
color: red;
}
.passed {
color: green;
}
</style>
</head>
<body>
2017-09-18 11:39:38 -07:00
<p>Compilation results for: <span class="info" id="core"></span></p>
<!--<p>Compiler version: <span class="info" id="compiler"></span></p>-->
<p>
2017-09-18 11:39:38 -07:00
Commit date: <span class="info" id="git_date"></span> (git commit hash: <span class="info" id="git_hash"></span>)
</p>
2017-09-18 11:39:38 -07:00
<p>Passed: <span id="passed" class="passed number"></span>, failed: <span id="failed" class="failed number"></span></p>
<table cellpadding="1" cellspacing="1" border="1" style="border-collapse: collapse;">
<thead>
<th>Target</th>
<th>Sketch</th>
<th>Flash bytes</th>
<th>RAM bytes</th>
2017-09-18 11:39:38 -07:00
<th>elf</th>
<th>bin</th>
<th>stdout</th>
<th>stderr</th>
<th>asm</th>
<th>nm</th>
<th>map</th>
</thead>
<tbody id="result">
</tbody>
</table>
<script>
2017-09-18 11:39:38 -07:00
//$.getJSON("http://danieleff.com/stm32/build_STM32GENERIC/latest.json", function(json) {
$.getJSON("build/latest.json", function(json) {
var html = "";
var prev_build_target = "";
var results = json.results;
2017-09-18 11:39:38 -07:00
var passed = 0;
var failed = 0;
$("#core").html(json.core);
$("#compiler").html(json.compiler);
$("#git_hash").html(json.git_hash);
$("#git_date").html(json.git_date);
for(build in results) {
var split = build.split("|");
var build_target = split[0];
var hash = split[1];
var sketch = split[2];
var build_path = results[build]["build_path"];
var result = results[build]["result"];
build_target = build_target.replace("STM32GENERIC:STM32:", "")
sketch = sketch.replace("STM32\\libraries\\", "");
html += "<tr class=\"" + ((prev_build_target == build_target) ? "" : "new_build_target") + "\">";
html += "<td class=\"build_target\">" + build_target + "</td>";
2017-09-18 11:39:38 -07:00
html += "<td class=\"sketch\"><a href=\"https://github.com/danieleff/STM32GENERIC/blob/master/" + sketch + "\">" + sketch + "</a></td>";
if (result[0]) {
html += "<td class=\"number\">" + Number(result[0]).toLocaleString('en') + "</td>";
html += "<td class=\"number\">" + Number(result[1]).toLocaleString('en') + "</td>";
2017-09-18 11:39:38 -07:00
passed++;
} else {
html += "<td class=\"failed number\" colspan=\"2\">FAILED</td>";
2017-09-18 11:39:38 -07:00
failed++;
}
2017-09-18 11:39:38 -07:00
var build_path_part = build_path.substr(build_path.indexOf('build') + 6);
var ino_filename = sketch.split(/[\\/]/).pop();
var map_filename = ino_filename + ".map";
var elf_filename = ino_filename + ".elf";
var bin_filename = ino_filename + ".bin";
html += "<td class=\"sketch\"><a href=\"http://danieleff.com/stm32/build_STM32GENERIC/" + build_path_part + "/" + elf_filename + "\">elf</a>";
html += "<td class=\"sketch\"><a href=\"http://danieleff.com/stm32/build_STM32GENERIC/" + build_path_part + "/" + bin_filename + "\">bin</a>";
html += "<td class=\"sketch\"><a href=\"http://danieleff.com/stm32/build_STM32GENERIC/" + build_path_part + "/stdout.txt\">stdout</a>";
html += "<td class=\"sketch\"><a href=\"http://danieleff.com/stm32/build_STM32GENERIC/" + build_path_part + "/stderr.txt\">stderr</a>";
html += "<td class=\"sketch\"><a href=\"http://danieleff.com/stm32/build_STM32GENERIC/" + build_path_part + "/disassembly.asm\">asm</a>";
html += "<td class=\"sketch\"><a href=\"http://danieleff.com/stm32/build_STM32GENERIC/" + build_path_part + "/nm.txt\">nm</a>";
html += "<td class=\"sketch\"><a href=\"http://danieleff.com/stm32/map_analizer/?map=" + build_path_part + "/" + map_filename + "\">map</a>";
html += "</tr>";
prev_build_target = build_target;
}
$("tbody#result").html(html);
2017-09-18 11:39:38 -07:00
$("#passed").html(passed);
$("#failed").html(failed)
});
</script>
</body>