// Copyright 2014 Pants project contributors (see CONTRIBUTORS.md). // Licensed under the Apache License, Version 2.0 (see LICENSE). package com.twitter.intellij.pants.service.project; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.extensions.ExtensionPointName; import com.twitter.intellij.pants.service.PantsCompileOptionsExecutor; import com.twitter.intellij.pants.service.project.model.ProjectInfo; import org.jetbrains.annotations.NotNull; /** * An extension point to modify parsed output of depmap goal. * * For example we handle cyclic dependencies in {@link com.twitter.intellij.pants.service.project.modifier.PantsCyclicDependenciesModifier} * and common source roots in {@link com.twitter.intellij.pants.service.project.modifier.PantsCommonSourceRootModifier} * * @see /resources/META-INF/plugin.xml for details and a list of default modifiers. */ public interface PantsProjectInfoModifierExtension { ExtensionPointName<PantsProjectInfoModifierExtension> EP_NAME = ExtensionPointName.create("com.intellij.plugins.pants.projectInfoModifier"); void modify(@NotNull ProjectInfo projectInfo, @NotNull PantsCompileOptionsExecutor executor, @NotNull Logger log); }