71 lines
2.2 KiB
JavaScript
71 lines
2.2 KiB
JavaScript
#! /usr/bin/env runjs
|
|
|
|
var colorPrint = require('component-colorprint-ex.js');
|
|
|
|
var checkResultList = [];
|
|
|
|
var getArchiveInfo = (gid, aid) => {
|
|
var archiveInfo = __.httprequest
|
|
.fromUrl('https://hatter.ink/repo/archive_info.jsonp')
|
|
.param('__auth_token', 'r7dyCJpant4VFs5vqQSphEBEEqNBXqSBiFPPG7Nz6')
|
|
.param('gid', gid)
|
|
.param('aid', aid)
|
|
.get();
|
|
return JSON.parse($STR(archiveInfo));
|
|
};
|
|
|
|
var checkNewestVersion = (printedLen, gid, aid, ver) => {
|
|
var printS = (79 - printedLen);
|
|
printS = ((printS < 0)? 0: printS) + 1;
|
|
|
|
print(printS.repeat(' ').join(''));
|
|
var archiveInfo = getArchiveInfo(gid, aid);
|
|
if (archiveInfo.data == null) {
|
|
println('-');
|
|
} else {
|
|
if (archiveInfo.data.latestVersion == ver) {
|
|
println(colorPrint.okgreen.render('OK'));
|
|
} else {
|
|
println(colorPrint.warning.render('NG') + ' ' + colorPrint.okgreen.render('-> ' + archiveInfo.data.latestVersion));
|
|
checkResultList.push([gid, aid, ver].join(':') + ' -> ' + archiveInfo.data.latestVersion);
|
|
}
|
|
}
|
|
};
|
|
|
|
var main = () => {
|
|
var outs = $$.shell().commands('build.js', '-q', 'dependencies', '--configuration', 'compile').mergeError().start();
|
|
var out = outs[0];
|
|
|
|
var lines = $STR(out).split(/\n/);
|
|
|
|
lines.forEach((ln) => {
|
|
var indexOfSSS = ln.indexOf('--- ');
|
|
if (indexOfSSS >= 0) {
|
|
print(ln);
|
|
if (ln.indexOf('(*)') >= 0) {
|
|
println();
|
|
} else {
|
|
var gidAidVerAndMore = ln.substring(indexOfSSS + 3).trim();
|
|
var gid = gidAidVerAndMore.split(':')[0];
|
|
var aid = gidAidVerAndMore.split(':')[1];
|
|
var ver = gidAidVerAndMore.split(':')[2];
|
|
if (gidAidVerAndMore.indexOf('->') >= 0) {
|
|
ver = gidAidVerAndMore.split('->')[1].trim();
|
|
}
|
|
|
|
checkNewestVersion(ln.length, gid, aid, ver);
|
|
}
|
|
} else {
|
|
println(ln);
|
|
}
|
|
});
|
|
|
|
if (checkResultList.length > 0) {
|
|
xprintln('[WARN] Check result:\n' + checkResultList.join('\n'));
|
|
}
|
|
};
|
|
|
|
|
|
main();
|
|
|