@veecode-platform/safira-cli
Version:
Generate a microservice project from your spec.
42 lines (41 loc) • 2.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BuildJava = void 0;
const gradle_package_1 = require("./gradle-package");
const maven_package_1 = require("./maven-package");
const support_exception_1 = require("../../exception/support-exception");
const java_package_1 = require("./java-package");
const credentials_1 = require("../../vkpr/credentials/credentials");
const java_framework_enum_1 = require("../../generate/java/java-framework-enum");
class BuildJava {
async build(projectPath, version, dockerFile, framework, skipTest = false) {
const packManager = this.getJavaPackage(projectPath);
console.log("Building Java project");
console.log(`Building Java project ${packManager.name()}`);
const credential = credentials_1.Credentials.instance.getCredential(credentials_1.CredentialsKey.dockerRegistry);
await packManager.package({
projectPath: projectPath,
dockerFile: dockerFile,
dockerImageRegistry: credential.credential.endpoint,
skipTests: skipTest,
version: version,
quarkusBuiltinImage: framework === java_framework_enum_1.JavaFrameworksEnum.quarkus,
quarkusBuiltinImagePublish: framework === java_framework_enum_1.JavaFrameworksEnum.quarkus,
registry: {
registry: credential.credential.endpoint,
username: credential.credential.username,
password: credential.credential.password,
},
});
}
getJavaPackage(projectPath) {
if (java_package_1.JavaPackageUtils.isGradlePackage(projectPath)) {
return new gradle_package_1.GradlePackage();
}
if (java_package_1.JavaPackageUtils.isMavenPackage(projectPath)) {
return new maven_package_1.MavenPackage();
}
throw new support_exception_1.JavaPackageNotSupportedException("No Java package file found");
}
}
exports.BuildJava = BuildJava;