问题标签 [gradle-release-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4109 浏览

gradle - 如何在构建期间排除 gradle 任务或方法

我定义了一个读取属性文件并更新某个字段的任务。我希望它仅在我执行“发布”时运行,而不是在“构建”期间运行。

我正在使用这个 gradle-release 插件进行发布:https ://github.com/researchgate/gradle-release

此插件在每个版本中将 gradle.properties 文件中的版本更新为下一个版本。我还需要保留当前版本号,因此我编写了这个方法。

但是,每当我进行构建时,都会执行此任务。我试图将其更改为一种方法,并在“uploadArchives”中调用该方法,我认为该方法仅在“发布”期间运行。然而没有结果。它会在每次构建时继续执行!

如何将它从“构建”中排除并仅在发布时调用它?

这是任务和一些代码片段:

0 投票
1 回答
3521 浏览

gradle-release-plugin - 如何将 GIT 的用户名和密码传递给 gradle 插件?

我正在尝试使用 gradle release 插件进行发布,但是每当插件使用 GIT 时,它都不会传递我的用户名和密码:

我将其调用为:

我在用着:

我的 gradle 发布配置如下:

我得到的错误看起来像:

0 投票
1 回答
195 浏览

gradle - gradle-release-plugin 中 tagTemplate 和 newVersionCommitMessage 选项的关系

这是一件小事,但在我的 build.gradle 文件中,我将 gradle-release-plugin 配置为:

新版本提交消息类似于:“[Gradle Release Plugin] - 新版本提交:'release-0.8'。”。我怎样才能摆脱消息中的这个“释放”部分?

0 投票
1 回答
566 浏览

git - gradle-release-plugin - 在 manifest.mf 中使用 git commitid

我想在 manifest.mf 文件中使用 git commitId。在当前的 gradle-release-plugin 版本标记将在构建任务之后完成。所以 git commitId 不能在 manifest.mf 文件中使用。有没有计划支持这样的事情?在 manifest.mf 文件中使用 git commitId 有什么想法吗?

0 投票
1 回答
1090 浏览

gradle - gradle在发布任务期间不执行构建

我正在使用gradle 发布插件将工件推送到工件。我想在发布之前运行以下任务 - 构建,组装

文档说构建任务是在发布任务期间执行的。

1)我想包含要发布的 app.war 和 assets.zip(配置如下)。我该怎么做?

2)当我./gradlew clean release处理错误时,当前构建失败

Cannot cast object 'task ':assemble'' with class 'org.gradle.api.DefaultTask_Decorated' to class 'groovy.lang.Closure'

配置有什么问题 - release.dependsOn assemble

3)如果我注释掉该行并执行,我看到执行的发布任务提示我输入版本号。当我退出进程 (ctrl + C) 时,我没有看到创建的构建目录。发布任务在构建后执行。然后我希望看到一个构建目录。为什么我看不到它?

这里是build.gradle

当我跑步时

0 投票
0 回答
798 浏览

gradle - 为什么我需要同时配置 uploadArchives 和 artifactoryPublish 才能发布我的构建档案?

我有一个lib.zipmyApp.war我需要发布到artifactory. 最初,我从 开始artifactoryPublish,希望当我运行时 ./gradlew clean release,战争和 zip 被发布到工件。但我只观察到战争被上传了。我必须将这个附加添加到我的 build.gradle 中才能同时上传 zip 和 war

afterReleaseBuild.dependsOn uploadArchives. 为什么我两者都需要?

如果我删除afterReleaseBuild.dependsOn artifactoryPublish,则不会上传/发布到工件。

这是我的 build.gradle

0 投票
1 回答
1941 浏览

android-studio - Android Studio,Gradle:如何自动将 release.apk 发布到 svn 存储库?

