Interface ExtensionManager

All Known Implementing Classes:
AbstractGroovyGradleBuildFile, BuildFile, GroovyGradleBuildFile, KotlinGradleBuildFile, MavenBuildFile, MavenProjectBuildFile

public interface ExtensionManager
This interface defines a high level way of managing (read/write) extensions in any QuarkusProject
  • Method Details

    • getBuildTool

      BuildTool getBuildTool()
      Returns:
      the BuildTool of this extension manager
    • getInstalledPlatforms

      Collection<io.quarkus.maven.dependency.ArtifactCoords> getInstalledPlatforms() throws IOException
      Returns the list of the imported platforms in the current project.
      Returns:
      current list of imported platforms
      Throws:
      IOException - if a problem occurs while reading the project build file(s)
    • getInstalled

      Collection<io.quarkus.maven.dependency.ArtifactCoords> getInstalled() throws IOException
      Read the build file(s) to get the list of installed extensions in this Quarkus project.
      Returns:
      The list of ArtifactCoords installed in the project build file(s).
      Throws:
      IOException - if a problem occurs while reading the project build file(s)
    • isInstalled

      default boolean isInstalled(io.quarkus.maven.dependency.ArtifactKey key) throws IOException
      Read build file(s) to check if an extension is installed in this Quarkus project.
      Parameters:
      key - the ArtifactKey of the extension to check
      Returns:
      true if it's installed
      Throws:
      IOException - if a problem occurs while reading the project build file(s)
    • install

      ExtensionManager.InstallResult install(Collection<io.quarkus.maven.dependency.ArtifactCoords> coords) throws IOException
      This is going to install/add all the specified extensions to the project build file(s).
         - Extensions which are already installed will ALWAYS be skipped whatever the specified version
         - The provided version will be used if it wasn't already installed
       
      Parameters:
      coords - the list of ArtifactCoords for the extensions to install
      Returns:
      the ExtensionManager.InstallResult
      Throws:
      IOException - if a problem occurs while reading/writing the project build file(s)
    • install

      This is going to install/add all the specified extensions to the project build file(s).
         - If the project Quarkus platform bom is not defined, an IllegalStateException will be thrown
         - Extensions which are already installed will ALWAYS be skipped whatever the specified version
         - The provided version will be used if wasn't already installed
       
      Parameters:
      request - the list of ArtifactCoords for the extensions to install
      Returns:
      the ExtensionManager.InstallResult
      Throws:
      IOException - if a problem occurs while reading/writing the project build file(s)
    • uninstall

      ExtensionManager.UninstallResult uninstall(Collection<io.quarkus.maven.dependency.ArtifactKey> keys) throws IOException
      This is going to uninstall/remove all the specified extensions from the project build file(s). This is ignoring the version
      Parameters:
      keys - the set of ArtifactKey for the extensions to uninstall
      Returns:
      the ExtensionManager.InstallResult
      Throws:
      IOException - if a problem occurs while reading/writing the project build file(s)