我的gradle构建会根据GIT中更改的文件生成不同数量的工件。因此,如果例如file1.txt被更改,它将只生成file1.zip,如果file1.txt和file2.txt都被更改,它将生成2个工件- file1.zip和file2.zip等。
对于每个更改的文件,我都会动态创建新任务:
def task = tasks.create(
name: "zip:$component",
type: Zip,
overwrite: true) {
from project.CONFIG_DIR
include "$component/component.conf"
baseName component
destinationDir file("out")现在,我想将生成的out/*.zip工件发布到maven存储库。尝试通过以下方式实现:
publishing.publications.add(task)但得到的信息如下:
> org.gradle.api.tasks.bundling.Zip_Decorated cannot be cast to org.gradle.api.Named发布于 2017-08-29 18:54:21
publications.add需要一个Publication对象,而不是Task对象。你所追求的可能不仅仅是
publishing {
publications {
myPublicationName(MavenPublication) {
artifact task
}
}
}或者类似的东西。
这里有相应的文档,您可以在其中阅读更多信息:https://docs.gradle.org/current/userguide/publishing_maven.html
https://stackoverflow.com/questions/45935530
复制相似问题