@nx/gradle 20.3.0-canary.20241214-4cd640a → 20.3.0-canary.20241218-fb40366
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": "20.3.0-canary. 
     | 
| 
      
 3 
     | 
    
         
            +
              "version": "20.3.0-canary.20241218-fb40366",
         
     | 
| 
       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": "20.3.0-canary. 
     | 
| 
      
 37 
     | 
    
         
            +
                "@nx/devkit": "20.3.0-canary.20241218-fb40366"
         
     | 
| 
       38 
38 
     | 
    
         
             
              },
         
     | 
| 
       39 
39 
     | 
    
         
             
              "publishConfig": {
         
     | 
| 
       40 
40 
     | 
    
         
             
                "access": "public"
         
     | 
| 
         @@ -8,6 +8,18 @@ export interface GradleReport { 
     | 
|
| 
       8 
8 
     | 
    
         
             
                gradleProjectNameToProjectRootMap: Map<string, string>;
         
     | 
| 
       9 
9 
     | 
    
         
             
                gradleProjectToChildProjects: Map<string, string[]>;
         
     | 
| 
       10 
10 
     | 
    
         
             
            }
         
     | 
| 
      
 11 
     | 
    
         
            +
            export interface GradleReportJSON {
         
     | 
| 
      
 12 
     | 
    
         
            +
                hash: string;
         
     | 
| 
      
 13 
     | 
    
         
            +
                gradleFileToGradleProjectMap: Record<string, string>;
         
     | 
| 
      
 14 
     | 
    
         
            +
                buildFileToDepsMap: Record<string, string>;
         
     | 
| 
      
 15 
     | 
    
         
            +
                gradleFileToOutputDirsMap: Record<string, Record<string, string>>;
         
     | 
| 
      
 16 
     | 
    
         
            +
                gradleProjectToTasksTypeMap: Record<string, Record<string, string>>;
         
     | 
| 
      
 17 
     | 
    
         
            +
                gradleProjectToTasksMap: Record<string, Array<String>>;
         
     | 
| 
      
 18 
     | 
    
         
            +
                gradleProjectToProjectName: Record<string, string>;
         
     | 
| 
      
 19 
     | 
    
         
            +
                gradleProjectNameToProjectRootMap: Record<string, string>;
         
     | 
| 
      
 20 
     | 
    
         
            +
                gradleProjectToChildProjects: Record<string, string[]>;
         
     | 
| 
      
 21 
     | 
    
         
            +
            }
         
     | 
| 
      
 22 
     | 
    
         
            +
            export declare function writeGradleReportToCache(cachePath: string, results: GradleReport): void;
         
     | 
| 
       11 
23 
     | 
    
         
             
            export declare function getCurrentGradleReport(): GradleReport;
         
     | 
| 
       12 
24 
     | 
    
         
             
            /**
         
     | 
| 
       13 
25 
     | 
    
         
             
             * This function populates the gradle report cache.
         
     | 
| 
         @@ -1,5 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            "use strict";
         
     | 
| 
       2 
2 
     | 
    
         
             
            Object.defineProperty(exports, "__esModule", { value: true });
         
     | 
| 
      
 3 
     | 
    
         
            +
            exports.writeGradleReportToCache = writeGradleReportToCache;
         
     | 
| 
       3 
4 
     | 
    
         
             
            exports.getCurrentGradleReport = getCurrentGradleReport;
         
     | 
| 
       4 
5 
     | 
    
         
             
            exports.populateGradleReport = populateGradleReport;
         
     | 
| 
       5 
6 
     | 
    
         
             
            exports.processProjectReports = processProjectReports;
         
     | 
| 
         @@ -10,8 +11,52 @@ const workspace_context_1 = require("nx/src/utils/workspace-context"); 
     | 
|
| 
       10 
11 
     | 
    
         
             
            const path_1 = require("path");
         
     | 
| 
       11 
12 
     | 
    
         
             
            const split_config_files_1 = require("./split-config-files");
         
     | 
| 
       12 
13 
     | 
    
         
             
            const get_project_report_lines_1 = require("./get-project-report-lines");
         
     | 
| 
      
 14 
     | 
    
         
            +
            const cache_directory_1 = require("nx/src/utils/cache-directory");
         
     | 
| 
      
 15 
     | 
    
         
            +
            function readGradleReportCache(cachePath, hash) {
         
     | 
| 
      
 16 
     | 
    
         
            +
                const gradleReportJson = (0, node_fs_1.existsSync)(cachePath)
         
     | 
| 
      
 17 
     | 
    
         
            +
                    ? (0, devkit_1.readJsonFile)(cachePath)
         
     | 
| 
      
 18 
     | 
    
         
            +
                    : undefined;
         
     | 
| 
      
 19 
     | 
    
         
            +
                if (!gradleReportJson || gradleReportJson.hash !== hash) {
         
     | 
| 
      
 20 
     | 
    
         
            +
                    return;
         
     | 
| 
      
 21 
     | 
    
         
            +
                }
         
     | 
| 
      
 22 
     | 
    
         
            +
                let results = {
         
     | 
| 
      
 23 
     | 
    
         
            +
                    gradleFileToGradleProjectMap: new Map(Object.entries(gradleReportJson['gradleFileToGradleProjectMap'])),
         
     | 
| 
      
 24 
     | 
    
         
            +
                    buildFileToDepsMap: new Map(Object.entries(gradleReportJson['buildFileToDepsMap'])),
         
     | 
| 
      
 25 
     | 
    
         
            +
                    gradleFileToOutputDirsMap: new Map(Object.entries(gradleReportJson['gradleFileToOutputDirsMap']).map(([key, value]) => [key, new Map(Object.entries(value))])),
         
     | 
| 
      
 26 
     | 
    
         
            +
                    gradleProjectToTasksTypeMap: new Map(Object.entries(gradleReportJson['gradleProjectToTasksTypeMap']).map(([key, value]) => [key, new Map(Object.entries(value))])),
         
     | 
| 
      
 27 
     | 
    
         
            +
                    gradleProjectToTasksMap: new Map(Object.entries(gradleReportJson['gradleProjectToTasksMap']).map(([key, value]) => [key, new Set(value)])),
         
     | 
| 
      
 28 
     | 
    
         
            +
                    gradleProjectToProjectName: new Map(Object.entries(gradleReportJson['gradleProjectToProjectName'])),
         
     | 
| 
      
 29 
     | 
    
         
            +
                    gradleProjectNameToProjectRootMap: new Map(Object.entries(gradleReportJson['gradleProjectNameToProjectRootMap'])),
         
     | 
| 
      
 30 
     | 
    
         
            +
                    gradleProjectToChildProjects: new Map(Object.entries(gradleReportJson['gradleProjectToChildProjects'])),
         
     | 
| 
      
 31 
     | 
    
         
            +
                };
         
     | 
| 
      
 32 
     | 
    
         
            +
                return results;
         
     | 
| 
      
 33 
     | 
    
         
            +
            }
         
     | 
| 
      
 34 
     | 
    
         
            +
            function writeGradleReportToCache(cachePath, results) {
         
     | 
| 
      
 35 
     | 
    
         
            +
                let gradleReportJson = {
         
     | 
| 
      
 36 
     | 
    
         
            +
                    hash: gradleCurrentConfigHash,
         
     | 
| 
      
 37 
     | 
    
         
            +
                    gradleFileToGradleProjectMap: Object.fromEntries(results.gradleFileToGradleProjectMap),
         
     | 
| 
      
 38 
     | 
    
         
            +
                    buildFileToDepsMap: Object.fromEntries(results.buildFileToDepsMap),
         
     | 
| 
      
 39 
     | 
    
         
            +
                    gradleFileToOutputDirsMap: Object.fromEntries(Array.from(results.gradleFileToOutputDirsMap).map(([key, value]) => [
         
     | 
| 
      
 40 
     | 
    
         
            +
                        key,
         
     | 
| 
      
 41 
     | 
    
         
            +
                        Object.fromEntries(value),
         
     | 
| 
      
 42 
     | 
    
         
            +
                    ])),
         
     | 
| 
      
 43 
     | 
    
         
            +
                    gradleProjectToTasksTypeMap: Object.fromEntries(Array.from(results.gradleProjectToTasksTypeMap).map(([key, value]) => [
         
     | 
| 
      
 44 
     | 
    
         
            +
                        key,
         
     | 
| 
      
 45 
     | 
    
         
            +
                        Object.fromEntries(value),
         
     | 
| 
      
 46 
     | 
    
         
            +
                    ])),
         
     | 
| 
      
 47 
     | 
    
         
            +
                    gradleProjectToTasksMap: Object.fromEntries(Array.from(results.gradleProjectToTasksMap).map(([key, value]) => [
         
     | 
| 
      
 48 
     | 
    
         
            +
                        key,
         
     | 
| 
      
 49 
     | 
    
         
            +
                        Array.from(value),
         
     | 
| 
      
 50 
     | 
    
         
            +
                    ])),
         
     | 
| 
      
 51 
     | 
    
         
            +
                    gradleProjectToProjectName: Object.fromEntries(results.gradleProjectToProjectName),
         
     | 
| 
      
 52 
     | 
    
         
            +
                    gradleProjectNameToProjectRootMap: Object.fromEntries(results.gradleProjectNameToProjectRootMap),
         
     | 
| 
      
 53 
     | 
    
         
            +
                    gradleProjectToChildProjects: Object.fromEntries(results.gradleProjectToChildProjects),
         
     | 
| 
      
 54 
     | 
    
         
            +
                };
         
     | 
| 
      
 55 
     | 
    
         
            +
                (0, devkit_1.writeJsonFile)(cachePath, gradleReportJson);
         
     | 
| 
      
 56 
     | 
    
         
            +
            }
         
     | 
| 
       13 
57 
     | 
    
         
             
            let gradleReportCache;
         
     | 
| 
       14 
58 
     | 
    
         
             
            let gradleCurrentConfigHash;
         
     | 
| 
      
 59 
     | 
    
         
            +
            let gradleReportCachePath = (0, node_path_1.join)(cache_directory_1.workspaceDataDirectory, 'gradle-report.hash');
         
     | 
| 
       15 
60 
     | 
    
         
             
            function getCurrentGradleReport() {
         
     | 
| 
       16 
61 
     | 
    
         
             
                if (!gradleReportCache) {
         
     | 
| 
       17 
62 
     | 
    
         
             
                    throw new devkit_1.AggregateCreateNodesError([
         
     | 
| 
         @@ -37,7 +82,9 @@ async function populateGradleReport(workspaceRoot, gradlewFiles) { 
     | 
|
| 
       37 
82 
     | 
    
         
             
                const gradleConfigHash = await (0, workspace_context_1.hashWithWorkspaceContext)(workspaceRoot, [
         
     | 
| 
       38 
83 
     | 
    
         
             
                    split_config_files_1.gradleConfigAndTestGlob,
         
     | 
| 
       39 
84 
     | 
    
         
             
                ]);
         
     | 
| 
       40 
     | 
    
         
            -
                 
     | 
| 
      
 85 
     | 
    
         
            +
                gradleReportCache ??= readGradleReportCache(gradleReportCachePath, gradleConfigHash);
         
     | 
| 
      
 86 
     | 
    
         
            +
                if (gradleReportCache &&
         
     | 
| 
      
 87 
     | 
    
         
            +
                    (!gradleCurrentConfigHash || gradleConfigHash === gradleCurrentConfigHash)) {
         
     | 
| 
       41 
88 
     | 
    
         
             
                    return;
         
     | 
| 
       42 
89 
     | 
    
         
             
                }
         
     | 
| 
       43 
90 
     | 
    
         
             
                const gradleProjectReportStart = performance.mark('gradleProjectReport:start');
         
     | 
| 
         @@ -50,6 +97,7 @@ async function populateGradleReport(workspaceRoot, gradlewFiles) { 
     | 
|
| 
       50 
97 
     | 
    
         
             
                performance.measure('gradleProjectReport', gradleProjectReportStart.name, gradleProjectReportEnd.name);
         
     | 
| 
       51 
98 
     | 
    
         
             
                gradleCurrentConfigHash = gradleConfigHash;
         
     | 
| 
       52 
99 
     | 
    
         
             
                gradleReportCache = processProjectReports(projectReportLines);
         
     | 
| 
      
 100 
     | 
    
         
            +
                writeGradleReportToCache(gradleReportCachePath, gradleReportCache);
         
     | 
| 
       53 
101 
     | 
    
         
             
            }
         
     | 
| 
       54 
102 
     | 
    
         
             
            function processProjectReports(projectReportLines) {
         
     | 
| 
       55 
103 
     | 
    
         
             
                /**
         
     |