@@ -18,6 +18,7 @@ package com.netflix.spinnaker.gradle.dependency
1818
1919import groovy.text.SimpleTemplateEngine
2020import groovy.text.Template
21+ import org.codehaus.groovy.runtime.GStringImpl
2122import org.gradle.api.Project
2223import org.gradle.api.artifacts.Dependency
2324import org.yaml.snakeyaml.Yaml
@@ -29,7 +30,9 @@ import java.util.concurrent.locks.ReentrantLock
2930
3031class SpinnakerDependency {
3132
32- private static final String DEFAULT_DEPENDENCIES_YAML = ' com.netflix.spinnaker:spinnaker-dependencies:latest.release@yml'
33+ private static final String OVERRIDE_PROJECT_PROPERTY = ' spinnaker.dependenciesVersion'
34+ private static final String DEFAULT_DEPENDENCIES_VERSION = ' latest.release'
35+ private static final GString DEFAULT_DEPENDENCIES_YAML = " com.netflix.spinnaker:spinnaker-dependencies:${ DEFAULT_DEPENDENCIES_VERSION} @yml"
3336 private final Project project
3437 private final Map dependencyConfig = [:]
3538 private final SimpleTemplateEngine templateEngine = new SimpleTemplateEngine ()
@@ -40,6 +43,7 @@ class SpinnakerDependency {
4043
4144
4245
46+ public Object dependenciesVersion
4347 public Object dependenciesYaml
4448
4549 SpinnakerDependency (Project project ) {
@@ -57,7 +61,10 @@ class SpinnakerDependency {
5761 return dependencyConfig
5862 }
5963
60- def conf = project. configurations. detachedConfiguration(project. dependencies. create(dependenciesYaml ?: DEFAULT_DEPENDENCIES_YAML ))
64+ String dependenciesVersion = project. hasProperty(OVERRIDE_PROJECT_PROPERTY ) ? project. property(OVERRIDE_PROJECT_PROPERTY ) : dependenciesVersion ?: DEFAULT_DEPENDENCIES_VERSION
65+ Object dependencyString = dependenciesYaml ?: new GStringImpl ([dependenciesVersion] as Object [], DEFAULT_DEPENDENCIES_YAML . strings)
66+
67+ def conf = project. configurations. detachedConfiguration(project. dependencies. create(dependencyString))
6168
6269 Map config = conf. singleFile. withReader {
6370 return (Map ) new Yaml (). load(it)
0 commit comments