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
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.
-
Field Summary
Fields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionApplicationTypeLibraryFeature(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. -
Method Summary
Modifier and TypeMethodDescriptiongetName()The name of the feature.voidprocessSelectedFeatures(FeatureContext featureContext) If this method is called for a given feature then that feature was explicitly selected or was included by default as a result ofDefaultFeature.shouldApply(io.micronaut.starter.options.Options, java.util.Set).booleanshouldApply(Options options, Set<Feature> selectedFeatures) Determines if the feature should be applied to the project.Methods inherited from class ApplicationTypeFeature
apply, getRepositories, isVisibleMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.core.naming.Described
getDescriptionMethods inherited from interface Feature
getCategory, getDescription, getFrameworkDocumentation, getOrder, getThirdPartyDocumentation, getTitle, isCommunity, isPreview, supports
-
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 featurelicense- the Apache 2 license featuremicronautTestJunit5- the JUnit 5 test featuremicronautTestSpock- the Spock test featuremicronautLibraryGradlePlugin- the Micronaut library Gradle pluginmavenPublishGradlePlugin- the Maven publish Gradle pluginsigningGradlePlugin- the signing Gradle pluginspotlessGradlePlugin- the Spotless Gradle pluginlogback- the Logback logging featuregitIgnore- the Git ignore feature
-
-
Method Details
-
shouldApply
Description copied from interface:DefaultFeatureDetermines 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 optionsselectedFeatures- The features manually selected by the user- Returns:
- True if the feature should apply
-
processSelectedFeatures
Description copied from interface:FeatureIf this method is called for a given feature then that feature was explicitly selected or was included by default as a result ofDefaultFeature.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 methodsFeatureContext.addFeature(Feature)andFeatureContext.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:
processSelectedFeaturesin interfaceFeature- Overrides:
processSelectedFeaturesin classApplicationTypeFeature- Parameters:
featureContext- The feature context
-
getName
-