I was hoping to use the Spring Boot Properties Migrator to help me migrate from non-ConfigurationProperties (simply referenced via @Value) to proper ConfigurationProperties, which unfortunately means that I have to rename them all. I'm using the spring-boot-configuration-processor to automatically generate the spring-configuration-metadata.json for the new properties and I was manually editing the additional-spring-configuration-metadata.json to list the old deprecated properties and their replacement. And this almost works. Eclipse now marks old property keys as deprecated and the tooltip shows me the replacement. But what I really need are the runtime checks (I configured the deprecations as errors) provided by the spring-boot-properties-migrator. But as it turns out, the PropertiesMigrationListener only loads spring-configuration-metadata.json, but NOT additional-spring-configuration-metadata.json. Could the PropertiesMigrationListener be changed to also consider additional-spring-configuration-metadata.json or is there a reason it doesn't already do that?

Comment From: snicoll

@Frettman additional-spring-configuration-metadata.json is merged into spring-configuration-metadata.json at build-time. If you have a module with no generated keys, there is no need to name your custom file additional-spring-configuration-metadata.json. Just name it spring-configuration-metadata.json and you'll be good to go.

If you're expecting the additional file to be loaded, it shouldn't. If the above doesn't help you, we'll need a small sample that demonstrates the problem to understand what you're trying to do.

Comment From: Frettman

Thank you, knowing the simple fact that they are merged has helped me a lot. Knowing how it should work at runtime made it easier to look at the right locations for problems. The typical Eclipse hickups (where in this case it stopped updating spring-configuration-metadata.json) also didn't help. Anyway, thanks for clearing this up and sorry for wasting your time.