为什么Gradle MavenArtifactRepository无法区分发布,快照和混合发布?

时间:2018-08-08 08:26:51

标签: gradle jcenter nexus3 maven-central

我认为处理存储库的区别是很正常的情况。

如我所定义的存储库:

repositories {
  maven  { url 'https://m2.my-nexus.com/repository/mixed1' }
  maven  { url 'https://m2.my-nexus.com/repository/releases' }  
  maven  { url 'https://m2.my-nexus.com/repository/releases2' }  
  maven  { url 'https://m2.my-nexus.com/repository/snapshots' }  
  maven  { url 'https://m2.my-nexus.com/repository/snapshots2' }  
}

和依赖项:

dependencies {
  implementation "cn.dreamtobe.xx1:a:0.0.1-SNAPSHOT"
  implementation "cn.dreamtobe.xx2:b:0.0.1-SNAPSHOT"
  implementation "cn.dreamtobe.xx3:c:0.0.1-SNAPSHOT"
  implementation "cn.dreamtobe.xx4:d:0.0.1"
  implementation "cn.dreamtobe.xx5:e:0.0.1"
  implementation "cn.dreamtobe.xx6:f:0.0.1"
  implementation "cn.dreamtobe.xx7:g:0.0.1"
}

很显然,我只想从快照或混合存储库中获取快照工件,而只想从中获取版本工件发布和混合存储库。

但是Gradle所做的事情非常肮脏,它没有在MavenArtifactRepository上提供任何用于区分的接口。

因此,它必须按写入顺序触摸每个回购记录,同时,由于Gradle尝试,您将从nexus3中获得约400个响应代码。从快照仓库中获取释放工件,或者试图从快照仓库中获取快照工件,这没有任何意义。

我不知道为什么,我想念什么吗?

如下图所示,成千上万的愚蠢尝试,如此肮脏而出乎意料! enter image description here

0 个答案:

没有答案