mirror of https://github.com/keeweb/keeweb.git
41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
|
const { spawnSync } = require('child_process');
|
||
|
|
||
|
module.exports = function (grunt) {
|
||
|
grunt.registerMultiTask(
|
||
|
'osacompile',
|
||
|
'Builds an executable .app package with osacompile',
|
||
|
async function () {
|
||
|
const done = this.async();
|
||
|
const opt = this.options();
|
||
|
|
||
|
for (const file of this.files) {
|
||
|
const dest = file.dest;
|
||
|
const src = file.src[0];
|
||
|
|
||
|
const args = [];
|
||
|
if (opt.language) {
|
||
|
args.push('-l', opt.language);
|
||
|
}
|
||
|
args.push('-o', dest);
|
||
|
args.push(src);
|
||
|
|
||
|
grunt.log.writeln(`Running: osacompile ${args.join(' ')}`);
|
||
|
|
||
|
const res = spawnSync('osacompile', args);
|
||
|
|
||
|
if (res.status) {
|
||
|
grunt.warn(
|
||
|
`osacompile exit code ${
|
||
|
res.status
|
||
|
}.\nSTDOUT:\n${res.stdout.toString()}\nSTDERR:\n${res.stderr.toString()}`
|
||
|
);
|
||
|
}
|
||
|
|
||
|
grunt.log.writeln(`Built ${dest}`);
|
||
|
}
|
||
|
|
||
|
done();
|
||
|
}
|
||
|
);
|
||
|
};
|