|
|
|
@ -62,12 +62,9 @@ TABS.firmware_flasher.initialize = function (callback) {
|
|
|
|
|
var match = targetFromFilenameExpression.exec(filename);
|
|
|
|
|
|
|
|
|
|
if (!match) {
|
|
|
|
|
GUI.log("no match: dev filename: " + filename);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
GUI.log("non dev: match[2]: " + match[2] + " match[7]: " + match[7]);
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
raw_target: match[2],
|
|
|
|
|
target: match[2].replace("_", " "),
|
|
|
|
@ -124,7 +121,8 @@ TABS.firmware_flasher.initialize = function (callback) {
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var buildBoardOptions = function(releasesData){
|
|
|
|
|
var buildBoardOptions = function(releasesData) {
|
|
|
|
|
const start = performance.now();
|
|
|
|
|
var boards_e = $('select[name="board"]').empty();
|
|
|
|
|
var versions_e = $('select[name="firmware_version"]').empty();
|
|
|
|
|
var showDevReleases = ($('input.show_development_releases').is(':checked'));
|
|
|
|
@ -136,10 +134,6 @@ TABS.firmware_flasher.initialize = function (callback) {
|
|
|
|
|
var sortedTargets = [];
|
|
|
|
|
var unsortedTargets = [];
|
|
|
|
|
|
|
|
|
|
var processRelease = function(release) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TABS.firmware_flasher.releasesData.forEach(function(release){
|
|
|
|
|
release.assets.forEach(function(asset){
|
|
|
|
|
var result = parseFilename(asset.name);
|
|
|
|
@ -151,22 +145,24 @@ TABS.firmware_flasher.initialize = function (callback) {
|
|
|
|
|
unsortedTargets.push(result.target);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
sortedTargets = unsortedTargets.sort();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
TABS.firmware_flasher.devReleasesData.forEach(function(release){
|
|
|
|
|
release.assets.forEach(function(asset){
|
|
|
|
|
var result = parseDevFilename(asset.name);
|
|
|
|
|
if (showDevReleases) {
|
|
|
|
|
TABS.firmware_flasher.devReleasesData.forEach(function (release) {
|
|
|
|
|
release.assets.forEach(function (asset) {
|
|
|
|
|
var result = parseDevFilename(asset.name);
|
|
|
|
|
|
|
|
|
|
if ((!showDevReleases && release.prerelease) || !result) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if($.inArray(result.target, unsortedTargets) == -1) {
|
|
|
|
|
unsortedTargets.push(result.target);
|
|
|
|
|
}
|
|
|
|
|
if ((!showDevReleases && release.prerelease) || !result) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if ($.inArray(result.target, unsortedTargets) == -1) {
|
|
|
|
|
unsortedTargets.push(result.target);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
sortedTargets = unsortedTargets.sort();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sortedTargets = unsortedTargets.sort();
|
|
|
|
|
|
|
|
|
|
sortedTargets.forEach(function(release) {
|
|
|
|
|
releases[release] = [];
|
|
|
|
@ -213,46 +209,48 @@ TABS.firmware_flasher.initialize = function (callback) {
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
TABS.firmware_flasher.devReleasesData.forEach(function(release){
|
|
|
|
|
if(showDevReleases) {
|
|
|
|
|
TABS.firmware_flasher.devReleasesData.forEach(function(release){
|
|
|
|
|
|
|
|
|
|
var versionFromTagExpression = /v?(.*)/;
|
|
|
|
|
var matchVersionFromTag = versionFromTagExpression.exec(release.tag_name);
|
|
|
|
|
var version = matchVersionFromTag[1];
|
|
|
|
|
var versionFromTagExpression = /v?(.*)/;
|
|
|
|
|
var matchVersionFromTag = versionFromTagExpression.exec(release.tag_name);
|
|
|
|
|
var version = matchVersionFromTag[1];
|
|
|
|
|
|
|
|
|
|
release.assets.forEach(function(asset){
|
|
|
|
|
var result = parseDevFilename(asset.name);
|
|
|
|
|
if ((!showDevReleases && release.prerelease) || !result) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (result.format != 'hex') {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
release.assets.forEach(function(asset){
|
|
|
|
|
var result = parseDevFilename(asset.name);
|
|
|
|
|
if ((!showDevReleases && release.prerelease) || !result) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var date = new Date(release.published_at);
|
|
|
|
|
var formattedDate = "{0}-{1}-{2} {3}:{4}".format(
|
|
|
|
|
date.getFullYear(),
|
|
|
|
|
date.getMonth() + 1,
|
|
|
|
|
date.getDate(),
|
|
|
|
|
date.getUTCHours(),
|
|
|
|
|
date.getMinutes()
|
|
|
|
|
);
|
|
|
|
|
if (result.format != 'hex') {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var descriptor = {
|
|
|
|
|
"releaseUrl": release.html_url,
|
|
|
|
|
"name" : semver.clean(release.name),
|
|
|
|
|
"version" : release.tag_name,
|
|
|
|
|
"url" : asset.browser_download_url,
|
|
|
|
|
"file" : asset.name,
|
|
|
|
|
"raw_target": result.raw_target,
|
|
|
|
|
"target" : result.target,
|
|
|
|
|
"date" : formattedDate,
|
|
|
|
|
"notes" : release.body,
|
|
|
|
|
"status" : release.prerelease ? "nightly" : "stable"
|
|
|
|
|
};
|
|
|
|
|
releases[result.target].push(descriptor);
|
|
|
|
|
var date = new Date(release.published_at);
|
|
|
|
|
var formattedDate = "{0}-{1}-{2} {3}:{4}".format(
|
|
|
|
|
date.getFullYear(),
|
|
|
|
|
date.getMonth() + 1,
|
|
|
|
|
date.getDate(),
|
|
|
|
|
date.getUTCHours(),
|
|
|
|
|
date.getMinutes()
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
var descriptor = {
|
|
|
|
|
"releaseUrl": release.html_url,
|
|
|
|
|
"name" : semver.clean(release.name),
|
|
|
|
|
"version" : release.tag_name,
|
|
|
|
|
"url" : asset.browser_download_url,
|
|
|
|
|
"file" : asset.name,
|
|
|
|
|
"raw_target": result.raw_target,
|
|
|
|
|
"target" : result.target,
|
|
|
|
|
"date" : formattedDate,
|
|
|
|
|
"notes" : release.body,
|
|
|
|
|
"status" : release.prerelease ? "nightly" : "stable"
|
|
|
|
|
};
|
|
|
|
|
releases[result.target].push(descriptor);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var selectTargets = [];
|
|
|
|
|
Object.keys(releases)
|
|
|
|
@ -272,6 +270,8 @@ TABS.firmware_flasher.initialize = function (callback) {
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
TABS.firmware_flasher.releases = releases;
|
|
|
|
|
const end = performance.now();
|
|
|
|
|
console.log(`buildBoardOptions: ${end - start} ms`)
|
|
|
|
|
return;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|