@jnxplus/nx-maven
Version:
[](https://badge.fury.io/js/@jnxplus%2Fnx-maven)
98 lines • 4.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createDependencies = void 0;
const tslib_1 = require("tslib");
const devkit_1 = require("@nx/devkit");
const graph_utils_1 = require("./graph-utils");
const createDependencies = (opts, context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
const results = [];
const normalizedOpts = (0, graph_utils_1.getNormalizedOptions)(opts);
const workspaceData = yield (0, graph_utils_1.getWorkspaceData)(opts);
const projects = workspaceData.projects;
for (const project of Object.values(projects)) {
if (!project.skipProject) {
const projectSourceFile = (0, devkit_1.joinPathFragments)(project.projectRoot, 'pom.xml');
if (project.parentProjectArtifactId) {
const parentProject = projects[project.parentProjectArtifactId];
if (!parentProject.skipProject) {
const newDependency = {
source: project.artifactId,
target: parentProject.artifactId,
sourceFile: projectSourceFile,
type: devkit_1.DependencyType.static,
};
(0, devkit_1.validateDependency)(newDependency, context);
results.push(newDependency);
}
}
if (!normalizedOpts.graphOptions.skipAggregatorProjectLinking) {
if (project.aggregatorProjectArtifactId &&
project.aggregatorProjectArtifactId !==
project.parentProjectArtifactId) {
const aggregatorProject = projects[project.aggregatorProjectArtifactId];
if (!aggregatorProject.skipProject) {
const newDependency = {
source: project.artifactId,
target: aggregatorProject.artifactId,
sourceFile: projectSourceFile,
type: devkit_1.DependencyType.static,
};
(0, devkit_1.validateDependency)(newDependency, context);
results.push(newDependency);
}
}
}
const dependencies = getDependencyProjects(project, projects);
for (const dependency of dependencies) {
if (!dependency.skipProject) {
const newDependency = {
source: project.artifactId,
target: dependency.artifactId,
sourceFile: projectSourceFile,
type: devkit_1.DependencyType.static,
};
(0, devkit_1.validateDependency)(newDependency, context);
results.push(newDependency);
}
}
const profileDependencies = getProfileDependencyProjects(project, projects);
for (const profileDependency of profileDependencies) {
if (!profileDependency.skipProject) {
const newDependency = {
source: project.artifactId,
target: profileDependency.artifactId,
sourceFile: projectSourceFile,
type: devkit_1.DependencyType.static,
};
(0, devkit_1.validateDependency)(newDependency, context);
results.push(newDependency);
}
}
const pluginDependencies = getPluginDependencyProjects(project, projects);
for (const pluginDependency of pluginDependencies) {
if (!pluginDependency.skipProject) {
const newDependency = {
source: project.artifactId,
target: pluginDependency.artifactId,
sourceFile: projectSourceFile,
type: devkit_1.DependencyType.static,
};
(0, devkit_1.validateDependency)(newDependency, context);
results.push(newDependency);
}
}
}
}
return results;
});
exports.createDependencies = createDependencies;
function getDependencyProjects(project, projects) {
return Object.values(projects).filter((p) => project.dependencies.includes(p.artifactId));
}
function getProfileDependencyProjects(project, projects) {
return Object.values(projects).filter((p) => project.profileDependencies.includes(p.artifactId));
}
function getPluginDependencyProjects(project, projects) {
return Object.values(projects).filter((p) => project.pluginDependencies.includes(p.artifactId));
}
//# sourceMappingURL=create-dependencies.js.map