Add custom-starter module: a Boot 4 auto-configuration starter with conditions, metadata and runner tests
Two-jar starter (autoconfigure + starter), a demo app, and 17 captured transcripts covering AutoConfiguration.imports, @ConditionalOn*, ordering, optional Jackson 3 integration, configuration metadata and the Boot 4 module split. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Uu7q8vPeREyT4218EJPzz1
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
# Metadata the two annotation processors write into the auto-configuration jar
|
||||
|
||||
--- META-INF/spring-configuration-metadata.json, written by spring-boot-configuration-processor ---
|
||||
|
||||
{
|
||||
"groups": [
|
||||
{
|
||||
"name": "masker",
|
||||
"type": "com.ankurm.masker.MaskerProperties",
|
||||
"sourceType": "com.ankurm.masker.MaskerProperties"
|
||||
}
|
||||
],
|
||||
"properties": [
|
||||
{
|
||||
"name": "masker.enabled",
|
||||
"type": "java.lang.Boolean",
|
||||
"description": "whether the starter configures anything at all",
|
||||
"sourceType": "com.ankurm.masker.MaskerProperties",
|
||||
"defaultValue": true
|
||||
},
|
||||
{
|
||||
"name": "masker.replacement",
|
||||
"type": "java.lang.String",
|
||||
"description": "the text that stands in for each hidden character",
|
||||
"sourceType": "com.ankurm.masker.MaskerProperties",
|
||||
"defaultValue": "*"
|
||||
},
|
||||
{
|
||||
"name": "masker.visible-tail",
|
||||
"type": "java.lang.Integer",
|
||||
"description": "how many characters at the end of the value stay readable",
|
||||
"sourceType": "com.ankurm.masker.MaskerProperties",
|
||||
"defaultValue": 4
|
||||
}
|
||||
],
|
||||
"hints": [
|
||||
{
|
||||
"name": "masker.replacement",
|
||||
"values": [
|
||||
{
|
||||
"value": "*",
|
||||
"description": "Asterisk (the default)."
|
||||
},
|
||||
{
|
||||
"value": "#",
|
||||
"description": "Hash sign."
|
||||
},
|
||||
{
|
||||
"value": "•",
|
||||
"description": "Bullet."
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"ignored": {
|
||||
"properties": []
|
||||
}
|
||||
}
|
||||
|
||||
--- META-INF/additional-spring-configuration-metadata.json, hand-written and kept as is ---
|
||||
{
|
||||
"hints": [
|
||||
{
|
||||
"name": "masker.replacement",
|
||||
"values": [
|
||||
{ "value": "*", "description": "Asterisk (the default)." },
|
||||
{ "value": "#", "description": "Hash sign." },
|
||||
{ "value": "•", "description": "Bullet." }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
--- META-INF/spring-autoconfigure-metadata.properties, written by spring-boot-autoconfigure-processor ---
|
||||
com.ankurm.masker.MaskerAutoConfiguration=
|
||||
com.ankurm.masker.MaskerJacksonAutoConfiguration=
|
||||
com.ankurm.masker.MaskerJacksonAutoConfiguration.AutoConfigureAfter=com.ankurm.masker.MaskerAutoConfiguration
|
||||
com.ankurm.masker.MaskerJacksonAutoConfiguration.ConditionalOnBean=com.ankurm.masker.Masker
|
||||
com.ankurm.masker.MaskerJacksonAutoConfiguration.ConditionalOnClass=tools.jackson.databind.json.JsonMapper
|
||||
Reference in New Issue
Block a user