Only run the idea sync task when one or more run configs is generated for the project.

Speeds up a fabric API sync by a reasonable amount.
This commit is contained in:
modmuss50
2022-06-26 14:04:53 +01:00
parent 3700fad9ca
commit da34ea4bf0

View File

@@ -33,12 +33,18 @@ import org.gradle.api.Project;
import org.gradle.api.tasks.TaskProvider;
import org.gradle.internal.DefaultTaskExecutionRequest;
import net.fabricmc.loom.LoomGradleExtension;
import net.fabricmc.loom.configuration.ide.RunConfigSettings;
import net.fabricmc.loom.task.LoomTasks;
public class IdeaConfiguration {
public static void setup(Project project) {
TaskProvider<IdeaSyncTask> ideaSyncTask = project.getTasks().register("ideaSyncTask", IdeaSyncTask.class, task -> {
task.dependsOn(LoomTasks.getIDELaunchConfigureTaskName(project));
if (LoomGradleExtension.get(project).getRunConfigs().stream().anyMatch(RunConfigSettings::isIdeConfigGenerated)) {
task.dependsOn(LoomTasks.getIDELaunchConfigureTaskName(project));
} else {
task.setEnabled(false);
}
});
if (!IdeaUtils.isIdeaSync()) {