Files
js-scripts/scripts/createproject.js
2025-04-05 16:57:26 +08:00

71 lines
2.0 KiB
JavaScript

#!/usr/bin/env runjs
var argsjs = require('component-args.js');
printUsage = () => {
println('createproject.js springboot|jar');
};
createDirs = () => {
__.rfile.from('src/main/java').file().mkdirs();
__.rfile.from('src/main/resources').file().mkdirs();
__.rfile.from('src/test/java').file().mkdirs();
__.rfile.from('src/test/resources').file().mkdirs();
};
createFileGitignore = () => {
var gitignores = [
'build',
'classes',
'.DS_Store',
'.gradle',
'.classpath',
'.project',
'.settings',
'*.iml',
'*.ipr',
'*.iws'
];
__.rfile.from('.gitignore').write(gitignores.join('\n'));
};
createProject = (gradleFn) => {
var buildJsonRFile = __.rfile.from('build.json');
var buildGradleRFile = __.rfile.from('build.gradle');
if (buildJsonRFile.exists() || buildGradleRFile.exists()) {
xprintln('[ERROR] File build.json or build.gradle exists.');
return;
}
xprintln('[INFO] Get build.json');
var buildJsonBs = __.httprequest.fromUrl('https://hatter.ink/script/get.action?name=build.json').get();
xprintln('[INFO] Get build.gradle')
var buildGradleBs = __.httprequest.fromUrl('https://hatter.ink/script/get.action?name=' + gradleFn).get();
buildJsonRFile.write(buildJsonBs);
buildGradleRFile.write(buildGradleBs);
createDirs();
createFileGitignore();
};
main = () => {
var args = argsjs.parseDefARGs([]);
if ((args == null) || (args.length == 0)) {
printUsage();
return;
}
if (args[0] == 'springboot') {
createProject('build_springboot_template.gradle');
} else if (args[0] == 'jar') {
createProject('build_jar_template.gradle');
} else {
xprintln('[WARN] Unknown commant: ' + args[0]);
}
};
main();
// @SCRIPT-SIGNATURE-V1: yk-r1.ES256.20250105T215717+08:00.MEUCIQCiea2KACCkhb1/qMvnYGRKWOAzDABzM4LHYoVVousLSAIgIKvu8xkItW3FSmYMJHye9jdcIPBbRto9yGUrnIyZyIs=