Groovy 如何使用uploadConfigurationName和buildConfigurationName

Groovy 如何使用uploadConfigurationName和buildConfigurationName,groovy,gradle,Groovy,Gradle,在gradle中,我们可以看到: 对于项目中的每个配置,Gradle提供了任务uploadConfigurationName和buildConfigurationName 据我所知,我可以创建这样的构建(没有任何插件,因为我不想在这个项目中使用插件): 要获得uploadConfigurationName和buildConfigurationName任务,您必须应用base插件,或者应用base插件(java,groovy等)。或者,您可以自己声明和配置这些任务(但这需要更多的工作)。您是否也可

在gradle中,我们可以看到:

对于项目中的每个配置,Gradle提供了任务uploadConfigurationName和buildConfigurationName

据我所知,我可以创建这样的构建(没有任何插件,因为我不想在这个项目中使用插件):


要获得
uploadConfigurationName
buildConfigurationName
任务,您必须应用
base
插件,或者应用
base
插件(
java
groovy
等)。或者,您可以自己声明和配置这些任务(但这需要更多的工作)。

您是否也可以回答如何控制由buildConfigurationName生成的文件应通过uploadConfigurationName发布?例如,在build*任务期间,我创建了3个文件,但只应发布其中一个文件。
buildConfigurationName
任务的目的是准确地构建那些
uploadConfigurationName
将上载的工件。工件被分配到
工件
块中的配置。注意,配置“productSrc”导致“buildProductSrc”和“uploadProductSrc”-“productSrc”中的小写字母“p”变成“productSrc”中的大写字母“p”。
configurations {
    productSrc
}

// create zip file which will be published
buildProductSrc(type: Copy) << {
    // do the job
}

// publish zip which were build by buildProductSrc
uploadProductSrc {
    repositories {
        ivy {
            url "http://ivy.repo/repo"
        }
    }
}
apply plugin: 'base'

configurations {
    productSrc
}

// create zip file which will be published
buildProductSrc << { // unable to create specific task, for example 'type: Copy'
    // do the job
}

// publish zip which were build by buildProductSrc
uploadProductSrc {
    repositories {
        ivy {
            url "http://ivy.repo/repo"
        }
    }
}