').append(
+ $('| ').html(`${tpl.name}`),
+ $(' | ').text(tpl.version || 'N/A'),
+ $(' | ').text(tpl.status)
+ ).appendTo($tbody);
+ });
+ $('.tpl-link').click(function(event) {
+ event.preventDefault();
+ const tplName = $(this).data('tpl');
+ showVersionsForTPL(tplName);
});
const letters = ['n', 'w', 'o', 'r'];
@@ -244,6 +246,34 @@ function closeAll() {
$('.toggle-button').text('Show More');
}
+function showVersionsForTPL(tplName) {
+ const $modal = $('#tplModal');
+ const $modalTitle = $('#tplModalTitle');
+ const $modalBody = $('#tplModalBody');
+ $modalTitle.text(`Versions of ${tplName} across platforms`);
+ $modalBody.empty();
+ let tplFound = false;
+ window.data.platforms.forEach(platform => {
+ const matchingTPL = platform.tpl.find(tpl => tpl.name === tplName);
+ if (matchingTPL) {
+ tplFound = true;
+ $modalBody.append(` Platform: ${platform.name} | Version: ${matchingTPL.version || 'N/A'} | Status: ${matchingTPL.status} `);
+ }
+ });
+ if (!tplFound) {
+ $modalBody.append('No versions of this TPL found across platforms. ');
+ }
+ $modal.show();
+ $('.close').click(function() {
+ $modal.hide();
+ });
+ $(window).click(function(event) {
+ if (event.target == $modal[0]) {
+ $modal.hide();
+ }
+ });
+}
+
function main() {
const url = searchURLs["current"];
$.getJSON(url, data => {
diff --git a/Maintenance/test_handling/create_testresult_page b/Maintenance/test_handling/create_testresult_page
index 5c2db003f02..dee712a8af6 100755
--- a/Maintenance/test_handling/create_testresult_page
+++ b/Maintenance/test_handling/create_testresult_page
@@ -754,19 +754,40 @@ sub create_summary_page {
my ($platform_num, $platform) = (0, "");
foreach $platform (@platforms_to_do) {
my $third_party_libraries = "";
- if (open (PLATFORM_INFO, "results_${platform}.info")) {
+ my @tpl_list = ();
+ if (open(PLATFORM_INFO, "results_${platform}.info")) {
my $line = "";
while () {
$line = $_;
if ($line =~ /^TPL:/) {
$third_party_libraries = $line;
+ if ($third_party_libraries =~ /^TPL:\s*(.*)/) {
+ my $tpl_data = $1;
+ my @tpls = split /,\s*/, $tpl_data;
+ foreach my $tpl (@tpls) {
+ if ($tpl =~ /(.+)\s+not found/i) {
+ push @tpl_list, {
+ name => $1,
+ version => undef,
+ status => "not found"
+ };
+ }
+ elsif ($tpl =~ /(.+)\s+(\S+)/) {
+ push @tpl_list, {
+ name => $1,
+ version => $2,
+ status => "found"
+ };
+ }
+ }
+ }
}
}
close PLATFORM_INFO;
}
my $platform_info = {
name => $platform,
- third_party_libraries => $third_party_libraries,
+ tpl => \@tpl_list,
test_directories => [],
};
foreach my $letter (@letters) {
@@ -791,7 +812,7 @@ sub create_summary_page {
platforms => \@platforms_data,
};
my $json = JSON->new->allow_nonref;
- my $json_text = $json->pretty->encode($final_data);
+ my $json_text = $json->encode($final_data);
open my $fh, '>', "$testresult_dir/$release_name/search_index.json" or die "Could not open file: $!";
print $fh $json_text;
close $fh;
@@ -818,6 +839,13 @@ sub create_summary_page {
+
+
+ ×
+ Versions of TPL
+
+
+
|