6
  1. 我们希望有一个执行“svn update”的脚本,如果 depedency.gradle 文件在该更新列表中,我们希望运行一个仅更新依赖项的任务,以便开发人员的机器是最新的。那任务是什么?运行“gradle tasks”时我看不到它。寻找更新罐或其他东西。

  2. 当我们构建我们的项目时,我们根本不希望它检查 jar 更新!!!!最重要的是,这只需要在上面#1的两种情况下以及当有人自己更新dependency.gradle文件时完成。第二件事,一旦我知道问题 #1 的答案,他们就可以运行“gradle updatejars”。

有任何想法吗?我刚刚进入 gradle,我们真的想保持一个一致的环境,当我们运行更新脚本时,它会在一次原子扫描中获取源代码和 jar,我们不再为每次构建时检查存储库而烦恼。

如果可能的话,最好通过更改 build.gradle 文件来知道如何做到这一点。如果没有,是否有命令行选项?(build.gradle 显然会给我一个命令行选项,这就是为什么我更喜欢这种方法,因为我可以说编译不依赖于下载 jars)。

4

2 回答 2

12

关于第二个问题。据我了解,如果 jar 已经在本地缓存中,Gradle不会尝试进行远程查找或尝试下载 jar。这对于使用静态版本声明的 jar 应该是正确的,例如testCompile 'junit:junit:4.10'.

如果您有动态版本,例如1.+or1.0-SNAPSHOT等​​,则 Gradle 必须不时进行检查。您可以微调此类依赖项的缓存过期时间

为确保 Gradle 不进行远程查找,您还可以使用--offlineoption。有关详细信息,请参阅此文档

关于 svn update,你至少有 3 个选项:

  1. 尝试为 Gradle 使用SvnKit 插件

  2. 使用 ant svn 任务(这里是如何做svn checkout

  3. 从 Gradle 运行外部命令。使用ExecPlugin或使用 Groovy API 自己实现它。

于 2012-04-14T23:56:57.373 回答
0

看起来我可以用这篇文章中的答案做的第一个问题

如何告诉 gradle 下载所有源 jar

所以我可以 gradle eclipse,它会下载新的 jars 并更新我的类路径......很好。

于 2012-04-21T14:45:43.807 回答