All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.codemodder.ProjectProvider Maven / Gradle / Ivy

package io.codemodder;

import java.io.IOException;
import java.nio.file.Path;
import java.util.Collection;
import java.util.List;

/** A type that plugins can implement to provide a project management functions to codemods. */
public interface ProjectProvider {

  /**
   * Given the file edited during codemod execution, attempt to update the dependencies in the
   * project to allow referencing new types.
   */
  DependencyUpdateResult updateDependencies(
      Path projectDir, Path file, List remainingFileDependencies) throws IOException;

  /** Returns all dependencies found at given file */
  Collection getAllDependencies(Path projectDir, Path file);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy