For example, this function I'm using to calcuate a...
# gradle
j
For example, this function I'm using to calcuate all the possible versions of a dependency:
Copy code
fun calculateAllVersions(dependency : Map<String, String>) : Set<String> {
    val versions = mutableSetOf<String>()
    val schemaLookup = configurations.create("${dependency["name"]}-lookup".toString()) {
        it.resolutionStrategy
                .componentSelection
                .all(object : Action<ComponentSelection> {
                    @Mutate
                    override fun execute(selection : ComponentSelection) {
                        versions.add(selection.candidate.version)
                        selection.reject("Rejecting all because we want all versions to be resolved.")
                    }
                })
    }
    dependencies.add(schemaLookup.name, dependency)

    try {
        schemaLookup.resolve()
    } catch (resolveEx : ResolveException) {
        // This is expected to fail
    }
    return versions
}