UNPKG

@jnxplus/nx-maven

Version:

[![npm version](https://badge.fury.io/js/@jnxplus%2Fnx-maven.svg)](https://badge.fury.io/js/@jnxplus%2Fnx-maven)

91 lines 4.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = default_1; const tslib_1 = require("tslib"); const common_1 = require("@jnxplus/common"); const devkit_1 = require("@nx/devkit"); const path = require("path"); const utils_1 = require("../../utils"); function default_1(tree, options) { return tslib_1.__awaiter(this, void 0, void 0, function* () { yield parentProjectGenerator(tree, options); }); } function normalizeOptions(tree, options) { const simpleProjectName = (0, common_1.generateSimpleProjectName)({ name: options.name, }); const projectName = (0, common_1.generateProjectName)(simpleProjectName, { name: options.name, simpleName: options.simpleName, directory: options.directory, }); const projectDirectory = (0, common_1.generateProjectDirectory)(simpleProjectName, { directory: options.directory, }); const mavenRootDirectory = (0, utils_1.getMavenRootDirectory)(); const projectRoot = (0, common_1.generateProjectRoot)(mavenRootDirectory, projectDirectory); const parsedTags = (0, common_1.parseTags)(options.tags); const [relativePath, parentProjectName, parentGroupId, parentProjectVersion] = (0, utils_1.getParentProjectValues)(tree, mavenRootDirectory, projectRoot, options.parentProject); const plugin = (0, utils_1.getPlugin)(); const buildTargetName = (0, common_1.getBuildTargetName)(plugin); const aggregatorProjectRoot = (0, utils_1.getAggregatorProjectRoot)(tree, options.aggregatorProject, mavenRootDirectory); return Object.assign(Object.assign({}, options), { projectName, projectRoot, projectDirectory, parsedTags, parentGroupId, parentProjectName, parentProjectVersion, relativePath, kotlinVersion: common_1.kotlinVersion, springBootVersion: common_1.springBootVersion, quarkusVersion: common_1.quarkusVersion, micronautVersion: common_1.micronautVersion, mavenRootDirectory, micronautCoreVersion: common_1.micronautCoreVersion, micronautSerializationVersion: common_1.micronautSerializationVersion, micronautTestResourcesVersion: common_1.micronautTestResourcesVersion, micronautMavenPluginVersion: common_1.micronautMavenPluginVersion, mavenCompilerPluginVersion: common_1.mavenCompilerPluginVersion, mavenEnforcerPluginVersion: common_1.mavenEnforcerPluginVersion, mavenResourcesPluginVersion: common_1.mavenResourcesPluginVersion, mavenWarPluginVersion: common_1.mavenWarPluginVersion, mavenSurefirePluginVersion: common_1.mavenSurefirePluginVersion, mavenFailsafePluginVersion: common_1.mavenFailsafePluginVersion, buildTargetName, aggregatorProjectRoot }); } function addFiles(tree, options) { const templateOptions = Object.assign(Object.assign(Object.assign({}, options), (0, devkit_1.names)(options.name)), { offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.projectRoot), template: '' }); (0, devkit_1.generateFiles)(tree, path.join(__dirname, 'files'), options.projectRoot, templateOptions); } function parentProjectGenerator(tree, options) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const normalizedOptions = normalizeOptions(tree, options); (0, devkit_1.addProjectConfiguration)(tree, normalizedOptions.projectName, { root: normalizedOptions.projectRoot, projectType: normalizedOptions.projectType, targets: { [normalizedOptions.buildTargetName]: { executor: '@jnxplus/nx-maven:run-task', outputs: ['{options.outputDirLocalRepo}'], options: { task: 'install', }, }, }, tags: normalizedOptions.parsedTags, }); addFiles(tree, normalizedOptions); (0, utils_1.addProjectToAggregator)(tree, { projectRoot: normalizedOptions.projectRoot, aggregatorProjectRoot: normalizedOptions.aggregatorProjectRoot, mavenRootDirectory: normalizedOptions.mavenRootDirectory, }); if (!options.skipFormat) { yield (0, devkit_1.formatFiles)(tree); } }); } //# sourceMappingURL=generator.js.map