当前位置: 首页 > 知识库问答 >
问题:

强制 Gradle 构建在使用快照依赖项发布时失败

臧烨烁
2023-03-14

我想防止在使用 Gradle 构建 Android 应用程序或库的发布版本时使用快照依赖项。如果在构建版本时存在任何快照依赖项,如何强制 Gradle 构建失败?

共有1个答案

江展
2023-03-14

您可以使用ResolutionStrategy。

有关API,请参见此处:https://docs . grad le . org/current/DSL/org . grad le . API . artifacts . resolution strategy . html

下面的例子是Peter _ Niederwieser https://discuse . Gradle . org/t/enforce-no-snapshot-dependencies-in-grad le/3851/2在grad le论坛上发布的

configurations.all {
    resolutionStrategy.eachDependency { details ->
        if (!isRelease) return
        if (details.requested.version.endsWith("-SNAPSHOT")) {
            throw new GradleException("found snapshot dependency")
        }
    }
}

代码必须放置在模块生成.gradle 或主生成.gradle 的“所有项目”部分中。

 类似资料:
  • 我有一个多模块项目。而且,我希望能够只做gradle发布,并发布所有模块的所有工件。其中一个问题是,当我包含插件时,我得到了名为“构建”的任务,但在根项目中找不到。 当我运行

  • 我不知道该怎么办;我卡住了。我有以下依赖关系,以前一切都很好: 然后,突然,它开始说: 我不确定是什么改变了,或者是什么导致了这种情况的发生。

  • 我正在使用Gradle构建并打包一个非常简单的Spring启动应用程序(99%的静态内容)到带有嵌入式tomcat的jar中。 我尝试创建该jar,起初结果86k,没有启动,因为它缺少一些Spring Boot类。我得出结论,我制作的这个jar不包含应用程序的任何依赖项,既然我确实想要一个完全独立的jar,我应该做更多的研究。 这时,我发现建议将{configurations.compile.co

  • 在Java项目的build.gradle中,我有一个Maven存储库列表,用于相关性解析,如下所示: 储存库{ 谢了。

  • 我一直在使用gradle作为Springboot,它过去很好,但gradle的构建突然停止了工作。我不断收到错误,说找不到依赖项 这是分级代码: 我得到的错误是: 无法解析组织。springframework。启动:spring启动依赖项:2.4。1.无法解析io。关键的。Spring云:spring云服务依赖项:2.4。1.无法解析组织。springframework。云:spring云依赖项: