Adding artifact to web component

Given the documentation: Gradle’s publication model is based on the notion of components , which are defined by plugins.

I’m writing a plugin consumed by my companies projects that auto configures publishing, etc… I customize the outputs of the java variant to replace the default jar with the spring bootJar task output. But when trying to do the same for the web variants I can’t seem to figure out what exactly to do. The SoftwareComponent interface provides no methods to manipulate the artifacts and the implementation of the web component is WebApplication, which again provides no methods as far as I can see to modify the outputs. Considering I want to do this in the “correct” gradle way, what would be the recommended approach? It doesn’t seem like the SoftwareComponent API was meant to be consumed in any way.