@nx/gradle 23.0.0-pr.35413.460eeef → 23.0.0-rc.0

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.
Files changed (196) hide show
  1. package/{batch-runner → dist/batch-runner}/build/libs/gradle-batch-runner-all.jar +0 -0
  2. package/dist/batch-runner/build/libs/gradle-batch-runner.jar +0 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/plugin-v1.d.ts +4 -0
  5. package/dist/plugin-v1.js +25 -0
  6. package/dist/plugin.d.ts +7 -0
  7. package/{plugin.js → dist/plugin.js} +6 -3
  8. package/dist/src/executors/gradle/get-exclude-task.d.ts +3 -0
  9. package/dist/src/executors/gradle/get-exclude-task.js +55 -0
  10. package/{src → dist/src}/executors/gradle/gradle-batch.impl.d.ts +5 -12
  11. package/dist/src/executors/gradle/gradle-batch.impl.js +177 -0
  12. package/{src → dist/src}/executors/gradle/gradle.impl.d.ts +0 -1
  13. package/{src → dist/src}/executors/gradle/gradle.impl.js +5 -2
  14. package/{src → dist/src}/generators/ci-workflow/generator.d.ts +0 -1
  15. package/{src → dist/src}/generators/init/gradle-project-graph-plugin-utils.d.ts +0 -1
  16. package/{src → dist/src}/generators/init/init.d.ts +0 -1
  17. package/{src/migrations/20-2-0/add-include-subprojects-tasks.d.ts → dist/src/migrations/21-0-0/change-ciTargetName-to-ciTestTargetName.d.ts} +0 -1
  18. package/dist/src/migrations/21-0-0/change-ciTargetName-to-ciTestTargetName.md +31 -0
  19. package/{src → dist/src}/migrations/21-0-0/change-plugin-to-v1.d.ts +0 -1
  20. package/dist/src/migrations/21-0-0/change-plugin-to-v1.md +21 -0
  21. package/{src → dist/src}/migrations/21-1-2/change-plugin-version-0-1-0.d.ts +0 -1
  22. package/dist/src/migrations/21-1-2/change-plugin-version-0-1-0.md +21 -0
  23. package/{src → dist/src}/migrations/21-3-0/change-plugin-version-0-1-2.d.ts +0 -1
  24. package/dist/src/migrations/21-3-0/change-plugin-version-0-1-2.md +21 -0
  25. package/{src → dist/src}/migrations/21-3-11/change-plugin-version-0-1-4.d.ts +0 -1
  26. package/dist/src/migrations/21-3-11/change-plugin-version-0-1-4.md +21 -0
  27. package/{src → dist/src}/migrations/21-4-0/change-plugin-version-0-1-5.d.ts +0 -1
  28. package/dist/src/migrations/21-4-0/change-plugin-version-0-1-5.md +21 -0
  29. package/{src → dist/src}/migrations/21-4-1/change-plugin-version-0-1-6.d.ts +0 -1
  30. package/dist/src/migrations/21-4-1/change-plugin-version-0-1-6.md +21 -0
  31. package/{src → dist/src}/migrations/21-5-1/change-plugin-version-0-1-7.d.ts +0 -1
  32. package/dist/src/migrations/21-5-1/change-plugin-version-0-1-7.md +21 -0
  33. package/{src → dist/src}/migrations/21-6-1/change-plugin-version-0-1-8.d.ts +0 -1
  34. package/dist/src/migrations/21-6-1/change-plugin-version-0-1-8.md +21 -0
  35. package/{src → dist/src}/migrations/22-1-0/change-plugin-version-0-1-9.d.ts +0 -1
  36. package/dist/src/migrations/22-1-0/change-plugin-version-0-1-9.md +21 -0
  37. package/dist/src/migrations/22-2-0/change-plugin-version-0-1-10.d.ts +2 -0
  38. package/dist/src/migrations/22-2-0/change-plugin-version-0-1-10.md +21 -0
  39. package/dist/src/migrations/22-3-0/change-plugin-version-0-1-11.d.ts +2 -0
  40. package/dist/src/migrations/22-3-0/change-plugin-version-0-1-11.md +21 -0
  41. package/dist/src/migrations/22-5-0/change-plugin-version-0-1-12.d.ts +2 -0
  42. package/dist/src/migrations/22-5-0/change-plugin-version-0-1-12.md +21 -0
  43. package/dist/src/migrations/22-5-3/change-plugin-version-0-1-13.d.ts +2 -0
  44. package/dist/src/migrations/22-5-3/change-plugin-version-0-1-13.md +21 -0
  45. package/dist/src/migrations/22-6-0/change-plugin-version-0-1-14.d.ts +2 -0
  46. package/dist/src/migrations/22-6-0/change-plugin-version-0-1-14.md +21 -0
  47. package/dist/src/migrations/22-6-0/change-plugin-version-0-1-15.d.ts +2 -0
  48. package/dist/src/migrations/22-6-0/change-plugin-version-0-1-15.md +21 -0
  49. package/dist/src/migrations/22-7-0/change-plugin-version-0-1-16.d.ts +2 -0
  50. package/dist/src/migrations/22-7-0/change-plugin-version-0-1-16.md +21 -0
  51. package/dist/src/migrations/22-7-0/change-plugin-version-0-1-17.d.ts +2 -0
  52. package/dist/src/migrations/22-7-0/change-plugin-version-0-1-17.md +21 -0
  53. package/dist/src/migrations/22-7-0/change-plugin-version-0-1-18.d.ts +2 -0
  54. package/dist/src/migrations/22-7-0/change-plugin-version-0-1-18.md +21 -0
  55. package/dist/src/migrations/22-7-0/change-plugin-version-0-1-19.d.ts +2 -0
  56. package/dist/src/migrations/22-7-0/change-plugin-version-0-1-19.md +21 -0
  57. package/dist/src/migrations/22-7-0/change-plugin-version-0-1-20.d.ts +2 -0
  58. package/dist/src/migrations/22-7-0/change-plugin-version-0-1-20.md +21 -0
  59. package/dist/src/migrations/23-0-0/change-plugin-version-0-1-21.d.ts +2 -0
  60. package/dist/src/migrations/23-0-0/change-plugin-version-0-1-21.js +23 -0
  61. package/dist/src/migrations/23-0-0/change-plugin-version-0-1-21.md +21 -0
  62. package/dist/src/migrations/update-23-0-0/migrate-create-nodes-v2-to-create-nodes.d.ts +9 -0
  63. package/dist/src/migrations/update-23-0-0/migrate-create-nodes-v2-to-create-nodes.js +226 -0
  64. package/dist/src/migrations/update-23-0-0/migrate-create-nodes-v2-to-create-nodes.md +25 -0
  65. package/{src → dist/src}/plugin/dependencies.d.ts +0 -1
  66. package/{src → dist/src}/plugin/nodes.d.ts +7 -4
  67. package/{src → dist/src}/plugin/nodes.js +29 -9
  68. package/{src → dist/src}/plugin/utils/get-project-graph-from-gradle-plugin.d.ts +0 -1
  69. package/{src → dist/src}/plugin/utils/get-project-graph-lines.d.ts +0 -1
  70. package/{src → dist/src}/plugin/utils/gradle-plugin-options.d.ts +0 -1
  71. package/dist/src/plugin-v1/dependencies.d.ts +6 -0
  72. package/{src → dist/src}/plugin-v1/dependencies.js +4 -0
  73. package/{src → dist/src}/plugin-v1/nodes.d.ts +8 -5
  74. package/{src → dist/src}/plugin-v1/nodes.js +24 -6
  75. package/{src → dist/src}/plugin-v1/utils/get-gradle-report.d.ts +0 -1
  76. package/{src → dist/src}/plugin-v1/utils/get-project-report-lines.d.ts +0 -1
  77. package/{src → dist/src}/utils/exec-gradle.d.ts +0 -1
  78. package/{src → dist/src}/utils/has-gradle-plugin.d.ts +0 -1
  79. package/{src → dist/src}/utils/split-config-files.d.ts +0 -1
  80. package/{src → dist/src}/utils/version-catalog-ast-utils.d.ts +0 -1
  81. package/{src → dist/src}/utils/versions.d.ts +1 -2
  82. package/{src → dist/src}/utils/versions.js +3 -2
  83. package/executors.json +3 -3
  84. package/generators.json +4 -4
  85. package/migrations.json +55 -27
  86. package/package.json +50 -15
  87. package/batch-runner/build/libs/gradle-batch-runner.jar +0 -0
  88. package/index.d.ts +0 -2
  89. package/index.d.ts.map +0 -1
  90. package/plugin-v1.d.ts +0 -3
  91. package/plugin-v1.d.ts.map +0 -1
  92. package/plugin-v1.js +0 -8
  93. package/plugin.d.ts +0 -5
  94. package/plugin.d.ts.map +0 -1
  95. package/src/executors/gradle/get-exclude-task.d.ts +0 -42
  96. package/src/executors/gradle/get-exclude-task.d.ts.map +0 -1
  97. package/src/executors/gradle/get-exclude-task.js +0 -159
  98. package/src/executors/gradle/gradle-batch.impl.d.ts.map +0 -1
  99. package/src/executors/gradle/gradle-batch.impl.js +0 -156
  100. package/src/executors/gradle/gradle.impl.d.ts.map +0 -1
  101. package/src/generators/ci-workflow/generator.d.ts.map +0 -1
  102. package/src/generators/init/gradle-project-graph-plugin-utils.d.ts.map +0 -1
  103. package/src/generators/init/init.d.ts.map +0 -1
  104. package/src/migrations/20-2-0/add-include-subprojects-tasks.d.ts.map +0 -1
  105. package/src/migrations/20-2-0/add-include-subprojects-tasks.js +0 -32
  106. package/src/migrations/21-0-0/change-ciTargetName-to-ciTestTargetName.d.ts +0 -3
  107. package/src/migrations/21-0-0/change-ciTargetName-to-ciTestTargetName.d.ts.map +0 -1
  108. package/src/migrations/21-0-0/change-plugin-to-v1.d.ts.map +0 -1
  109. package/src/migrations/21-1-2/change-plugin-version-0-1-0.d.ts.map +0 -1
  110. package/src/migrations/21-3-0/change-plugin-version-0-1-2.d.ts.map +0 -1
  111. package/src/migrations/21-3-11/change-plugin-version-0-1-4.d.ts.map +0 -1
  112. package/src/migrations/21-4-0/change-plugin-version-0-1-5.d.ts.map +0 -1
  113. package/src/migrations/21-4-1/change-plugin-version-0-1-6.d.ts.map +0 -1
  114. package/src/migrations/21-5-1/change-plugin-version-0-1-7.d.ts.map +0 -1
  115. package/src/migrations/21-6-1/change-plugin-version-0-1-8.d.ts.map +0 -1
  116. package/src/migrations/22-1-0/change-plugin-version-0-1-9.d.ts.map +0 -1
  117. package/src/migrations/22-2-0/change-plugin-version-0-1-10.d.ts +0 -3
  118. package/src/migrations/22-2-0/change-plugin-version-0-1-10.d.ts.map +0 -1
  119. package/src/migrations/22-3-0/change-plugin-version-0-1-11.d.ts +0 -3
  120. package/src/migrations/22-3-0/change-plugin-version-0-1-11.d.ts.map +0 -1
  121. package/src/migrations/22-5-0/change-plugin-version-0-1-12.d.ts +0 -3
  122. package/src/migrations/22-5-0/change-plugin-version-0-1-12.d.ts.map +0 -1
  123. package/src/migrations/22-5-3/change-plugin-version-0-1-13.d.ts +0 -3
  124. package/src/migrations/22-5-3/change-plugin-version-0-1-13.d.ts.map +0 -1
  125. package/src/migrations/22-6-0/change-plugin-version-0-1-14.d.ts +0 -3
  126. package/src/migrations/22-6-0/change-plugin-version-0-1-14.d.ts.map +0 -1
  127. package/src/migrations/22-6-0/change-plugin-version-0-1-15.d.ts +0 -3
  128. package/src/migrations/22-6-0/change-plugin-version-0-1-15.d.ts.map +0 -1
  129. package/src/migrations/22-7-0/change-plugin-version-0-1-16.d.ts +0 -3
  130. package/src/migrations/22-7-0/change-plugin-version-0-1-16.d.ts.map +0 -1
  131. package/src/migrations/22-7-0/change-plugin-version-0-1-17.d.ts +0 -3
  132. package/src/migrations/22-7-0/change-plugin-version-0-1-17.d.ts.map +0 -1
  133. package/src/migrations/22-7-0/change-plugin-version-0-1-18.d.ts +0 -3
  134. package/src/migrations/22-7-0/change-plugin-version-0-1-18.d.ts.map +0 -1
  135. package/src/migrations/22-7-0/change-plugin-version-0-1-19.d.ts +0 -3
  136. package/src/migrations/22-7-0/change-plugin-version-0-1-19.d.ts.map +0 -1
  137. package/src/migrations/22-7-0/change-plugin-version-0-1-20.d.ts +0 -3
  138. package/src/migrations/22-7-0/change-plugin-version-0-1-20.d.ts.map +0 -1
  139. package/src/plugin/dependencies.d.ts.map +0 -1
  140. package/src/plugin/nodes.d.ts.map +0 -1
  141. package/src/plugin/utils/get-project-graph-from-gradle-plugin.d.ts.map +0 -1
  142. package/src/plugin/utils/get-project-graph-lines.d.ts.map +0 -1
  143. package/src/plugin/utils/gradle-plugin-options.d.ts.map +0 -1
  144. package/src/plugin-v1/dependencies.d.ts +0 -3
  145. package/src/plugin-v1/dependencies.d.ts.map +0 -1
  146. package/src/plugin-v1/nodes.d.ts.map +0 -1
  147. package/src/plugin-v1/utils/get-gradle-report.d.ts.map +0 -1
  148. package/src/plugin-v1/utils/get-project-report-lines.d.ts.map +0 -1
  149. package/src/utils/exec-gradle.d.ts.map +0 -1
  150. package/src/utils/has-gradle-plugin.d.ts.map +0 -1
  151. package/src/utils/split-config-files.d.ts.map +0 -1
  152. package/src/utils/version-catalog-ast-utils.d.ts.map +0 -1
  153. package/src/utils/versions.d.ts.map +0 -1
  154. /package/{LICENSE → dist/LICENSE} +0 -0
  155. /package/{index.js → dist/index.js} +0 -0
  156. /package/{src → dist/src}/executors/gradle/schema.d.ts +0 -0
  157. /package/{src → dist/src}/executors/gradle/schema.json +0 -0
  158. /package/{src → dist/src}/generators/ci-workflow/files/circleci/.circleci/config.yml.template +0 -0
  159. /package/{src → dist/src}/generators/ci-workflow/files/github/.github/workflows/__workflowFileName__.yml.template +0 -0
  160. /package/{src → dist/src}/generators/ci-workflow/generator.js +0 -0
  161. /package/{src → dist/src}/generators/ci-workflow/schema.json +0 -0
  162. /package/{src → dist/src}/generators/init/gradle-project-graph-plugin-utils.js +0 -0
  163. /package/{src → dist/src}/generators/init/init.js +0 -0
  164. /package/{src → dist/src}/generators/init/schema.d.ts +0 -0
  165. /package/{src → dist/src}/generators/init/schema.json +0 -0
  166. /package/{src → dist/src}/migrations/21-0-0/change-ciTargetName-to-ciTestTargetName.js +0 -0
  167. /package/{src → dist/src}/migrations/21-0-0/change-plugin-to-v1.js +0 -0
  168. /package/{src → dist/src}/migrations/21-1-2/change-plugin-version-0-1-0.js +0 -0
  169. /package/{src → dist/src}/migrations/21-3-0/change-plugin-version-0-1-2.js +0 -0
  170. /package/{src → dist/src}/migrations/21-3-11/change-plugin-version-0-1-4.js +0 -0
  171. /package/{src → dist/src}/migrations/21-4-0/change-plugin-version-0-1-5.js +0 -0
  172. /package/{src → dist/src}/migrations/21-4-1/change-plugin-version-0-1-6.js +0 -0
  173. /package/{src → dist/src}/migrations/21-5-1/change-plugin-version-0-1-7.js +0 -0
  174. /package/{src → dist/src}/migrations/21-6-1/change-plugin-version-0-1-8.js +0 -0
  175. /package/{src → dist/src}/migrations/22-1-0/change-plugin-version-0-1-9.js +0 -0
  176. /package/{src → dist/src}/migrations/22-2-0/change-plugin-version-0-1-10.js +0 -0
  177. /package/{src → dist/src}/migrations/22-3-0/change-plugin-version-0-1-11.js +0 -0
  178. /package/{src → dist/src}/migrations/22-5-0/change-plugin-version-0-1-12.js +0 -0
  179. /package/{src → dist/src}/migrations/22-5-3/change-plugin-version-0-1-13.js +0 -0
  180. /package/{src → dist/src}/migrations/22-6-0/change-plugin-version-0-1-14.js +0 -0
  181. /package/{src → dist/src}/migrations/22-6-0/change-plugin-version-0-1-15.js +0 -0
  182. /package/{src → dist/src}/migrations/22-7-0/change-plugin-version-0-1-16.js +0 -0
  183. /package/{src → dist/src}/migrations/22-7-0/change-plugin-version-0-1-17.js +0 -0
  184. /package/{src → dist/src}/migrations/22-7-0/change-plugin-version-0-1-18.js +0 -0
  185. /package/{src → dist/src}/migrations/22-7-0/change-plugin-version-0-1-19.js +0 -0
  186. /package/{src → dist/src}/migrations/22-7-0/change-plugin-version-0-1-20.js +0 -0
  187. /package/{src → dist/src}/plugin/dependencies.js +0 -0
  188. /package/{src → dist/src}/plugin/utils/get-project-graph-from-gradle-plugin.js +0 -0
  189. /package/{src → dist/src}/plugin/utils/get-project-graph-lines.js +0 -0
  190. /package/{src → dist/src}/plugin/utils/gradle-plugin-options.js +0 -0
  191. /package/{src → dist/src}/plugin-v1/utils/get-gradle-report.js +0 -0
  192. /package/{src → dist/src}/plugin-v1/utils/get-project-report-lines.js +0 -0
  193. /package/{src → dist/src}/utils/exec-gradle.js +0 -0
  194. /package/{src → dist/src}/utils/has-gradle-plugin.js +0 -0
  195. /package/{src → dist/src}/utils/split-config-files.js +0 -0
  196. /package/{src → dist/src}/utils/version-catalog-ast-utils.js +0 -0
