【发布时间】:2021-08-11 12:25:57
【问题描述】:
我正在尝试将构建逻辑卸载到 gradle init 脚本中,该脚本包含在自定义 gradle 包装器中。看起来很有希望。我需要做的一件事是在配置之前应用工件插件,而以下代码在 build.gradle 中工作正常,当代码转移到 init 脚本时找不到插件。
build.gradle:
buildscript{
Properties properties = new Properties()
properties.load(new File(gradle.getGradleUserHomeDir(), 'gradle.properties').newDataInputStream())
repositories {
maven {
url properties.artifactory_contextUrl + '/gradle-plugins-virtual'
credentials {
username = properties.artifactory_user
password = properties.artifactory_password
}
}
}
dependencies {
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.17.2"
}
}
apply plugin: "com.jfrog.artifactory"
在初始化脚本中几乎是一样的:
initscript{
Properties properties = new Properties()
properties.load(new File(getGradleUserHomeDir(), 'gradle.properties').newDataInputStream())
repositories {
maven {
url properties.artifactory_contextUrl + '/gradle-plugins-virtual'
credentials {
username = properties.artifactory_user
password = properties.artifactory_password
}
}
}
dependencies {
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.17.2"
}
}
apply plugin: "com.jfrog.artifactory"
但我通过这次尝试得到Plugin with id 'com.jfrog.artifactory' not found.。
我也试过做一个init插件,但是插件功力不强,好像也失败了。
我尝试仅将应用插件行从 init 脚本移动到 build.gradle ,但这也失败了,这表明它可能是依赖项解析。我该如何进一步调试?
我进行了构建扫描,发现插件 jar 似乎没问题。
org.jfrog.buildinfo:build-info-extractor-gradle:4.17.2
commons-io:commons-io:2.7
commons-lang:commons-lang:2.4
commons-logging:commons-logging:1.1.1
1.2
org.apache.ivy:ivy:2.2.0
org.jfrog.buildinfo:build-info-extractor:2.19.2
任何帮助、cmets、建议表示赞赏。
咆哮:gradle 文档的示例太少了。
【问题讨论】:
标签: gradle build.gradle gradlew