We have a fairly complicated project which we’re trying to migrate from the ‘maven’ plugin to the newer ‘maven-publish’ plugin.
One of the things we do is publish 2 different maven artifacts from the same project, our main artifact, as well as a test-utilities artifact. In the past we accomplished this with repository filters which “just worked”. Now I’m trying to configure the same thing with publications, but I can’t figure out how to attach the dependencies.
publications {
library(MavenPublication) {
artifactId = "library"
from components.java
artifact javadocJar
artifact sourcesJar
pom basePomConfiguration
}
libraryTestUtils(MavenPublication) {
artifactId = "library-test-utils"
// I don't have a component to use here and I'm not sure how to configure a custom one
// I have configurations called testUtilsCompile and testUtilsRuntime
artifact testUtilsJar
artifact testUtilsJavadocJar
artifact testUtilsSourcesJar
pom basePomConfiguration
pom {
description = "Test Utilities"
}
// We could add dependencies manually to the pom here, no obvious API for adding them to the pom.
}
}
The documentation says there there is no easy way to do this ( which is a bit frustrating since the maven-publish plugin is out of incubation… ) but it’s not clear to me what the hard way to do it is. Is manually crafting xml nodes in the pom like this stack overflow post suggests the best way?