Rewrite section on component metadata rules (#10735) The section was written when the very first version of rules was introduced and since then only marginally updated.
This is a complete rewrite of the section focusing on explaining all the metadata modeling features of Gradle Module Metadata which can be utilized in rules to enrich existing metadata. The features are described on using real-world use cases.
Related sections are also updated where applicable.
To avoid confusion, remove mention of "platform" from "target Java platform" We already have the "Java Platform" plugin which is something quite different from the concept we want to express when using "target java platform". This is more often known as the "JVM version", or "target Java version". We use "JVM" because this is not specific to Java.