@@ -0,0 +1 @@
1
+ export * from './plugin';
@@ -0,0 +1,4 @@
1
+ /** @deprecated Use `@nx/gradle` instead. This entry will be removed in Nx 24. */
2
+ export { createDependencies } from './src/plugin-v1/dependencies';
3
+ /** @deprecated Use `@nx/gradle` instead. This entry will be removed in Nx 24. */
4
+ export { createNodes, createNodesV2 } from './src/plugin-v1/nodes';
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createNodesV2 = exports.createNodes = exports.createDependencies = void 0;
4
+ const internal_1 = require("@nx/devkit/internal");
5
+ // TODO(v24): remove `@nx/gradle/plugin-v1` entirely. Users should be migrated
6
+ // to `@nx/gradle` (the atomized v2 plugin) via the removal migration shipped
7
+ // alongside the deletion.
8
+ //
9
+ // Use emitPluginWorkerLog so the warning surfaces to the user even when the
10
+ // daemon is enabled — `logger.warn` would route to the daemon log file and
11
+ // be silently swallowed. Guard against older nx versions (< 22.7) where this
12
+ // helper may not exist; @nx/devkit supports nx at +/-1 major.
13
+ if (typeof internal_1.emitPluginWorkerLog === 'function') {
14
+ (0, internal_1.emitPluginWorkerLog)('warn', '`@nx/gradle/plugin-v1` is deprecated and will be removed in Nx 24. ' +
15
+ 'Switch your `nx.json` plugins entry from `@nx/gradle/plugin-v1` to `@nx/gradle`. ' +
16
+ 'Note that the default `@nx/gradle` plugin generates atomized targets — ' +
17
+ 'see https://nx.dev/nx-api/gradle for configuration options.');
18
+ }
19
+ /** @deprecated Use `@nx/gradle` instead. This entry will be removed in Nx 24. */
20
+ var dependencies_1 = require("./src/plugin-v1/dependencies");
21
+ Object.defineProperty(exports, "createDependencies", { enumerable: true, get: function () { return dependencies_1.createDependencies; } });
22
+ /** @deprecated Use `@nx/gradle` instead. This entry will be removed in Nx 24. */
23
+ var nodes_1 = require("./src/plugin-v1/nodes");
24
+ Object.defineProperty(exports, "createNodes", { enumerable: true, get: function () { return nodes_1.createNodes; } });
25
+ Object.defineProperty(exports, "createNodesV2", { enumerable: true, get: function () { return nodes_1.createNodesV2; } });
@@ -0,0 +1,7 @@
1
+ export declare const name: string;
2
+ export declare const createNodes: import("packages/devkit/dist").CreateNodes<import("./src/plugin/utils/gradle-plugin-options").GradlePluginOptions>;
3
+ /**
4
+ * @deprecated Use {@link createNodes} instead. This will be removed in Nx 24.
5
+ */
6
+ export declare const createNodesV2: import("packages/devkit/dist").CreateNodes<import("./src/plugin/utils/gradle-plugin-options").GradlePluginOptions>;
7
+ export declare const createDependencies: import("packages/devkit/dist").CreateDependencies<import("./src/plugin/utils/gradle-plugin-options").GradlePluginOptions>;
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDependencies = exports.createNodes = exports.createNodesV2 = exports.name = void 0;
3
+ exports.createDependencies = exports.createNodesV2 = exports.createNodes = exports.name = void 0;
4
4
  const dependencies_1 = require("./src/plugin/dependencies");