在 Maven 中,发布过程没有问题。由于我被迫将 Android Studio 与 Gradle 一起使用,因此我希望实现与 Eclipse 和 Maven 相同的行为。我发现了一些相当不错的类似 Maven 的发布插件(https://github.com/researchgate/gradle-release),它几乎可以按预期工作,但它没有上传发布 apk,尽管它正确地创建了 apk/app/build/outputs/apk和一个用我的 SVN 存储库上的源代码标记。发布文件夹仍然是空的。我什至不确定这个插件是否可以做到这一点,因为它没有很好的文档记录,但我想我需要告诉这个插件要上传什么以及在哪里可以找到它。只有一个afterReleaseBuild.dependsOn uploadArchives。这是什么意思,我必须覆盖这个uploadArchives方法或这在 Gradle 中意味着什么?它似乎是内置的,因为如果我在脚本中编写并运行 Gradle build 不会抱怨gradlew release。显然这个插件已经知道repository并且可以通过ssh连接,否则它无法创建标签,但它似乎不知道要上传什么,发布文件夹保持为空。同时,我尝试通过许多其他 Gradle 尝试来解决该问题,例如使用 Maven 插件,但后来我遇到了没有解决方案的 SSH 证书问题,即使它有效,也不是一个好的解决方案,因为我不'不想创建 pom.xml 文件等,这只是一种解决方法。

目标是发布过程应该自动在 svn 存储库的发布文件夹中创建一个文件夹,该文件夹的名称类似于当前版本(因为它已经在标签文件夹中工作,例如 1.0.0)并将已发布的 apk 复制到其中已重命名通过 Gradle 到 myapp-app-1.0.0-release.apk,因为这是本地输出文件夹中包的名称。

这是我当前的 gradle 脚本,它可以在输出文件夹中生成发布 apk,但不会将其上传到 svn:

0 投票
1 回答
1711 浏览

gradle - 在 Gradle 中使用一个版本和标签发布多模块项目

我在 Gradle 中有多模块项目,其中 parentbuild.gradle只是子项目的聚合器,没有任何来源。

结构:

两个孩子都产生带有工件的 JAR,而父母产生空的 JAR,我根本不想在任何地方上传。

现在我想发布这样的项目。Git 中应该有一个带有版本更新的提交和一个标签。但是,应构建所有子项目并将其上传到存储库。我怎样才能实现它?

我试过gradle-release plugin,但我很难正确配置它。我得到以下任何一种:

  • 在父级上应用插件,获得正确的提交和标签,但只上传根项目
  • 在子项目上应用插件,正确上传项目,但每个子项目都有单独的提交和标记
0 投票
1 回答
1424 浏览

maven - Gradle 子项目版本控制

我们目前正在将我们的项目从 maven 迁移到 gradle。我们的设置如下所示:

  • 父pom项目
    • 子项目1
    • 子项目2(编译依赖1)
    • 子项目 3(编译依赖于 2 和 1)

所有这些 Maven 子项目都是独立版本的

使用 Maven,我们使用版本插件,它确保我们设置(使用插件)例如子项目 1 的版本,新版本被传播到整个子树(并且 2 和 3 中的相应依赖项也被更改)。

我正在寻找gradle release plugin bud 的文档,但找不到有关此功能的提及。它是否支持它,或者是否有任何其他插件,它支持它?

第二个问题,因为我们正处于 maven-gradle 迁移的中间,是否有可能以某种方式将 maven 版本插件与任何此类 gradle 插件结合起来?(在 Maven 中有 1 个版本,在 gradle 中有 2 个和 3 个版本,并且仍然可以实现该行为)。我的猜测不是,只是问,如果有人还没有找到一些解决方案:-),所以我们不必在一次大爆炸中做 maven -> gradle。

提前致谢!

0 投票
1 回答
1310 浏览

jenkins - 如何使用 researchgate/gradle-release 在 Jenkins 上构建标记版本提交

我正在使用 Jenkins,它是唯一允许发布到我们的 maven 存储库的工具,以及 gradle-release 插件来标记版本并移动到新的快照版本。我注意到没有构建标记版本,因为推送发生在提交新快照版本之后 - 因此 Jenkins 构建新快照版本并跳过标记版本。有没有办法将 gradle-release 插件配置为首先在标记版本之后进行推送,然后再为新的快照版本进行推送?