@nx/gradle 19.1.0-canary.20240523-261b0ff → 19.1.0-canary.20240524-12c6a73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/gradle",
3
- "version": "19.1.0-canary.20240523-261b0ff",
3
+ "version": "19.1.0-canary.20240524-12c6a73",
4
4
  "private": false,
5
5
  "description": "The Nx Plugin for Gradle allows Gradle tasks to be run through Nx",
6
6
  "repository": {
@@ -34,7 +34,7 @@
34
34
  "migrations": "./migrations.json"
35
35
  },
36
36
  "dependencies": {
37
- "@nx/devkit": "19.1.0-canary.20240523-261b0ff"
37
+ "@nx/devkit": "19.1.0-canary.20240524-12c6a73"
38
38
  },
39
39
  "publishConfig": {
40
40
  "access": "public"
@@ -24,7 +24,7 @@ const createDependencies = async (_, context) => {
24
24
  }
25
25
  const gradleDependenciesEnd = performance.mark('gradleDependencies:end');
26
26
  performance.measure('gradleDependencies', gradleDependenciesStart.name, gradleDependenciesEnd.name);
27
- (0, nodes_1.writeTargetsToCache)(nodes_1.calculatedTargets);
27
+ (0, nodes_1.writeTargetsToCache)();
28
28
  if (dependencies.length) {
29
29
  (0, get_gradle_report_1.invalidateGradleReportCache)();
30
30
  }
@@ -1,18 +1,9 @@
1
- import { CreateNodes, ProjectConfiguration, TargetConfiguration } from '@nx/devkit';
1
+ import { CreateNodes } from '@nx/devkit';
2
2
  export interface GradlePluginOptions {
3
3
  testTargetName?: string;
4
4
  classesTargetName?: string;
5
5
  buildTargetName?: string;
6
6
  [taskTargetName: string]: string | undefined;
7
7
  }
8
- export declare const calculatedTargets: Record<string, {
9
- name: string;
10
- targets: Record<string, TargetConfiguration>;
11
- metadata: ProjectConfiguration['metadata'];
12
- }>;
13
- export declare function writeTargetsToCache(targets: Record<string, {
14
- name: string;
15
- targets: Record<string, TargetConfiguration>;
16
- metadata: ProjectConfiguration['metadata'];
17
- }>): void;
8
+ export declare function writeTargetsToCache(): void;
18
9
  export declare const createNodes: CreateNodes<GradlePluginOptions>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createNodes = exports.writeTargetsToCache = exports.calculatedTargets = void 0;
3
+ exports.createNodes = exports.writeTargetsToCache = void 0;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const calculate_hash_for_create_nodes_1 = require("@nx/devkit/src/utils/calculate-hash-for-create-nodes");
6
6
  const node_fs_1 = require("node:fs");
@@ -15,13 +15,16 @@ const dependsOnMap = {
15
15
  classes: ['^classes'],
16
16
  };
17
17
  const cachePath = (0, node_path_1.join)(cache_directory_1.projectGraphCacheDirectory, 'gradle.hash');
18
- const targetsCache = (0, node_fs_1.existsSync)(cachePath) ? readTargetsCache() : {};
19
- exports.calculatedTargets = {};
18
+ const targetsCache = readTargetsCache();
20
19
  function readTargetsCache() {
21
- return (0, devkit_1.readJsonFile)(cachePath);
20
+ return (0, node_fs_1.existsSync)(cachePath) ? (0, devkit_1.readJsonFile)(cachePath) : {};
22
21
  }
23
- function writeTargetsToCache(targets) {
24
- (0, devkit_1.writeJsonFile)(cachePath, targets);
22
+ function writeTargetsToCache() {
23
+ const oldCache = readTargetsCache();
24
+ (0, devkit_1.writeJsonFile)(cachePath, {
25
+ ...oldCache,
26
+ ...targetsCache,
27
+ });
25
28
  }
26
29
  exports.writeTargetsToCache = writeTargetsToCache;
27
30
  exports.createNodes = [
@@ -29,52 +32,51 @@ exports.createNodes = [
29
32
  (gradleFilePath, options, context) => {
30
33
  const projectRoot = (0, node_path_1.dirname)(gradleFilePath);
31
34
  const hash = (0, calculate_hash_for_create_nodes_1.calculateHashForCreateNodes)(projectRoot, options ?? {}, context);
32
- if (targetsCache[hash]) {
33
- exports.calculatedTargets[hash] = targetsCache[hash];
34
- return {
35
- projects: {
36
- [projectRoot]: targetsCache[hash],
37
- },
38
- };
39
- }
40
- try {
41
- const { gradleProjectToTasksTypeMap, gradleFileToOutputDirsMap, gradleFileToGradleProjectMap, gradleProjectToProjectName, } = (0, get_gradle_report_1.getGradleReport)();
42
- const gradleProject = gradleFileToGradleProjectMap.get(gradleFilePath);
43
- const projectName = gradleProjectToProjectName.get(gradleProject);
44
- if (!projectName) {
45
- return;
46
- }
47
- const tasksTypeMap = gradleProjectToTasksTypeMap.get(gradleProject);
48
- let tasks = [];
49
- for (let [taskName, taskType] of tasksTypeMap.entries()) {
50
- tasks.push({
51
- type: taskType,
52
- name: taskName,
53
- });
54
- }
55
- const outputDirs = gradleFileToOutputDirsMap.get(gradleFilePath);
56
- const { targets, targetGroups } = createGradleTargets(tasks, options, context, outputDirs, gradleProject);
57
- const project = {
58
- name: projectName,
59
- targets,
60
- metadata: {
61
- targetGroups,
62
- technologies: ['gradle'],
63
- },
64
- };
65
- exports.calculatedTargets[hash] = project;
66
- return {
67
- projects: {
68
- [projectRoot]: project,
69
- },
70
- };
71
- }
72
- catch (e) {
73
- console.error(e);
35
+ targetsCache[hash] ??= createGradleProject(gradleFilePath, options, context);
36
+ const project = targetsCache[hash];
37
+ if (!project) {
74
38
  return {};
75
39
  }
40
+ return {
41
+ projects: {
42
+ [projectRoot]: project,
43
+ },
44
+ };
76
45
  },
77
46
  ];
47
+ function createGradleProject(gradleFilePath, options, context) {
48
+ try {
49
+ const { gradleProjectToTasksTypeMap, gradleFileToOutputDirsMap, gradleFileToGradleProjectMap, gradleProjectToProjectName, } = (0, get_gradle_report_1.getGradleReport)();
50
+ const gradleProject = gradleFileToGradleProjectMap.get(gradleFilePath);
51
+ const projectName = gradleProjectToProjectName.get(gradleProject);
52
+ if (!projectName) {
53
+ return;
54
+ }
55
+ const tasksTypeMap = gradleProjectToTasksTypeMap.get(gradleProject);
56
+ let tasks = [];
57
+ for (let [taskName, taskType] of tasksTypeMap.entries()) {
58
+ tasks.push({
59
+ type: taskType,
60
+ name: taskName,
61
+ });
62
+ }
63
+ const outputDirs = gradleFileToOutputDirsMap.get(gradleFilePath);
64
+ const { targets, targetGroups } = createGradleTargets(tasks, options, context, outputDirs, gradleProject);
65
+ const project = {
66
+ name: projectName,
67
+ targets,
68
+ metadata: {
69
+ targetGroups,
70
+ technologies: ['gradle'],
71
+ },
72
+ };
73
+ return project;
74
+ }
75
+ catch (e) {
76
+ console.error(e);
77
+ return undefined;
78
+ }
79
+ }
78
80
  function createGradleTargets(tasks, options, context, outputDirs, gradleProject) {
79
81
  const inputsMap = createInputsMap(context);
80
82
  const targets = {};