Как создать задачу MavenPublication с динамической c (определенной на этапе выполнения) версией / groupId / arfifactId в Gradle? - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть задача с разделом doLast (Kotlin -Dsl) и задача с публикацией:

plugins {
    `maven-publish`
}

val someTask = tasks.create("someTask") {
    doLast {
        //do something
        val artifactVersion=//...
        val artifactId=//...
        val artifactGroup=//...
        extra["artifactVersion"] = artifactVersion
        extra["artifactId"] = artifactId
        extra["artifactGroup"] = artifactGroup
        //do something
    }
}
///....
publishing {
    publications {
       create<MavenPublication>("customPublish"){
           version = someTask.extra["artifactVersion"] as String 
           artifactId = someTask.extra["artifactId"] as String
           groupId = someTask.extra["artifactGroup"] as String
           //artifact()
       }       
    }
}

И я улавливаю ошибку, если пытаюсь выполнить gradle someTask customPublish

Cannot get property 'artifactVersion' on extra properties extension as it does not exist

т.е. publi sh -задача настроена в настроена -фазна, но someTask в выполнена -phase

Как определить publi sh -task, чтобы я мог установить version / groupId / arfifactId на этапе выполнения?

...