5
5
  const nodes_1 = require("./src/plugin/nodes");
6
6
  const isDisabled = process.env.NX_GRADLE_DISABLE === 'true';
7
7
  exports.name = isDisabled ? '@nx/gradle [disabled]' : '@nx/gradle';
8
- exports.createNodesV2 = isDisabled ? undefined : nodes_1.createNodesV2;
9
- exports.createNodes = exports.createNodesV2;
8
+ exports.createNodes = isDisabled ? undefined : nodes_1.createNodes;
9
+ /**
10
+ * @deprecated Use {@link createNodes} instead. This will be removed in Nx 24.
11
+ */
12
+ exports.createNodesV2 = exports.createNodes;
10
13
  exports.createDependencies = isDisabled ? undefined : dependencies_1.createDependencies;
@@ -0,0 +1,3 @@
1
+ import { ProjectGraphProjectNode, TaskGraph } from '@nx/devkit';
2
+ export declare function getExcludeTasksFromTaskGraph(taskIdsToExcludeDepsOf: Iterable<string>, runningTaskIds: Set<string>, taskGraph: TaskGraph, nodes: Record<string, ProjectGraphProjectNode>, includeDependsOnTasks?: Set<string>): Set<string>;
3
+ export declare function getAllDependsOnFromTaskGraph(startTaskIds: Iterable<string>, taskGraph: TaskGraph): Set<string>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getExcludeTasksFromTaskGraph = getExcludeTasksFromTaskGraph;
4
+ exports.getAllDependsOnFromTaskGraph = getAllDependsOnFromTaskGraph;
5
+ function getGradleTaskName(target, nodes) {
6
+ return nodes[target.project]?.data?.targets?.[target.target]?.options
7
+ ?.taskName;
8
+ }
9
+ function getExcludeTasksFromTaskGraph(taskIdsToExcludeDepsOf, runningTaskIds, taskGraph, nodes, includeDependsOnTasks = new Set()) {
10
+ const excludes = new Set();
11
+ const transitiveDepIds = getAllDependsOnFromTaskGraph(taskIdsToExcludeDepsOf, taskGraph);
12
+ for (const depTaskId of transitiveDepIds) {
13
+ if (runningTaskIds.has(depTaskId)) {
14
+ continue;
15
+ }
16
+ const task = taskGraph.tasks[depTaskId];
17
+ if (!task) {
18
+ continue;
19
+ }
20
+ const gradleTaskName = getGradleTaskName(task.target, nodes);
21
+ if (gradleTaskName && !includeDependsOnTasks.has(gradleTaskName)) {
22
+ excludes.add(gradleTaskName);
23
+ }
24
+ }
25
+ return excludes;
26
+ }
27
+ function getAllDependsOnFromTaskGraph(startTaskIds, taskGraph) {
28
+ const result = new Set();
29
+ const seen = new Set();
30
+ const stack = [];
31
+ const edges = (id) => [
32
+ ...(taskGraph.dependencies[id] ?? []),
33
+ ...(taskGraph.continuousDependencies?.[id] ?? []),
34
+ ];
35
+ for (const id of startTaskIds) {
36
+ seen.add(id);
37
+ for (const dep of edges(id)) {
38
+ stack.push(dep);
39
+ }
40
+ }
41
+ while (stack.length > 0) {
42
+ const current = stack.pop();
43
+ if (seen.has(current)) {
44
+ continue;
45
+ }
46
+ seen.add(current);
47
+ result.add(current);
48
+ for (const dep of edges(current)) {
49
+ if (!seen.has(dep)) {
50
+ stack.push(dep);
51
+ }
52
+ }
53
+ }
54
+ return result;
55
+ }
@@ -1,21 +1,14 @@
1
1
  import { ExecutorContext, ProjectGraphProjectNode, TaskGraph } from '@nx/devkit';
