Slackbot
11/13/2023, 5:50 AMVampire
11/13/2023, 7:58 PMEli Graber
11/13/2023, 9:37 PMartifactId-version.packagingVampire
11/14/2023, 12:51 AMEli Graber
11/14/2023, 1:49 AMEli Graber
11/15/2023, 6:31 PMVampire
11/15/2023, 10:46 PMVampire
11/15/2023, 10:46 PMEli Graber
11/15/2023, 10:47 PMEli Graber
11/15/2023, 10:47 PMAppu Goundan
11/16/2023, 3:33 PMAppu Goundan
11/16/2023, 3:33 PMVampire
11/16/2023, 3:34 PMVampire
11/16/2023, 3:34 PMVampire
11/16/2023, 3:35 PMoptional dependencies, variants with other artifacts are artifacts with a classifier with the variant name.Vampire
11/16/2023, 3:36 PMVampire
11/16/2023, 3:37 PMVampire
11/16/2023, 3:37 PMVampire
11/16/2023, 3:38 PMVampire
11/16/2023, 3:38 PMAppu Goundan
11/16/2023, 3:41 PMyou can have variants that have a different artifact but the same dependencies, you can have variants with different dependencies and different artifactThis is the part I'm not clear on
Vampire
11/16/2023, 3:41 PMAppu Goundan
11/16/2023, 3:41 PMx/y/z/artifact.jar there also exists x/y/z/artifact-typeB.jar ?Appu Goundan
11/16/2023, 3:41 PMAppu Goundan
11/16/2023, 3:41 PMAppu Goundan
11/16/2023, 3:42 PMx/y/z/artifact.typeB.jarAppu Goundan
11/16/2023, 3:43 PMAppu Goundan
11/16/2023, 3:43 PMAppu Goundan
11/16/2023, 3:43 PMVampire
11/16/2023, 3:44 PMdoes that mean for some maven central repo
Yes, and Maven Central allows that. That are just jars with classifiers like they are used even before Gradle. Just Gradle modeled the feature variants properly in the Gradle Module Metadata.there also existsx/y/z/artifact.jar?x/y/z/artifact-typeB.jar
Appu Goundan
11/16/2023, 3:45 PM-sources -javadocVampire
11/16/2023, 3:45 PMAppu Goundan
11/16/2023, 3:45 PMAppu Goundan
11/16/2023, 3:45 PMAppu Goundan
11/16/2023, 3:47 PMAppu Goundan
11/16/2023, 3:47 PMdev.test:test:1.0.0 is not a narrow enough referenceAppu Goundan
11/16/2023, 3:48 PMAppu Goundan
11/16/2023, 3:50 PMtest and test-typeB ?Appu Goundan
11/16/2023, 3:51 PMVampire
11/16/2023, 3:51 PMAppu Goundan
11/16/2023, 3:51 PMx/y/z/artifact-typeB.pom?Vampire
11/16/2023, 3:51 PMVampire
11/16/2023, 3:51 PMAppu Goundan
11/16/2023, 3:51 PMVampire
11/16/2023, 3:52 PMVampire
11/16/2023, 3:52 PMVampire
11/16/2023, 3:52 PMAppu Goundan
11/16/2023, 3:52 PMAppu Goundan
11/16/2023, 3:52 PMVampire
11/16/2023, 3:53 PMVampire
11/16/2023, 3:53 PMAppu Goundan
11/16/2023, 3:53 PMVampire
11/16/2023, 3:53 PMVampire
11/16/2023, 3:54 PMVampire
11/16/2023, 3:54 PMVampire
11/16/2023, 3:55 PMVampire
11/16/2023, 3:56 PMAppu Goundan
11/16/2023, 3:58 PMbuild.gradle(.kts) ?Appu Goundan
11/16/2023, 3:59 PMEli Graber
11/16/2023, 4:00 PMAppu Goundan
11/16/2023, 4:00 PMAppu Goundan
11/16/2023, 4:01 PMEli Graber
11/16/2023, 4:01 PMAppu Goundan
11/16/2023, 4:02 PMEli Graber
11/16/2023, 4:03 PMI think we can still use the POM to infer some metadata like "organization" or "developer"
Right we can use the POM for other information, but it's not reliable for determining the main artifact that is depended on.
Vampire
11/16/2023, 4:04 PMdo variants all share a single componentID (super class at least)?I'm not sure what exactly you mean with "componentID"
Appu Goundan
11/16/2023, 4:05 PMVampire
11/16/2023, 4:06 PMhow do you represent this in aCan be very differently. You can identify feature variants by just using attributes. For example there could be a Gradle plugin variant for Gradle 7 and one for Gradle 8+. The dependency is just on the coordinates. Gradle sets the attribute that defines the Gradle version and thus automatically gets the appropriate feature variant. Or feature variants can be an explicit thing, like in the above example "give me oracle database support variant", then you typically specify that by requesting a certain capability.?build.gradle(.kts)
Appu Goundan
11/16/2023, 4:07 PMVampire
11/16/2023, 4:07 PMVampire
11/16/2023, 4:08 PMComponentId was this objectAs all feature variants are under the same coordinates, yes, the component id should be the same, or at least equal
Appu Goundan
11/16/2023, 4:12 PMVampire
11/16/2023, 4:16 PMVampire
11/16/2023, 4:17 PMAppu Goundan
11/16/2023, 4:18 PMMap<ComponentIdentifier, File>Vampire
11/16/2023, 4:19 PMAppu Goundan
11/16/2023, 4:20 PMAppu Goundan
11/16/2023, 4:26 PMVampire
11/16/2023, 4:26 PM