我正在编写一个
java库foo,它依赖于bar:1.1.
但是库栏已经发生了很大的变化,我想确保我的库与每个版本的栏兼容(1.1 … 1.10).
但是库栏已经发生了很大的变化,我想确保我的库与每个版本的栏兼容(1.1 … 1.10).
因此,我希望(在CI期间)使用包含bar:1.X的类路径运行每个单元测试,每个版本都可以使用bar.
我正在使用gradle和junit / spock,但我愿意接受各种变化的解决方案.
我可以通过gradle测试任务复制,但这非常麻烦,测试结果可能很难聚合.
理想情况下,我会在我的测试旁边定义它应该运行哪些版本的条,例如:
@RunWith("com.acme:bar:1.1..1.10") public class MyTest { ... }
但我发现没有工具/跑步者.
这与Maven有关,不确定它如何适合CI,但可能会帮助您入门.
一种选择可以是使用Maven Archetype< - 更多信息 使用mvn archetype:generate,您可以使用动态需要的版本生成项目
mvn archetype:generate -DarchetypeGroupId=<archetype-groupId> -DarchetypeArtifactId=<archetype-artifactId> -DarchetypeVersion=<archetype-version> -DgroupId=<my.groupid> -DartifactId=<my-artifactId> -Dversion=<custom-version>