问题标签 [gradle]

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 回答
3646 浏览

groovy - 如何从 Gradle 0.6 引用类路径

我有一个使用Gradle作为构建工具的项目,我必须使用AntJava任务。此任务中的子元素之一是对类路径的引用,我想使用 refid。构建脚本使用 Gradle 的WAR 插件。由于编译任务没有任何问题,我知道类路径设置正确:

不,我想在我的 Gradle 构建脚本中引用这个类路径。

我尝试了以下方法:

使用 classpathId(内置?)搜索 Gradle 邮件列表并找到一个建议:

project.dependencies.antpath('compile')

这会导致错误。还尝试了一些变体,但到目前为止还没有运气。任何建议表示赞赏。

0 投票
9 回答
355254 浏览

java - 为什么使用 Gradle 而不是 Ant 或 Maven?

另一个以 Java 为目标的构建工具真正带给我什么?

如果您在其他工具上使用 Gradle,为什么?

0 投票
9 回答
29285 浏览

maven-2 - Buildr、Gradle 还是等待 Maven 3?

我真的厌倦了一直在与 Maven 2 作斗争。构建工具不应该成为障碍。最近我一直在研究 Buildr 和 Gradle。Maven 3 似乎解决了一些问题。那么,我现在该怎么办?建造者?摇篮?还是等一年 Maven 3?

0 投票
1 回答
22404 浏览

build - 如何获取对 Gradle build 生成的 jar 文件的引用?

在 gradle 中完成 jar 任务后,我需要签署一个 jar。我需要从构建中引用生成的 jar 文件,我可以重新创建 jar 文件,但我真的在寻找一个可以为我执行此操作的属性。

以下是我的做法:

是否有可以用来代替长“路径计算”的属性?

0 投票
6 回答
15714 浏览

intellij-idea - IntelliJ IDEA 9 + Maven + 版本控制的最佳实践

该项目使用 Maven,因此 POM 文件是项目信息的主要来源。项目文件中有一些有用的设置可以很好地保留。

OTOH IDEA 似乎在项目文件结构中创建了太多冗余更改,这会污染 SVN 历史记录,有时还会产生冲突。

我应该将 .idea 目录和 *.iml 文件置于版本控制之下吗?在全?部分?

更新:所以到目前为止,我发现为我和我的团队工作的最佳实践是:

  1. 检入所有 IDEA 文件、*.iml 和 .idea 目录。它们包含有价值的信息,每次更新时重新创建它是浪费时间。
  2. 为每个开发者创建私有分支
  3. cd 进入 .idea 目录
  4. svn 将其切换到其私有分支对应物
  5. 不要在定期提交时签入 IDEA 文件——它们会污染历史记录。检查他们的特殊提交。

这样,您将 .idea 目录的内容保留在版本控制中,但不会影响常规提交。任何开发人员都可以访问任何其他人的 IDEA 目录。

更新 2:自从写了这个问题以来,我已经改变了我的做法,将任何 IntelliJ 文件签入版本控制,正如许多响应者所建议的那样。这是我目前对 Maven 和 Gradle 的实践。这些工具已经发展到可以始终从原始 .POM 或 .gradle 文件中复制关键信息的程度。当文件更改时,IDE 会可靠地跟踪更改,因此您不会经常丢失 IDE 文件,因此无需签入。

更新 3:问这个问题 7 年后,它似乎仍然相关。相同的最佳实践也适用于 Gradle(可能也是 SBT):不要签入 IDE 文件,必要时从基本的 POM、.gradle 或 SBT 文件重新创建它们。

0 投票
1 回答
921 浏览

gradle - 使用 gradle 0.8 复制文件树时如何强制包含空目录?

使用 Gradle 0.8,我有以下文件结构

我想复制创建

所以我尝试了这个:

但相反,我最终得到:

如何强制包含空目录?

0 投票
4 回答
4509 浏览

java - 生成项目时,如何有条件地从原型中包含或排除文件?

我正在为我们的项目(焊接)创建 Maven 2 原型。我希望能够根据在archetype:generate. 例如,我预见到以下提示:

根据 includeGradleSupport 的值,我想build.gradle在生成的项目中包含(或不包含)该文件。如果用户不想要 Gradle 支持,我不想将生成的项目与不必要的文件混淆。

另一个例子是,如果用户想要 Jetty 支持,我可能需要提供一个 Jetty web 片段(也许是为了激活一个监听器)。

这完全是基于开发人员打算使用的项目定制。虽然我可以创建一个完整的其他原型,但有时更改是如此微小,以至于包含/排除文件会更容易。

有没有办法使用archetype-metadata.xml描述符来控制这种行为?

0 投票
5 回答
5160 浏览

java - 常春藤存储库的任何最佳实践或工具?

我们使用 Gradle 来构建 Java 项目,目前我们有 Ivy 存储库来存储第三方工件并将我们自己的工件发布到(repo 是使用 Gant 脚本和 Ivy ANT 任务构建的)。但回购管理是基本的。
Gradle 也可以使用 maven 存储库,因此切换到像 Archiva 或 Nexus 这样的 Maven 工件管理器是一种选择,但可能没有必要。您知道任何可以帮助我们构建和维护 Ivy 存储库的工具或最佳实践吗?

只是要明确一点:我们已经阅读了教程和更多内容并了解了如何做到这一点,但它仍然是维护的基础。

0 投票
1 回答
1017 浏览

maven-2 - 在哪里可以找到用 Ivy、Maven、Gant 和 Gradle 表达的单个示例?

我想找到一个用 Ant + Ivy、Maven、Gant 和 Gradle 表示的简单的、非平凡的 Java 项目。我对每个工具的各种示例演示不感兴趣。

我在哪里可以找到这样的例子,供参考?

0 投票
4 回答
86981 浏览

java - 如何将一个 Gradle 脚本导入另一个?

我有一个复杂的 Gradle 脚本,它包含围绕构建和部署多个 NetBeans 项目到多个环境的大量功能。

该脚本运行良好,但本质上它都是通过包含项目和环境信息的六张地图配置的。

我想将任务抽象到另一个文件中,这样我就可以在一个简单的构建文件中简单地定义我的地图,并从另一个文件中导入任务。通过这种方式,我可以为多个项目使用相同的核心任务,并使用一组简单的地图配置这些项目。

谁能告诉我如何以类似于 Ant 任务的方式将一个 Gradle 文件导入另一个文件?到目前为止,我已经搜索了 Gradle 的文档,但无济于事。

附加信息

在汤姆下面的回应之后,我想我会试着澄清我的意思。

基本上我有一个运行多个子项目的 Gradle 脚本。但是,子项目都是 NetBeans 项目,并带有自己的 ant 构建脚本,所以我在 Gradle 中有任务来调用每个项目。

我的问题是我在文件顶部有一些配置,例如:

然后我生成任务,例如:

我有很多这样的任务生成片段,它们都是通用的——它们完全取决于项目列表中的配置。

所以我想要的是一种将它放在一个单独的脚本中并以下列方式导入它的方法:

因此,在此示例中,tasks.gradle 将包含所有通用任务生成代码,并将针对主 build.gradle 文件中定义的项目运行。这样,tasks.gradle 是一个可供所有大型项目使用的文件,这些大型项目由许多具有 NetBeans ant 构建文件的子项目组成。