We recently needed to take a gradle application pr...
# community-support
r
We recently needed to take a gradle application project and publish it as a library. In our dependencies we were not always specifying versions, on the basis that the project was a fairly thin library around a library that defined the versions of some core projects (jetty, jackson). When we published it as a library we were not able to consume it because a number of the dependencies had null versions in the generated pom. Two questions: 1. Can I stop it doing that? 2. If not, what would be a good way to add a CI check that the generated pom is always consumable? Thanks!
So our
build.gradle
looked like this:
Copy code
dependencies {
    implementation 'com.mycom:core-lib:1.2.3' // defines `com.fasterxml.jackson:jackson-bom:2.18.3`
    implementation platform("com.fasterxml.jackson:jackson-bom")
    implementation 'com.fasterxml.jackson.core:jackson-core',
        'com.fasterxml.jackson.datatype:jackson-datatype-jsr310',
        'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml',
        'com.fasterxml.jackson.module:jackson-module-kotlin',
        'com.fasterxml.jackson.core:jackson-annotations',
        'com.fasterxml.jackson.core:jackson-databind',
        '<http://com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-base|com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-base>',
        '<http://com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-json-provider|com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-json-provider>',
        '<http://com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-yaml-provider|com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-yaml-provider>',
        'com.fasterxml.jackson.dataformat:jackson-dataformat-xml'
}
r
Ah, thanks!