== is the annotation processor discovered? ==

openjdk version "25.0.4.1" 2026-08-18 LTS
processor jar: spring-boot-configuration-processor-4.1.1.jar

A) processor on the classpath, javac defaults -- what an <optional> dependency gives you
$ javac -cp <deps>:spring-boot-configuration-processor.jar -d a $SOURCES
   spring-configuration-metadata.json files produced: 0

B) identical, plus -proc:full
$ javac -proc:full -cp <deps>:spring-boot-configuration-processor.jar -d b $SOURCES
   spring-configuration-metadata.json files produced: 1

Both compilations succeed. Only one of them has metadata.

== what this project's pom does instead ==
The processor is declared as an <annotationProcessorPath> on maven-compiler-plugin,
which puts it on javac's --processor-path where discovery is not disabled:

$ mvn clean package && ls target/classes/META-INF/
spring-configuration-metadata.json

== the generated metadata, first entries ==
{
    "groups": [
        {
            "name": "demo.mail",
            "type": "com.ankurm.configprops.props.MailProperties",
            "sourceType": "com.ankurm.configprops.props.MailProperties"
        },
        {
            "name": "demo.mail.retries",
            "type": "com.ankurm.configprops.props.MailProperties$RetryProperties",
            "sourceType": "com.ankurm.configprops.props.MailProperties",
            "sourceMethod": "retries()"
        },
        {
            "name": "demo.relaxed",
            "type": "com.ankurm.configprops.props.RelaxedProperties",
            "sourceType": "com.ankurm.configprops.props.RelaxedProperties"
        },
        {
            "name": "demo.validated",
            "type": "com.ankurm.configprops.props.ValidatedProperties",
            "sourceType": "com.ankurm.configprops.props.ValidatedProperties"
        },
        {
            "name": "demo.validated.pool",
            "type": "com.ankurm.configprops.props.ValidatedProperties$Pool",
            "sourceType": "com.ankurm.configprops.props.ValidatedProperties",
            "sourceMethod": "pool()"
        }
    ],
    "properties": [
        {
            "name": "demo.mail.headers",
            "type": "java.util.Map<java.lang.String,java.lang.String>",
            "description": "Bound from arbitrary sub-keys under {@code demo.mail.headers.*}.",
            "sourceType": "com.ankurm.configprops.props.MailProperties"
        },
        {
            "name": "demo.mail.host",
            "type": "java.lang.String",
            "description": "SMTP host. No default: absent means the application must not start.",
            "sourceType": "com.ankurm.configprops.props.MailProperties"
        },
        {
            "name": "demo.mail.port",
