Skip to content

Commit

Permalink
Add system property to remove tasks from GradleProject model
Browse files Browse the repository at this point in the history
  • Loading branch information
donat committed Oct 4, 2019
1 parent 1d7fff5 commit 7dd5c51
Showing 1 changed file with 13 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import org.gradle.tooling.provider.model.ToolingModelBuilder;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.SortedSet;

Expand Down Expand Up @@ -65,7 +66,13 @@ private DefaultGradleProject buildHierarchy(Project project) {
.setChildren(children);

gradleProject.getBuildScript().setSourceFile(project.getBuildFile());
gradleProject.setTasks(tasks(gradleProject, (TaskContainerInternal) project.getTasks()));

String projectOptions = System.getProperty("GradleProjectOptions", "unmodified");
List<LaunchableGradleTask> tasks = tasks(gradleProject, (TaskContainerInternal) project.getTasks(), projectOptions);

if (!"skip_task_serialization".equals(projectOptions)) {
gradleProject.setTasks(tasks);
}

for (DefaultGradleProject child : children) {
child.setParent(gradleProject);
Expand All @@ -74,7 +81,11 @@ private DefaultGradleProject buildHierarchy(Project project) {
return gradleProject;
}

private static List<LaunchableGradleTask> tasks(DefaultGradleProject owner, TaskContainerInternal tasks) {
private static List<LaunchableGradleTask> tasks(DefaultGradleProject owner, TaskContainerInternal tasks, String projectOptions) {
if ("skip_task_load".equals(projectOptions)) {
return Collections.emptyList();
}

tasks.realize();
SortedSet<String> taskNames = tasks.getNames();
List<LaunchableGradleTask> out = new ArrayList<LaunchableGradleTask>(taskNames.size());
Expand Down

0 comments on commit 7dd5c51

Please sign in to comment.