diff --git a/x-pack/plugin/ml/build.gradle b/x-pack/plugin/ml/build.gradle index 06186540bcab7..a7ff0a68b58e9 100644 --- a/x-pack/plugin/ml/build.gradle +++ b/x-pack/plugin/ml/build.gradle @@ -1,3 +1,6 @@ +import org.elasticsearch.gradle.VersionProperties +import org.elasticsearch.gradle.internal.dra.DraResolvePlugin + apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-test-artifact' @@ -11,27 +14,42 @@ esplugin { extendedPlugins = ['x-pack-autoscaling', 'lang-painless'] } +def localRepo = providers.systemProperty('build.ml_cpp.repo').orNull if (useDra == false) { repositories { exclusiveContent { + filter { + includeGroup 'org.elasticsearch.ml' + } forRepository { ivy { name "ml-cpp" - url providers.systemProperty('build.ml_cpp.repo').orElse('https://prelert-artifacts.s3.amazonaws.com').get() metadataSources { // no repository metadata, look directly for the artifact artifact() } - patternLayout { - artifact "maven/org/elasticsearch/ml/ml-cpp/[revision]/[module]-[revision](-[classifier]).[ext]" + if (localRepo) { + url localRepo + patternLayout { + artifact "maven/[orgPath]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]" + } + } else { + url "https://artifacts-snapshot.elastic.co/" + patternLayout { + if (VersionProperties.isElasticsearchSnapshot()) { + artifact '/ml-cpp/[revision]/downloads/ml-cpp/[module]-[revision]-[classifier].[ext]' + } else { + // When building locally we always use snapshot artifacts even if passing `-Dbuild.snapshot=false`. + // Release builds are always done with a local repo. + artifact '/ml-cpp/[revision]-SNAPSHOT/downloads/ml-cpp/[module]-[revision]-SNAPSHOT-[classifier].[ext]' + } + } } } } - filter { - includeGroup 'org.elasticsearch.ml' - } } } + } configurations { @@ -112,4 +130,4 @@ tasks.named("dependencyLicenses").configure { mapping from: /lucene-.*/, to: 'lucene' } -addQaCheckDependencies(project) +addQaCheckDependencies(project) \ No newline at end of file