How to prevent gradle from downloading SNAPSHOT jar

Viewed 940

I am using a dependency module-x which has may or may not have SNAPSHOT version of trivial/other dependencies. When I build the application I wanted to make sure that all the trivial/other dependencies are of release type and not SNAPSHOT as SNAPSHOT keeps changing.

build.gradle file

dependencies {
    implementation 'org.my-group-x:module-x:1.2'
}

it downloads a bunch of dependencies and it may have multiple dependencies which are of SNAPSHOT typed

module-y:2.0-SNAPSHOT.jar
module-z:3.1-SNAPSHOT.jar
module-k:2.7-SNAPSHOT.jar

How I can make sure it is rejected and not added to the application? Also i dont know the dependencies to exclude it specifically.

1 Answers

You can exclude dependencies in build tools, see: https://docs.gradle.org/current/userguide/dependency_downgrade_and_exclude.html#sec:excluding-transitive-deps

You can also configure the Maven repositories used in Gradle, see: https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:repository-content-filtering
Here is an example to use only release versions or only snapshot version:

repositories {
    maven {
        url "https://repo.mycompany.com/releases"
        mavenContent {
            releasesOnly()
        }
    }
    maven {
        url "https://repo.mycompany.com/snapshots"
        mavenContent {
            snapshotsOnly()
        }
    }
}
Related