43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT license.
|
|
|
|
const cp = require('child_process');
|
|
const path = require('path');
|
|
const fs = require('fs');
|
|
|
|
const server_dir = path.resolve('../java-debug');
|
|
|
|
cp.execSync(mvnw() + ' clean package', {
|
|
cwd: server_dir,
|
|
stdio: [0, 1, 2]
|
|
});
|
|
copy(path.join(server_dir, 'com.microsoft.java.debug.plugin/target'), path.resolve('server'), (file) => {
|
|
return /^com.microsoft.java.debug.*.jar$/.test(file);
|
|
});
|
|
|
|
function copy(sourceFolder, targetFolder, fileFilter) {
|
|
const jars = fs.readdirSync(sourceFolder).filter(file => fileFilter(file));
|
|
if (!fs.existsSync(targetFolder)) {
|
|
fs.mkdirSync(targetFolder);
|
|
}
|
|
for (const jar of jars) {
|
|
fs.copyFileSync(path.join(sourceFolder, jar), path.join(targetFolder, path.basename(jar)));
|
|
}
|
|
}
|
|
|
|
function isWin() {
|
|
return /^win/.test(process.platform);
|
|
}
|
|
|
|
function isMac() {
|
|
return /^darwin/.test(process.platform);
|
|
}
|
|
|
|
function isLinux() {
|
|
return /^linux/.test(process.platform);
|
|
}
|
|
|
|
function mvnw() {
|
|
return isWin() ? "mvnw.cmd" : "./mvnw";
|
|
}
|