У меня есть сценарий Gradle Kotlin DSL, который публикует некоторые артефакты в локальном репозитории Maven:
publishing {
publications {
create<MavenPublication>("maven") {
groupId = "my.company"
artifactId = project.name
version = "0.0.1"
from(components["java"])
}
}
repositories {
maven {
url = uri("https://maven.mycompany.com/content/repositories/whatever")
credentials {
username = (read from some file)
password = (read from some file)
}
}
}
}
Как видите, Gradle всегда пытается прочитать имя пользователя и пароль из файла. Даже если задача публикации не будет выполняться.
Я попытался исправить это, переместив учетные данные в блок doFirst
в задаче публикации, но код просто никогда не выполняется:
publishing {
doFirst { // this doesn't compile, doFirst doesn't exist here
}
}
tasks.getByName("publish").doFirst {
// this compiles just fine, but it's never executed
}
tasks.named("publish") {
doFirst {
// this compiles just fine, but it's never executed
}
}
Как установить учетные данные, чтобы это происходило только при выполнении задачи публикации?