Skip to content

Instantly share code, notes, and snippets.

@Ithildir
Created October 30, 2015 23:38
Show Gist options
  • Save Ithildir/f72cd66520454f71a78c to your computer and use it in GitHub Desktop.
Save Ithildir/f72cd66520454f71a78c to your computer and use it in GitHub Desktop.
Block snapshot and dynamic dependencies in Gradle projects
import org.gradle.api.internal.artifacts.ivyservice.ivyresolve.strategy.VersionSelectorScheme
task resolveStuff
defaultTasks = ["resolveStuff"]
def versionSelectorScheme = gradle.services.get(VersionSelectorScheme)
configurations {
all {
resolutionStrategy {
eachDependency {
dependencyResolveDetails ->
def requested = dependencyResolveDetails.requested
def lockedVersion = project.properties["locked.version." + requested.toString().replace(":", ".")]
if (lockedVersion) {
dependencyResolveDetails.useVersion lockedVersion
return
}
def version = dependencyResolveDetails.requested.version
if (version.endsWith("-SNAPSHOT")) {
println "SNAPSHOT DEPENDENCY FOUND!!! " + requested
return
}
def versionSelector = versionSelectorScheme.parseSelector(version)
if (versionSelector.dynamic) {
println "DYNAMIC DEPENDENCY FOUND!!! " + requested
}
}
}
}
stuff
}
dependencies {
stuff group: "com.liferay", name: "com.liferay.arquillian.extension.junit.bridge", version: "1.0.0-SNAPSHOT"
}
resolveStuff << {
configurations.stuff.resolve()
}
repositories {
mavenLocal()
maven {
url "http://cdn.repository.liferay.com/nexus/content/groups/public"
}
}
locked.version.com.liferay.com.liferay.arquillian.extension.junit.bridge.1.0.0-SNAPSHOT=1.0.0-20150713.205212-1
locked.version.org.arquillian.liferay.arquillian-container-liferay.1.0.0.Final-SNAPSHOT=1.0.0.Final-20151013.172324-25
locked.version.org.arquillian.liferay.arquillian-deployment-generator-bnd.1.0.0.Final-SNAPSHOT=1.0.0.Final-20151013.172324-25
locked.version.org.arquillian.liferay.arquillian-container-osgi-allin.1.0.0.Final-SNAPSHOT=
locked.version.org.arquillian.liferay.arquillian-processor-osgi-allin.1.0.0.Final-SNAPSHOT=
locked.version.org.arquillian.liferay.arquillian-portal-liferay-extension.1.0.0.Final-SNAPSHOT=
locked.version.org.eclipse.osgi.org.eclipse.osgi.services.3.5.0-SNAPSHOT=
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment