Custom software component publishing

What is the purpose of custom software component publishing?

i.e. Why would a plugin author bother using SoftwareComponentFactory and the associated API?

Public API for publishing custom components

Gradle now offers a public API to publish custom software components. Refer to the SoftwareComponentFactory documentation for details or look at the JavaPlugin and JavaPlaftormPlugin which have been migrated to use this API.