首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何发布gradle生成的BOM

如何发布gradle生成的BOM
EN

Stack Overflow用户
提问于 2017-11-04 13:54:47
回答 1查看 660关注 0票数 0

我有此配置,但发布找不到任何操作,我必须添加/更改什么才能正确发布此BOM?(它似乎确实正确地生成了build/pom.xml )

代码语言:javascript
复制
group 'com.xenoterracide'
version '0.1.0-SNAPSHOT'

repositories {
    maven {
        url System.getenv('JAR_REPOSITORY_URI')
    }
    jcenter()
}

apply plugin: 'maven-publish'
apply plugin: 'maven'

publish {
    repositories {
        maven {
            url System.getenv('JRS_S3_URI')
            credentials(AwsCredentials) {
                accessKey System.getenv('JRS_ACCESSKEYID')
                secretKey System.getenv('JRS_SECRETACCESSKEY')
            }
        }
    }
}


build.doFirst {
    pom {
        project {
            properties {
                equalsverifier   version: "2.3.3"
                mbassador        version: "1.3.1"
                tika             version: "1.15"
                immutables       version: "2.5.5"
                assertj          version: "3.8.0"
                s3mock           version: "0.2.2"
                aws              version: "1.11.207"
                "slf4j-test"     version: "1.1.0"
                "jcabi-matchers" version: "1.3"
            }
            dependencyManagement {
                dependencies {
                    dependency 'nl.jqno.equalsverifier:equalsverifier:${equalsverifier.version}'
                    dependency 'net.engio:mbassador:${mbassador.version}'
                    dependency 'org.apache.tika:tika-core:${tika.version}'
                    dependency 'org.immutables:builder:${immutables.version}'
                    dependency 'org.immutables:value:${immutables.version}'
                    dependency 'io.findify:s3mock_2.12:${s3mock.version}'
                    dependency 'com.jcabi:jcabi-matchers:${jcabi-matchers.version}'
                    dependency 'uk.org.lidalia:slf4j-test:${slf4j-test.version}'
                }
            }
            licenses {
                license {
                    name 'The Apache Software License, Version 2.0'
                    url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    distribution 'repo'
                }
            }

        }
    }.writeTo("$buildDir/pom.xml")
}

使用gradle 4.3

EN

回答 1

Stack Overflow用户

发布于 2017-11-04 16:04:36

这是可行的,但在内容如何进入生成的pom方面似乎是超级黑客。

代码语言:javascript
复制
group 'com.xenoterracide'
version '0.1.0-SNAPSHOT'

repositories {
    maven {
        url System.getenv('JAR_REPOSITORY_URI')
    }
    jcenter()
}

apply plugin: 'maven-publish'
apply plugin: 'maven'


publishing {
    repositories {
        maven {
            url System.getenv('JRS_S3_URI')
            credentials(AwsCredentials) {
                accessKey System.getenv('JRS_ACCESSKEYID')
                secretKey System.getenv('JRS_SECRETACCESSKEY')
            }
        }
    }
    publications {
        maven(MavenPublication) {
            pom.withXml {
                def sb = asString()
                sb.setLength 0
                sb.append  file( "$buildDir/bom.pom" ).text
                println( sb.toString() )
            }
        }
    }
}

build.doFirst {
    pom {
        project {
            packaging 'pom'
            properties {
                equalsverifier   version: "2.3.3"
                mbassador        version: "1.3.1"
                tika             version: "1.15"
                immutables       version: "2.5.5"
                assertj          version: "3.8.0"
                s3mock           version: "0.2.2"
                aws              version: "1.11.207"
                "slf4j-test"     version: "1.1.0"
                "jcabi-matchers" version: "1.3"
            }
            dependencyManagement {
                dependencies {
                    dependency 'nl.jqno.equalsverifier:equalsverifier:${equalsverifier.version}'
                    dependency 'net.engio:mbassador:${mbassador.version}'
                    dependency 'org.apache.tika:tika-core:${tika.version}'
                    dependency 'org.immutables:builder:${immutables.version}'
                    dependency 'org.immutables:value:${immutables.version}'
                    dependency 'io.findify:s3mock_2.12:${s3mock.version}'
                    dependency 'com.jcabi:jcabi-matchers:${jcabi-matchers.version}'
                    dependency 'uk.org.lidalia:slf4j-test:${slf4j-test.version}'
                }
            }
            licenses {
                license {
                    name 'The Apache Software License, Version 2.0'
                    url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    distribution 'repo'
                }
            }

        }
    }.writeTo("$buildDir/bom.pom")
}

所以如果有人有更好的方法,我将不胜感激

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47107917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档