首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建动态gradle发布

创建动态gradle发布
EN

Stack Overflow用户
提问于 2017-08-29 17:32:44
回答 1查看 1K关注 0票数 0

我的gradle构建会根据GIT中更改的文件生成不同数量的工件。因此,如果例如file1.txt被更改,它将只生成file1.zip,如果file1.txt和file2.txt都被更改,它将生成2个工件- file1.zip和file2.zip等。

对于每个更改的文件,我都会动态创建新任务:

代码语言:javascript
复制
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存储库。尝试通过以下方式实现:

代码语言:javascript
复制
publishing.publications.add(task)

但得到的信息如下:

代码语言:javascript
复制
> org.gradle.api.tasks.bundling.Zip_Decorated cannot be cast to org.gradle.api.Named
EN

回答 1

Stack Overflow用户

发布于 2017-08-29 18:54:21

publications.add需要一个Publication对象,而不是Task对象。你所追求的可能不仅仅是

代码语言:javascript
复制
publishing {
   publications {
      myPublicationName(MavenPublication) {
         artifact task
      }
   }
}

或者类似的东西。

这里有相应的文档,您可以在其中阅读更多信息:https://docs.gradle.org/current/userguide/publishing_maven.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45935530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档