2
2
  import { RunCommandsOptions } from 'nx/src/executors/run-commands/run-commands.impl';
3
- import { BatchResults } from 'nx/src/tasks-runner/batch/batch-messages';
3
+ import { TaskResult } from 'nx/src/config/misc-interfaces';
4
4
  import { GradleExecutorSchema } from './schema';
5
5
  export declare const batchRunnerPath: string;
6
- export default function gradleBatch(taskGraph: TaskGraph, inputs: Record<string, GradleExecutorSchema>, overrides: RunCommandsOptions, context: ExecutorContext): Promise<BatchResults>;
7
- /**
8
- * Get the gradlew task ids to run.
9
- *
10
- * `taskGraph` is the batch's task graph (only tasks running in this batch
11
- * invocation). `fullTaskGraph` is the full task graph for the whole `nx`
12
- * command (defaults to `taskGraph`); transitive dependency walks use it so
13
- * that deps filtered out of the batch — cached tasks, tasks scheduled in
14
- * other batches — are still resolved when computing excludes.
15
- */
6
+ export default function gradleBatch(taskGraph: TaskGraph, inputs: Record<string, GradleExecutorSchema>, overrides: RunCommandsOptions, context: ExecutorContext): AsyncGenerator<{
7
+ task: string;
8
+ result: TaskResult;
9
+ }>;
16
10
  export declare function getGradlewTasksToRun(taskIds: string[], taskGraph: TaskGraph, inputs: Record<string, GradleExecutorSchema>, nodes: Record<string, ProjectGraphProjectNode>, fullTaskGraph?: TaskGraph): {
17
11
  gradlewTasksToRun: Record<string, GradleExecutorSchema>;
18
12
  excludeTasks: Set<string>;
19
13
  excludeTestTasks: Set<string>;
20
14
  };
