It's astonishing how many people see that both build tool config (e.g. pom.xml) and module declaration (module-info.java) list dependencies and then jump to the conclusion that one should be continuously generated from the other. This is a bad idea for a few reasons. 🧵
1. Build tool config and module declaration contain lots of information that the other couldn't care less about (e.g. module exports and services are meaningless to build tools). So to generate, you need to put a lot of information in a place, where it's useless.
2. The reason for that is that build tools and module system serve *very* different purposes. Tasking one with generating the config for the other is a superb example for coupling mostly unrelated responsibilities. We know where that leads.