我有一个自定义任务,可从服务器获取凭据:
task getToken {
ext.token = // curl whatever
}
我想在出版物存储库的凭据块中使用此任务的输出,如下所示:
publishing {
publications {
myPublication(MavenPublication) {
from components.java
}
}
repositories {
maven {
url = "https://somewhere.com/repo"
credentials {
username System.properties['user.name']
password getToken.token
}
}
}
}
但是,我不知道何时解决那里的凭证,显然getToken
任务需要事先完成。
我该如何实现?
答案 0 :(得分:0)
这是可以通过以下插件实现的:https://plugins.gradle.org/plugin/pl.unity.lazy-credentials
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "gradle.plugin.pl.unity.gradle:lazy-credentials:1.2.1"
}
}
apply plugin: "pl.unity.lazy-credentials"
publishing {
publications {
myPublication(MavenPublication) {
from components.java
}
}
repositories {
maven {
url "https://somewhere.com/repo"
lazyCredentials {
username System.properties['user.name']
password {
// some code here to request the token
}
}
}
}
}