21
- //# sourceMappingURL=gradle-batch.impl.d.ts.map
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.batchRunnerPath = void 0;
4
+ exports.default = gradleBatch;
5
+ exports.getGradlewTasksToRun = getGradlewTasksToRun;
6
+ const devkit_1 = require("@nx/devkit");
7
+ const exec_gradle_1 = require("../../utils/exec-gradle");
8
+ const path_1 = require("path");
9
+ const child_process_1 = require("child_process");
10
+ const readline_1 = require("readline");
11
+ const get_exclude_task_1 = require("./get-exclude-task");
12
+ exports.batchRunnerPath = (0, path_1.join)(__dirname, '../../../batch-runner/build/libs/gradle-batch-runner-all.jar');
13
+ async function* gradleBatch(taskGraph, inputs, overrides, context) {
14
+ const projectName = taskGraph.tasks[taskGraph.roots[0]]?.target?.project;
15
+ const projectRoot = context.projectGraph.nodes[projectName]?.data?.root ?? '';
16
+ const customGradleExecutableDirectory = (0, exec_gradle_1.getCustomGradleExecutableDirectoryFromPlugin)(context.nxJsonConfiguration);
17
+ let gradlewPath = (0, exec_gradle_1.findGradlewFile)((0, path_1.join)(projectRoot, 'project.json'), devkit_1.workspaceRoot, customGradleExecutableDirectory);
18
+ gradlewPath = (0, path_1.join)(context.root, gradlewPath);
19
+ const root = (0, path_1.dirname)(gradlewPath);
20
+ // set args with passed in args and overrides in command line
21
+ const input = inputs[taskGraph.roots[0]];
22
+ const args = typeof input.args === 'string'
23
+ ? input.args.trim().split(' ')
24
+ : Array.isArray(input.args)
25
+ ? input.args
26
+ : [];
27
+ if (overrides.__overrides_unparsed__.length) {
28
+ args.push(...overrides.__overrides_unparsed__);
29
+ }
30
+ const taskIds = Object.keys(taskGraph.tasks);
31
+ const { gradlewTasksToRun, excludeTasks, excludeTestTasks } = getGradlewTasksToRun(taskIds, taskGraph, inputs, context.projectGraph.nodes, context.taskGraph ?? taskGraph);
32
+ const yielded = new Set();
33
+ try {
34
+ for await (const event of streamTasksInBatch(gradlewTasksToRun, excludeTasks, excludeTestTasks, args, root)) {
35
+ yielded.add(event.task);
36
+ yield event;
37
+ }
38
+ }
39
+ catch (e) {
40
+ devkit_1.output.error({
41
+ title: `Gradlew batch failed`,
42
+ bodyLines: [e.toString()],
43
+ });
44
+ for (const taskId of taskIds) {
45
+ if (!yielded.has(taskId)) {
46
+ yielded.add(taskId);
47
+ yield {
48
+ task: taskId,
49
+ result: { success: false, terminalOutput: e.toString() },
50
+ };
51
+ }
52
+ }
53
+ }
54
+ }
55
+ function getGradlewTasksToRun(taskIds, taskGraph, inputs, nodes, fullTaskGraph = taskGraph) {
56
+ const tasksWithExcludeIds = new Set();
57
+ const testTasksWithExcludeIds = new Set();
58
+ const tasksWithoutExcludeIds = new Set();
59
+ const gradlewTasksToRun = {};
60
+ const includeDependsOnTasks = new Set();
61
+ for (const taskId of taskIds) {
62
+ const input = inputs[taskId];
63
+ gradlewTasksToRun[taskId] = input;
64
+ if (input.includeDependsOnTasks) {
65
+ for (const t of input.includeDependsOnTasks) {
66
+ includeDependsOnTasks.add(t);
67
+ }
68
+ }
69
+ if (input.excludeDependsOn) {
70
+ if (input.testClassName) {
71
+ testTasksWithExcludeIds.add(taskId);
72
+ }
73
+ else {
74
+ tasksWithExcludeIds.add(taskId);
75
+ }
76
+ }
77
+ else {
78
+ tasksWithoutExcludeIds.add(taskId);
79
+ }
80
+ }
81
+ const runningTaskIds = new Set(taskIds);
82
+ for (const depId of (0, get_exclude_task_1.getAllDependsOnFromTaskGraph)(tasksWithoutExcludeIds, fullTaskGraph)) {
83
+ runningTaskIds.add(depId);
84
+ }
85
+ const excludeTasks = (0, get_exclude_task_1.getExcludeTasksFromTaskGraph)(tasksWithExcludeIds, runningTaskIds, fullTaskGraph, nodes, includeDependsOnTasks);
86
+ const excludeTestTasks = (0, get_exclude_task_1.getExcludeTasksFromTaskGraph)(testTasksWithExcludeIds, new Set(), fullTaskGraph, nodes);
87
+ return {
88
+ gradlewTasksToRun,
89
+ excludeTasks,
90
+ excludeTestTasks,
91
+ };
92
+ }
93
+ async function* streamTasksInBatch(gradlewTasksToRun, excludeTasks, excludeTestTasks, args, root) {
94
+ const gradlewBatchStart = performance.mark(`gradlew-batch:start`);
95
+ const debugOptions = (process.env.NX_GRADLE_BATCH_DEBUG ?? '').trim();
96
+ const spawnArgs = [
97
+ ...(debugOptions ? debugOptions.split(/\s+/) : []),
98
+ '-jar',
99
+ exports.batchRunnerPath,
100
+ `--tasks=${JSON.stringify(gradlewTasksToRun)}`,
101
+ `--workspaceRoot=${root}`,
102
+ `--args=${args.join(' ').replaceAll("'", '"')}`,
103
+ `--excludeTasks=${Array.from(excludeTasks).join(',')}`,
104
+ `--excludeTestTasks=${Array.from(excludeTestTasks).join(',')}`,
105
+ ...(process.env.NX_VERBOSE_LOGGING === 'true' ? [] : ['--quiet']),
106
+ ];
107
+ // stderr is inherited so Gradle output (tee'd to System.err by TeeOutputStream)
108
+ // and logger output flow to the terminal in real-time.
109
+ // stdout is piped so we can read NX_RESULT lines emitted per task.
110
+ const cp = (0, child_process_1.spawn)('java', spawnArgs, {
111
+ cwd: devkit_1.workspaceRoot,
112
+ windowsHide: true,
113
+ env: process.env,
114
+ stdio: ['pipe', 'pipe', 'inherit'],
115
+ });
116
+ const exit = new Promise((resolve, reject) => {
117
+ cp.on('error', reject);
118
+ cp.on('close', (code) => resolve(code ?? 0));
119
+ });
120
+ const rl = (0, readline_1.createInterface)({ input: cp.stdout, crlfDelay: Infinity });
121
+ // Drain stdout into a queue eagerly. Yielding inside the readline loop creates
122
+ // back-pressure: if the consumer is slow, `yield` blocks, readline pauses, the
123
+ // OS pipe between Java and Node fills, and Java's NX_RESULT println blocks on
124
+ // a full pipe — the JVM hangs even though all task work is done.
125
+ const queue = [];
126
+ let notifyAvailable = null;
127
+ let readerClosed = false;
128
+ rl.on('line', (line) => {
129
+ if (!line.startsWith('NX_RESULT:'))
130
+ return;
131
+ try {
132
+ const data = JSON.parse(line.slice('NX_RESULT:'.length));
133
+ queue.push({
134
+ task: data.task,
135
+ result: {
136
+ success: data.result.success ?? false,
137
+ status: data.result.status,
138
+ terminalOutput: data.result.terminalOutput ?? '',
139
+ startTime: data.result.startTime,
140
+ endTime: data.result.endTime,
141
+ },
142
+ });
143
+ }
144
+ catch (e) {
145
+ console.error('[Gradle Batch] Failed to parse result line:', line, e);
146
+ return;
147
+ }
148
+ notifyAvailable?.();
149
+ notifyAvailable = null;
150
+ });
151
+ rl.on('close', () => {
152
+ readerClosed = true;
153
+ notifyAvailable?.();
154
+ notifyAvailable = null;
155
+ });
156
+ try {
157
+ while (!readerClosed || queue.length > 0) {
158
+ if (queue.length > 0) {
159
+ yield queue.shift();
160
+ }
161
+ else {
162
+ await new Promise((resolve) => {
163
+ notifyAvailable = resolve;
164
+ });
165
+ }
166
+ }
167
+ }
168
+ finally {
169
+ rl.close();
170
+ }
171
+ const code = await exit;
172
+ const gradlewBatchEnd = performance.mark(`gradlew-batch:end`);
173
+ performance.measure(`gradlew-batch`, gradlewBatchStart.name, gradlewBatchEnd.name);
174
+ if (code !== 0) {
175
+ throw new Error(`Gradle batch runner exited with code ${code}`);
176
+ }
177
+ }
@@ -3,4 +3,3 @@ import { GradleExecutorSchema } from './schema';
3
3
  export default function gradleExecutor(options: GradleExecutorSchema, context: ExecutorContext): Promise<{
4
4
  success: boolean;
5
5
  }>;
