Slackbot
03/02/2022, 9:35 AMmelix
03/02/2022, 9:52 AMPublication "publishes" a SoftwareComponent. A SoftwareComponent is not necessarily bound to `Configuration`: it's an abstract way to define a deliverable. So you can see a SoftwareComponent as the model for "something built by Gradle". There are different kinds of components, based on the different ecosystems. For the typical Java/JVM world, the easiest is to use AdhocComponentWithVariants, which provides a convenient way to map "outgoing" `Configuration`s to variants.melix
03/02/2022, 9:53 AMSoftwareComponent is the concept, there are specific implementations (for example for Gradle native (C/C++)), and a generic implementation, AdhocComponentWithVariants, which can be used to create custom publications: https://docs.gradle.org/current/userguide/publishing_customization.html#sec:publishing-custom-componentsMartin
03/02/2022, 9:56 AMConfigurations that would be added to a Publication ?Martin
03/02/2022, 9:57 AMConfiguration = list of artifacts + attributes
⢠Publication = list of artifacts + attributes + pom information. A Publication could potentially publish several Configurations (or no Configuration at all if artifacts are added manually)Martin
03/02/2022, 9:58 AMConfiguration is also "something build by Gradle", right ?melix
03/02/2022, 10:05 AMConfiguration is too many things at the same time. Long term, this should go away IMO, because it's confusing. It's used for declaring dependencies, carrying artifacts, publications, representing a dependency graph, etc.Martin
03/02/2022, 10:05 AMmelix
03/02/2022, 10:06 AMmelix
03/02/2022, 10:06 AMmelix
03/02/2022, 10:06 AMMartin
03/02/2022, 10:07 AMMartin
03/02/2022, 10:07 AMmelix
03/02/2022, 10:51 AMmelix
03/02/2022, 10:52 AMMartin
03/02/2022, 10:57 AMJendrik Johannes
03/04/2022, 9:42 PMJendrik Johannes
03/04/2022, 9:46 PM