first cycle lab release
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env node
|
||||
import { build } from '../platform/build.mjs';
|
||||
import { release } from '../platform/release.mjs';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
import { parseArgs, manageMod, usage } from '../platform/commands.mjs';
|
||||
import { deploy, rollback } from '../platform/ssh-deploy.mjs';
|
||||
import { backup, restoreSnapshot } from '../platform/backups.mjs';
|
||||
|
||||
const args = process.argv.slice(2);
|
||||
if (args.length === 0 || args.includes('--help')) {
|
||||
console.log(usage);
|
||||
process.exit(args.length === 0 ? 1 : 0);
|
||||
}
|
||||
try {
|
||||
const options = parseArgs(args);
|
||||
const root = fileURLToPath(new URL('../', import.meta.url));
|
||||
if (options.command === 'build') console.log(`Release: ${build({ root, configFile: options.configFile, releaseOnly: options.releaseOnly })}`);
|
||||
else if(options.command==='release')console.log(JSON.stringify(release({root,version:options.version,configFile:options.configFile}),null,2));
|
||||
else if (options.command === 'deploy') await deploy({ root, configFile: options.configFile, artifact: options.artifact, sshConfig: options.sshConfig, remoteNode: options.remoteNode });
|
||||
else if (options.command === 'rollback' || options.command === 'rollback-pack') await rollback({ root, ...options });
|
||||
else if (options.command === 'backup') console.log(`Backup: ${backup({ repository: root, targetRelease: options.targetRelease, waitTimeout: options.waitTimeout })}`);
|
||||
else if (options.command === 'restore') console.log(`Restored: ${restoreSnapshot({ backupDirectory: options.backupDirectory, destination: options.destination })}`);
|
||||
else process.exitCode = manageMod({ root, ...options });
|
||||
} catch (error) {
|
||||
console.error(`mcpack: ${error.message}`);
|
||||
process.exitCode = 1;
|
||||
}
|
||||
Reference in New Issue
Block a user