tools/vscode_automatic_query_fixer/copy_binaries.js (31 lines of code) (raw):
const {spawn} = require('child_process');
const fs = require('fs');
const path = require('path');
const rimraf = require('rimraf');
const projectDir = '../automatic_query_fixer/';
const destinationDir = './resources/automatic_query_fixer';
// launch gradle build
let jarBuild;
if (process.platform === 'win32') {
const batchScript = path.resolve(path.join(projectDir, 'gradlew.bat'));
jarBuild = spawn(batchScript, ['installDist'], {
cwd: projectDir,
});
} else {
jarBuild = spawn('sh', ['gradlew', 'installDist'], {
cwd: projectDir,
});
}
jarBuild.stdout.pipe(process.stdout);
jarBuild.stderr.pipe(process.stderr);
jarBuild.on('close', code => {
if (code === 0) {
// delete previous copy
if (fs.existsSync(destinationDir)) {
rimraf.sync(destinationDir);
}
// move binaries to resources folder
fs.renameSync(
path.join(projectDir, 'build/install/AutomaticQueryFixer'),
destinationDir
);
console.log('\nAuto Fixer binaries updated successfully!');
}
});