@nx/gradle
Version:
37 lines (36 loc) • 1.94 kB
TypeScript
export interface GradleReport {
gradleFileToGradleProjectMap: Map<string, string>;
buildFileToDepsMap: Map<string, Set<string>>;
gradleFileToOutputDirsMap: Map<string, Map<string, string>>;
gradleProjectToTasksTypeMap: Map<string, Map<string, string>>;
gradleProjectToTasksMap: Map<string, Set<string>>;
gradleProjectToProjectName: Map<string, string>;
gradleProjectNameToProjectRootMap: Map<string, string>;
gradleProjectToChildProjects: Map<string, string[]>;
}
export interface GradleReportJSON {
hash: string;
gradleFileToGradleProjectMap: Record<string, string>;
buildFileToDepsMap: Record<string, Set<string>>;
gradleFileToOutputDirsMap: Record<string, Record<string, string>>;
gradleProjectToTasksTypeMap: Record<string, Record<string, string>>;
gradleProjectToTasksMap: Record<string, Array<string>>;
gradleProjectToProjectName: Record<string, string>;
gradleProjectNameToProjectRootMap: Record<string, string>;
gradleProjectToChildProjects: Record<string, string[]>;
}
export declare function writeGradleReportToCache(cachePath: string, results: GradleReport): void;
export declare function getCurrentGradleReport(): GradleReport;
/**
* This function populates the gradle report cache.
* For each gradlew file, it runs the `projectReportAll` task and processes the output.
* If `projectReportAll` fails, it runs the `projectReport` task instead.
* It will throw an error if both tasks fail.
* It will accumulate the output of all gradlew files.
* @param workspaceRoot
* @param gradlewFiles absolute paths to all gradlew files in the workspace
* @returns Promise<void>
*/
export declare function populateGradleReport(workspaceRoot: string, gradlewFiles: string[]): Promise<void>;
export declare function processProjectReports(projectReportLines: string[]): GradleReport;
export declare function processGradleDependencies(depsFile: string): Set<string>;