作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将我的第一个 Gradle 项目上传到 Maven Central。我已关注 Sonatype's documentation为此并创建了一个 uploadArchives
生成元数据的任务。
uploadArchives {
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
}
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
}
...etc. etc.
gradle.properties
中定义它们。 ;但是,如果我没有
gradle.properties
使用这些属性,构建失败并出现错误,即使对于非
uploadArchives
任务。
$ gradlew test
Could not get unknown property 'ossrhUsername' for object of type org.gradle.api.publication.maven.internal.deployer.DefaultGroovyMavenDeployer.
uploadArchives
任务)而不必在
gradle.properties
中定义这些属性。文件。
pom.xml
会更简单吗?专门用于Maven Central上传?
gradle.properties
中被外部化。 .我希望其他人能够克隆 repo 并执行 Gradle,而无需定义 OSSRH 凭证属性。
最佳答案
我没有直接引用属性,而是将属性名称作为字符串传递给 findProperty
,从而消除了错误。 API documentation表示此方法是“孵化”,但自 2.13 版以来一直存在。
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: findProperty('ossrhUsername'), password: findProperty('ossrhPassword'))
}
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
authentication(userName: findProperty('ossrhUsername'), password: findProperty('ossrhPassword'))
}
关于gradle - 使用 Gradle 上传到 Maven Central,避免未知属性错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43710659/
我是一名优秀的程序员,十分优秀!