@jnxplus/nx-gradle
Version:
[](https://badge.fury.io/js/@jnxplus%2Fnx-gradle)
48 lines • 2.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createNodesV2 = void 0;
const tslib_1 = require("tslib");
const devkit_1 = require("@nx/devkit");
const child_process_1 = require("child_process");
const fs = require("fs");
const path = require("path");
const utils_1 = require("../utils");
const graph_utils_1 = require("./graph-utils");
exports.createNodesV2 = [
'nx.json',
(configFiles, options, context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
return yield (0, devkit_1.createNodesFromFiles)((configFile, options, context) => createNodesInternal(configFile, options, context), configFiles, options, context);
}),
];
function createNodesInternal(configFilePath, options,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
context) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
if (!fs.existsSync(graph_utils_1.outputDirectory)) {
fs.mkdirSync(graph_utils_1.outputDirectory, { recursive: true });
}
const command = `${(0, utils_1.getExecutable)()} :projectDependencyTask --outputFile=${graph_utils_1.outputFile}`;
const gradleRootDirectory = (options === null || options === void 0 ? void 0 : options.gradleRootDirectory)
? options.gradleRootDirectory
: '';
(0, child_process_1.execSync)(command, {
cwd: path.join(devkit_1.workspaceRoot, gradleRootDirectory),
env: process.env,
stdio: 'pipe',
encoding: 'utf-8',
windowsHide: true,
});
const gradleProjects = (0, graph_utils_1.getGradleProjects)();
const projects = {};
for (const project of gradleProjects) {
const projectRoot = (0, graph_utils_1.getProjectRoot)(gradleRootDirectory, project);
projects[projectRoot] = {
root: projectRoot,
name: project.name,
tags: ['nx-gradle'],
};
}
return { projects: projects };
});
}
//# sourceMappingURL=create-nodes-v2.js.map