Class ShadePlugin

java.lang.Object
io.micronaut.projectgen.features.gradle.ShadePlugin
All Implemented Interfaces:
io.micronaut.core.naming.Described, io.micronaut.core.naming.Named, io.micronaut.core.order.Ordered, GradleSpecificFeature, BuildPluginFeature, Feature

@Requires(property="micronaut.starter.feature.shade.enabled", value="true", defaultValue="true") @Singleton public class ShadePlugin extends Object implements BuildPluginFeature, GradleSpecificFeature
Adds a shaded JAR feature.
  • Constructor Details

    • ShadePlugin

      public ShadePlugin()
  • Method Details

    • getName

      @NonNull public @NonNull 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
    • isVisible

      public boolean isVisible()
      Description copied from interface: Feature
      Some features should not be visible to the user because they are a common parent of other selectable features, or they should always be applied, or any other reason.
      Specified by:
      isVisible in interface Feature
      Returns:
      True if the feature should be able to be selected by the user
    • supports

      public boolean supports(Options applicationType)
      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:
      applicationType - Options
      Returns:
      True if the feature can be selected by the user
    • getTitle

      public String getTitle()
      Specified by:
      getTitle in interface Feature
      Returns:
      The title of the feature
    • getDescription

      public String getDescription()
      Specified by:
      getDescription in interface io.micronaut.core.naming.Described
      Specified by:
      getDescription in interface Feature
    • getCategory

      public String getCategory()
      Specified by:
      getCategory in interface Feature
      Returns:
      The Category to which the feature belongs to.
    • 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. This method can be implemented to modify the generated project. The feature can add templates by executing GeneratorContext.addTemplate(String, io.micronaut.starter.template.Template), modify configuration by modifying GeneratorContext.getConfiguration() or GeneratorContext.getBootstrapConfiguration(), or modify build properties through GeneratorContext.getBuildProperties().
      Specified by:
      apply in interface Feature
      Parameters:
      generatorContext - THe generator context
    • getThirdPartyDocumentation

      public String getThirdPartyDocumentation(GeneratorContext generatorContext)
      Specified by:
      getThirdPartyDocumentation in interface Feature
      Parameters:
      generatorContext - Generator Context
      Returns:
      Returns a link to third party. E.g. https://hazelcast.org