UNPKG

@facets-cloud/facetsctlv3

Version:
67 lines (66 loc) 2.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@oclif/core"); const artifact_service_1 = require("../../services/artifact-service"); class Init extends core_1.Command { static description = 'Initialize artifact information'; static examples = [ `$ facetsctl artifact init --project my-project --service my-service --artifactory my-artifactory Created artifact-info.facets.yaml ` ]; static flags = { project: core_1.Flags.string({ char: 'p', description: 'Project name', required: true, }), service: core_1.Flags.string({ char: 's', description: 'Service name', exclusive: ['ci-integration'], }), "ci-integration": core_1.Flags.string({ char: 'c', description: 'CI Integration Name', exclusive: ['service'], }), artifactory: core_1.Flags.string({ char: 'a', description: 'Artifactory name', required: true, }), }; async run() { const { flags } = await this.parse(Init); const project = flags.project; const service = flags.service; const artifactory = flags.artifactory; const ciIntegration = flags?.['ci-integration']; if (!project || !artifactory || (!service && !ciIntegration)) { this.error('Project and artifactory and (service or ci-integration) are required.'); } const artifactInfo = { projectName: project, serviceName: service, ciIntegrationName: ciIntegration, artifactoryName: artifactory, }; core_1.ux.action.start('Creating artifact-info.facets.yaml'); try { artifact_service_1.ArtifactService.writeArtifactInfo(artifactInfo); core_1.ux.action.stop('File created successfully'); } catch (error) { core_1.ux.action.stop('Failed to create file'); if (error instanceof Error) { this.error(`Failed to create ${artifact_service_1.ArtifactService.getArtifactFilePath()}: ${error.message}`); } else { this.error(`Failed to create ${artifact_service_1.ArtifactService.getArtifactFilePath()}: ${String(error)}`); } } this.log(`Created ${artifact_service_1.ArtifactService.getArtifactFilePath()}`); } } exports.default = Init;