6
- //# sourceMappingURL=gradle.impl.d.ts.map
@@ -44,9 +44,12 @@ async function gradleExecutor(options, context) {
44
44
  }
45
45
  }
46
46
  });
47
- if (options.excludeDependsOn) {
47
+ if (options.excludeDependsOn && context.taskGraph) {
48
+ const taskId = context.configurationName
49
+ ? `${context.projectName}:${context.targetName}:${context.configurationName}`
50
+ : `${context.projectName}:${context.targetName}`;
48
51
  const includeDependsOnTasks = new Set(options.includeDependsOnTasks ?? []);
49
- (0, get_exclude_task_1.getExcludeTasks)(new Set([{ project: context.projectName, target: context.targetName }]), context.projectGraph.nodes, new Set(), includeDependsOnTasks).forEach((task) => {
52
+ (0, get_exclude_task_1.getExcludeTasksFromTaskGraph)([taskId], new Set([taskId]), context.taskGraph, context.projectGraph.nodes, includeDependsOnTasks).forEach((task) => {
50
53
  if (task) {
51
54
  args.push('--exclude-task', task);
52
55
  }
@@ -12,4 +12,3 @@ export interface Schema {
12
12
  }
13
13
  export declare function ciWorkflowGenerator(tree: Tree, schema: Schema): Promise<void>;
14
14
  export default ciWorkflowGenerator;
15
- //# sourceMappingURL=generator.d.ts.map
@@ -19,4 +19,3 @@ export declare function updateNxPluginVersion(content: string, newVersion: strin
19
19
  * Ensures all build.gradle(.kts) files use the expected version of dev.nx.gradle.project-graph.
20
20
  */
21
21
  export declare function addNxProjectGraphPlugin(tree: Tree, expectedVersion?: string): Promise<void>;
22
- //# sourceMappingURL=gradle-project-graph-plugin-utils.d.ts.map
@@ -3,4 +3,3 @@ import { InitGeneratorSchema } from './schema';
3
3
  export declare function initGenerator(tree: Tree, options: InitGeneratorSchema): Promise<GeneratorCallback>;
4
4
  export declare function updateNxJsonConfiguration(tree: Tree): void;
5
5
  export default initGenerator;
6
- //# sourceMappingURL=init.d.ts.map
@@ -1,3 +1,2 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  export default function update(tree: Tree): void;
3
- //# sourceMappingURL=add-include-subprojects-tasks.d.ts.map
@@ -0,0 +1,31 @@
1
+ #### Change @nx/gradle plugin option ciTargetName to ciTestTargetName
2
+
3
+ Change @nx/gradle plugin option ciTargetName to ciTestTargetName in nx.json
4
+
5
+ #### Sample Code Changes
6
+
7
+ ##### Before
8
+
9
+ ```json title="nx.json"
10
+ {
11
+ "plugins": [
12
+ "plugin": "@nx/gradle",
13
+ "options": {
14
+ "ciTargetName": "ci"
15
+ }
16
+ ]
17
+ }
18
+ ```
19
+
20
+ ##### After
21
+
22
+ ```json title="nx.json" {5}
23
+ {
24
+ "plugins": [
25
+ "plugin": "@nx/gradle",
26
+ "options": {
27
+ "ciTestTargetName": "ci"
28
+ }
29
+ ]
30
+ }
31
+ ```
@@ -1,3 +1,2 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  export default function update(tree: Tree): void;
3
- //# sourceMappingURL=change-plugin-to-v1.d.ts.map
@@ -0,0 +1,21 @@
1
+ #### Change @nx/gradle plugin to @nx/gradle/plugin-v1
2
+
3
+ Change @nx/gradle plugin to version 1 in nx.json
4
+
5
+ #### Sample Code Changes
6
+
7
+ ##### Before
8
+
9
+ ```json title="nx.json"
10
+ {
11
+ "plugins": ["@nx/gradle"]
12
+ }
13
+ ```
14
+
15
+ ##### After
16
+
17
+ ```json title="nx.json" {5}
18
+ {
19
+ "plugins": ["@nx/gradle/plugin-v1"]
20
+ }
21
+ ```
@@ -1,3 +1,2 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  export default function update(tree: Tree): Promise<void>;
3
- //# sourceMappingURL=change-plugin-version-0-1-0.d.ts.map
@@ -0,0 +1,21 @@
1
+ #### Change dev.nx.gradle.project-graph to version 0.1.0
2
+
3
+ Change dev.nx.gradle.project-graph to version 0.1.0 in build file
4
+
5
+ #### Sample Code Changes
6
+
7
+ ##### Before
8
+
9
+ ```text title="build.gradle"
10
+ plugins {
11
+ id "dev.nx.gradle.project-graph" version "0.0.5"
12
+ }
13
+ ```
14
+
15
+ ##### After
16
+
17
+ ```text title="build.gradle"
18
+ plugins {
19
+ id "dev.nx.gradle.project-graph" version "0.1.0"
20
+ }
21
+ ```
@@ -1,3 +1,2 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  export default function update(tree: Tree): Promise<void>;
3
- //# sourceMappingURL=change-plugin-version-0-1-2.d.ts.map
@@ -0,0 +1,21 @@
1
+ #### Change dev.nx.gradle.project-graph to version 0.1.2
2
+
3
+ Change dev.nx.gradle.project-graph to version 0.1.2 in build file
4
+
5
+ #### Sample Code Changes
6
+
7
+ ##### Before
8
+
9
+ ```text title="build.gradle"
10
+ plugins {
11
+ id "dev.nx.gradle.project-graph" version "0.1.0"
12
+ }
13
+ ```
14
+
15
+ ##### After
16
+
17
+ ```text title="build.gradle"
18
+ plugins {
19
+ id "dev.nx.gradle.project-graph" version "0.1.2"
20
+ }
21
+ ```
@@ -1,3 +1,2 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  export default function update(tree: Tree): Promise<void>;
3
- //# sourceMappingURL=change-plugin-version-0-1-4.d.ts.map
@@ -0,0 +1,21 @@
1
+ #### Change dev.nx.gradle.project-graph to version 0.1.4
2
+
3
+ Change dev.nx.gradle.project-graph to version 0.1.4 in build file
4
+
5
+ #### Sample Code Changes
6
+
7
+ ##### Before
8
+
9
+ ```text title="build.gradle"
10
+ plugins {
11
+ id "dev.nx.gradle.project-graph" version "0.1.2"
12
+ }
13
+ ```
14
+
15
+ ##### After
16
+
17
+ ```text title="build.gradle"
18
+ plugins {
19
+ id "dev.nx.gradle.project-graph" version "0.1.4"
20
+ }
21
+ ```
@@ -1,3 +1,2 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  export default function update(tree: Tree): Promise<void>;
3
- //# sourceMappingURL=change-plugin-version-0-1-5.d.ts.map
@@ -0,0 +1,21 @@
1
+ #### Change dev.nx.gradle.project-graph to version 0.1.5
2
+
3
+ Change dev.nx.gradle.project-graph to version 0.1.5 in build file
4
+
5
+ #### Sample Code Changes
6
+
7
+ ##### Before
8
+
9
+ ```text title="build.gradle"
10
+ plugins {
11
+ id "dev.nx.gradle.project-graph" version "0.1.0"
12
+ }
13
+ ```
14
+
15
+ ##### After
16
+
17
+ ```text title="build.gradle"
18
+ plugins {
19
+ id "dev.nx.gradle.project-graph" version "0.1.5"
20
+ }
21
+ ```
@@ -1,3 +1,2 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  export default function update(tree: Tree): Promise<void>;
3
- //# sourceMappingURL=change-plugin-version-0-1-6.d.ts.map
@@ -0,0 +1,21 @@
1
+ #### Change dev.nx.gradle.project-graph to version 0.1.6
2
+
3
+ Change dev.nx.gradle.project-graph to version 0.1.6 in build file
4
+
5
+ #### Sample Code Changes
6
+
7
+ ##### Before
8
+
9
+ ```text title="build.gradle"
10
+ plugins {
11
+ id "dev.nx.gradle.project-graph" version "0.1.0"
12
+ }
13
+ ```
14
+
15
+ ##### After
16
+
17
+ ```text title="build.gradle"
18
+ plugins {
19
+ id "dev.nx.gradle.project-graph" version "0.1.6"
20
+ }
21
+ ```
@@ -1,3 +1,2 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  export default function update(tree: Tree): Promise<void>;
3
- //# sourceMappingURL=change-plugin-version-0-1-7.d.ts.map
@@ -0,0 +1,21 @@
1
+ #### Change dev.nx.gradle.project-graph to version 0.1.7
2
+
3
+ Change dev.nx.gradle.project-graph to version 0.1.7 in build file
4
+
5
+ #### Sample Code Changes
6
+
7
+ ##### Before
8
+
9
+ ```text title="build.gradle"
10
+ plugins {
11
+ id "dev.nx.gradle.project-graph" version "0.1.0"
12
+ }
13
+ ```
14
+
15
+ ##### After
16
+
17
+ ```text title="build.gradle"
18
+ plugins {
19
+ id "dev.nx.gradle.project-graph" version "0.1.7"
20
+ }
21
+ ```
@@ -1,3 +1,2 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  export default function update(tree: Tree): Promise<void>;
3
- //# sourceMappingURL=change-plugin-version-0-1-8.d.ts.map
@@ -0,0 +1,21 @@
1
+ #### Change dev.nx.gradle.project-graph to version 0.1.8
2
+
3
+ Change dev.nx.gradle.project-graph to version 0.1.8 in build file
4
+
5
+ #### Sample Code Changes
6
+
7
+ ##### Before
8
+
9
+ ```text title="build.gradle"
10
+ plugins {
11
+ id "dev.nx.gradle.project-graph" version "0.1.0"
12
+ }
13
+ ```
14
+
15
+ ##### After
16
+
17
+ ```text title="build.gradle"
18
+ plugins {
19
+ id "dev.nx.gradle.project-graph" version "0.1.8"
20
+ }
21
+ ```
@@ -1,3 +1,2 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  export default function update(tree: Tree): Promise<void>;
3
- //# sourceMappingURL=change-plugin-version-0-1-9.d.ts.map