首页 文章

Gradle - 更改主要发行版 - 摆脱bin和lib文件夹

提问于
浏览
0

我有一个应用了应用程序插件的Gradle构建 . 应用程序插件还应用分发插件并创建默认 main 分发,它将启动脚本放在 bin 文件夹中,依赖项放在 lib 中 .

现在我想完全删除该默认行为并拥有自己的发行版,但名称相同 main . 更确切地说,我不想要 binlib 文件夹,并希望我的自定义内容 .

我知道我可以很容易地定义一个新的发行版

distributions {
    my {
        // my configuration here
    }
}

所以我可以通过 myDistZip 产生所需的分布 .

但我想完全改变 main 分布,这样我就可以通过简单的 distZip (或 distTar )生成存档 .

我试图删除主要发行版(通过 distributions.remove(distributions.main) )并创建一个新发行版

distributions {
    main {
        // my configuration here
    }
}

但是失败了

Cannot add task ':distZip' as a task with that name already exists.

我想这只是因为Gradle为每个新发行版创建了 distZip 任务,所以它也试图为新的 main 做,但是在插件应用程序中已经创建了 distZip 任务 .

那么有没有办法改变 main 发布以摆脱 binlib 文件夹?

Gradle:3.5

1 回答

  • 2

    但我想改变主要的分布,所以我将能够通过简单的distZip(或distTar)生成存档 .

    看起来您不必更改 main 发布 - distribution 插件的文档(由 application 插件自动添加)注意到每个发行版,因此您可以使用 gradle myDistZip .

    但是,您似乎也应该能够配置现有的 main 发行版:

    distributions {
      main {
        contents {
          // configure
        }
      }
    }
    

    虽然您似乎无法重置现有值,但也许您可以使用排除项来不复制特定文件夹(请参阅https://docs.gradle.org/current/javadoc/org/gradle/api/file/CopySpec.html

相关问题