diff --git a/gradle-plugin/src/main/java/com/microsoft/gradle/GradleProjectModelBuilder.java b/gradle-plugin/src/main/java/com/microsoft/gradle/GradleProjectModelBuilder.java index 6b8bcd4e0..065dbc904 100644 --- a/gradle-plugin/src/main/java/com/microsoft/gradle/GradleProjectModelBuilder.java +++ b/gradle-plugin/src/main/java/com/microsoft/gradle/GradleProjectModelBuilder.java @@ -103,19 +103,9 @@ private GradleProjectModel buildModel(Project project, String rootProjectName, D GradleDependencyNode node = generateDefaultGradleDependencyNode(project); List plugins = getPlugins(project); List closures = getPluginClosures(project); + // For isolated projects, sub-models will be built separately via individual buildAll calls + // Each project model is built in isolation, avoiding cross-project access List subModels = new ArrayList<>(); - for (DefaultGradleProject subDefaultGradleProject : gradleProject.getChildren()) { - // Query sub projects when both gradleProject and project contain them - Map childProjects = project.getChildProjects(); - String projectName = subDefaultGradleProject.getName(); - if (childProjects.keySet().contains(projectName)) { - GradleProjectModel subModel = buildModel(childProjects.get(projectName), rootProjectName, - subDefaultGradleProject); - if (subModel != null) { - subModels.add(subModel); - } - } - } List tasks = getGradleTasks(project, rootProjectName, gradleProject); return new DefaultGradleProjectModel(project.getParent() == null, project.getProjectDir().getAbsolutePath(), subModels, tasks, node, plugins, closures, scriptClasspaths); diff --git a/gradle-server/src/main/java/com/github/badsyntax/gradle/utils/PluginUtils.java b/gradle-server/src/main/java/com/github/badsyntax/gradle/utils/PluginUtils.java index 9b74c6aa4..0f43b2a04 100644 --- a/gradle-server/src/main/java/com/github/badsyntax/gradle/utils/PluginUtils.java +++ b/gradle-server/src/main/java/com/github/badsyntax/gradle/utils/PluginUtils.java @@ -31,8 +31,8 @@ public static File getInitScript() { // handle init script String pluginJarUnixPath = pluginJarFile.getAbsolutePath().replace("\\", "/"); String initScriptContent = "initscript {\n" + " dependencies {\n" + " classpath files('" - + pluginJarUnixPath + "')\n" + " }\n" + "}\n" + "\n" + "allprojects {\n" - + " apply plugin: com.microsoft.gradle.GradlePlugin\n" + "}\n"; + + pluginJarUnixPath + "')\n" + " }\n" + "}\n" + "\n" + "gradle.lifecycle.beforeProject { project ->\n" + + " project.apply plugin: com.microsoft.gradle.GradlePlugin\n" + "}\n"; byte[] initScriptBytes = initScriptContent.getBytes(); byte[] initScriptDigest = getContentDigest(initScriptBytes); String initScriptName = bytesToHex(initScriptDigest) + ".gradle";