UNPKG

@veecode-platform/safira-cli

Version:

Generate a microservice project from your spec.

48 lines (47 loc) 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MavenPackage = void 0; const file_system_utils_1 = require("../../utils/file-system-utils"); const command_execute_1 = require("../../command/command-execute"); class MavenPackage { async package(options) { const mvnw = file_system_utils_1.FileSystemUtils.buildPath(options.projectPath, "mvnw"); const dockerfileType = options.dockerFile ? options.dockerFile.split(".").pop() : ""; const buildType = this._buildType(dockerfileType || ""); console.log(`Executing: ${mvnw} package`); await this._updateVersion(mvnw, options.version); const params = ["package"]; if (options.quarkusBuiltinImage) params.push("-Dquarkus.container-image.build=true"); if (options.quarkusBuiltinImagePublish) { params.push("-Dquarkus.container-image.push=true", `-Dquarkus.container-image.registry=${options.registry.registry}`, `-Dquarkus.container-image.group=${options.registry.username}`, `-Dquarkus.container-image.username=${options.registry.username}`, `-Dquarkus.container-image.password=${options.registry.password}`); } if (options.dockerImageRegistry) params.push(`-Dquarkus.container-image.registry=${options.dockerImageRegistry}`); if (options.skipTests === true) params.push("-DskipTests=true"); if (buildType) params.push(buildType); await command_execute_1.CommandExecute.instance.exec(`${mvnw} ${params.join(" ")}`, false); } name() { return "MavenPackage"; } async _updateVersion(mvnw, version) { await command_execute_1.CommandExecute.instance.exec(`${mvnw} versions:set -DnewVersion=${version}&&${mvnw} versions:commit`); } _buildType(dockerFile) { console.log(`dockerFile buildType: ${dockerFile}`); switch (dockerFile) { case "native-distroless": case "native": return "-Pnative"; case "legacy-jar": return "-Dquarkus.package.type=legacy-jar"; case "jvm": default: return ""; } } } exports.MavenPackage = MavenPackage;