my team publish a BOM pinning a specific version o...
# dependency-management
c
my team publish a BOM pinning a specific version of each of our android library modules. a downstream team consume our modules & BOM in an android library, which is also published to maven. how best should we make sure the downstream maven publication contains correct versions of our modules as dependencies? currently we ask them to resolve a configuration, inspect it for it's dependencies, and manually add those to their pom:
Copy code
project.afterEvaluate {
    publishing {
        ...
        publications {
            mavenJava(MavenPublication) {
                ...
                pom.withXml {
                    def dependenciesNode = asNode().appendNode('dependencies')

                    def resolvedConfig = configurations.releaseCompileClasspath.resolvedConfiguration

                    resolvedConfig.firstLevelModuleDependencies.each {
                        def dependencyNode = dependenciesNode.appendNode('dependency')
                        dependencyNode.appendNode('groupId', it.moduleGroup)
                        dependencyNode.appendNode('artifactId', it.moduleName)
                        dependencyNode.appendNode('version', it.moduleVersion)
                        dependencyNode.appendNode('scope', 'compile')
                    }
                    ...