Class ApplicationTypeLibraryFeature

java.lang.Object
io.micronaut.projectgen.micronaut.ApplicationTypeFeature
io.micronaut.projectgen.micronaut.ApplicationTypeLibraryFeature
All Implemented Interfaces:
io.micronaut.core.naming.Described, io.micronaut.core.naming.Named, io.micronaut.core.order.Ordered, RequiresRepository, DefaultFeature, Feature

@Singleton public class ApplicationTypeLibraryFeature extends ApplicationTypeFeature
Feature that configures a Micronaut application as a library. This feature applies when the application type is set to LIBRARY and adds necessary dependencies and plugins for library development including Gradle plugins for publishing, signing, and code formatting.
  • Constructor Details

    • ApplicationTypeLibraryFeature

      public ApplicationTypeLibraryFeature(MicronautCli micronautCli, Apache2LicenseFeature license, MicronautTestJunit5 micronautTestJunit5, MicronautTestSpock micronautTestSpock, MicronautLibraryGradlePlugin micronautLibraryGradlePlugin, MavenPublishGradlePlugin mavenPublishGradlePlugin, SigningGradlePlugin signingGradlePlugin, SpotlessGradlePlugin spotlessGradlePlugin, Logback logback, GitIgnore gitIgnore)
      Creates a new ApplicationTypeLibraryFeature with the required dependencies.
      Parameters:
      micronautCli - the Micronaut CLI feature
      license - the Apache 2 license feature
      micronautTestJunit5 - the JUnit 5 test feature
      micronautTestSpock - the Spock test feature
      micronautLibraryGradlePlugin - the Micronaut library Gradle plugin
      mavenPublishGradlePlugin - the Maven publish Gradle plugin
      signingGradlePlugin - the signing Gradle plugin
      spotlessGradlePlugin - the Spotless Gradle plugin
      logback - the Logback logging feature
      gitIgnore - the Git ignore feature
  • Method Details

    • shouldApply

      public boolean shouldApply(Options options, Set<Feature> selectedFeatures)
      Description copied from interface: DefaultFeature
      Determines if the feature should be applied to the project. Default features do not need to be concerned if the feature was already selected and therefore is already in the list of selected features. The addition to the set is based on the identity of the feature instance and all features are singletons.
      Parameters:
      options - The options
      selectedFeatures - The features manually selected by the user
      Returns:
      True if the feature should apply
    • processSelectedFeatures

      public void processSelectedFeatures(FeatureContext featureContext)
      Description copied from interface: Feature
      If this method is called for a given feature then that feature was explicitly selected or was included by default as a result of DefaultFeature.shouldApply(io.micronaut.starter.options.Options, java.util.Set). This method can be implemented to allow features to modify the list of features that will apply to the project. The methods FeatureContext.addFeature(Feature) and FeatureContext.exclude(FeaturePredicate) are the primary ways to add and remove features from the context. FeatureContext.isPresent(Class) can be used to determine the existence of other features in order to make decisions.
      Specified by:
      processSelectedFeatures in interface Feature
      Overrides:
      processSelectedFeatures in class ApplicationTypeFeature
      Parameters:
      featureContext - The feature context
    • getName

      public String getName()
      Description copied from interface: Feature
      The name of the feature. It must be unique.
      Returns:
      the name of the feature