Class PicocliGroovyApplication

java.lang.Object
io.micronaut.starter.feature.picocli.lang.groovy.PicocliGroovyApplication
All Implemented Interfaces:
io.micronaut.core.naming.Described, io.micronaut.core.naming.Named, io.micronaut.core.order.Ordered, ApplicationFeature, Feature, GroovyApplicationFeature

@Requires(property="micronaut.starter.feature.picocli.groovy.application.enabled", value="true", defaultValue="true") @Singleton public class PicocliGroovyApplication extends Object implements GroovyApplicationFeature
Feature for generating a Groovy-based CLI application using Picocli.

Generates the main application class as a Picocli command and applies the necessary Groovy setup.

  • Constructor Details

    • PicocliGroovyApplication

      public PicocliGroovyApplication()
  • Method Details

    • mainClassName

      @Nullable public @Nullable String mainClassName(GeneratorContext generatorContext)
      Specified by:
      mainClassName in interface ApplicationFeature
    • getName

      public String getName()
      Description copied from interface: Feature
      The name of the feature. It must be unique.
      Specified by:
      getName in interface Feature
      Specified by:
      getName in interface io.micronaut.core.naming.Named
      Returns:
      the name of the feature
    • supports

      public boolean supports(Options options)
      Description copied from interface: Feature
      This method must be implemented to ensure it is only selectable for the desired application types. This method is not used for determining if a default feature should be applied.
      Specified by:
      supports in interface Feature
      Parameters:
      options - Options
      Returns:
      True if the feature can be selected by the user
    • apply

      public void apply(GeneratorContext generatorContext)
      Description copied from interface: Feature
      If this method is called for a given feature that means the feature was explicitly selected, included by default as a result of DefaultFeature.shouldApply(io.micronaut.starter.options.Options, java.util.Set), or added explicitly by another feature through FeatureContext.addFeature(Feature). At this point the feature list is set and cannot change.
      Specified by:
      apply in interface ApplicationFeature
      Specified by:
      apply in interface Feature
      Parameters:
      generatorContext - THe generator context
    • getTemplate

      public RockerTemplate getTemplate(Project project)
      Returns the RockerTemplate for generating the Picocli application source file.
      Parameters:
      project - The project metadata.
      Returns:
      The Rocker template used to render the application source.
    • getPath

      protected String getPath()
      Returns the file path for the Picocli application source file.

      The path is relative to the project root and includes placeholders for the package path and class name, which will be replaced during template rendering.

      Returns:
      The file path for the Picocli application source file.