我有一个gradle项目,其中jar被构建并推送到神器。我总是希望每个构建/新工件都被称为最新的,可以在外部使用。我如何通过gradle实现它?我可以设置最新的'工件的别名,所以在任何时候我的最新标签都会指向最新的jar,可以作为依赖添加?
例如:abc-1.0-latest.jar应始终向我提取最新版本,而不管我在内部运行的构建数量。
答案 0 :(得分:1)
因此,您希望使用相同的版本控制多次发布工件,但具有不同的签名?那是;工件/**
* @var MyVendor\MyExt\Domain\Repository\UserRepository
* @inject
*/
$protected $userRepository;
public function getOnlineUsersAction() {
$users = $this->userRepository->findAll();
// todo
}
可以演变,但版本控制保持不变?不知道这是不是一个好习惯。
无论如何,为什么不查看maven / gradle作品的版本?可能你可以添加这样的东西来总是获取abc-1.0
库的最新工件:
的Maven:
abc
摇篮:
<dependency>
<artifactId>abc</artifactId>
<groupId>com.whatever</groupId>
<version>[1.0,)</version>
<dependency>
在这种情况下,版本1.1(如果可用)将从artifactory中获取。
但请记住,您的代码不容易重建,因为工件将使用动态依赖方法获取。
答案 1 :(得分:1)
您的用例听起来很奇怪,而不是根据最佳做法。
看起来你真正需要的是使用maven snapshot versions。
答案 2 :(得分:0)
您可以完全避免指定版本,然后Gradle将选择最新版本
dependencies {
compile 'com.google.guava:guava:+'
}
或者如果您想要最新的7版本
dependencies {
compile 'com.google.guava:guava:7.+'
}
编辑:抱歉,我误解了这个问题。
如果你希望你的项目总是使用最新的代码,那么在这种情况下创建一个多项目并依赖项目的“构建”结果是不是更好?