build(modules): improve matching of compatible versions in module dependencies (#4645)

by avoiding use of gestalt.VersionRange
develop
Kevin Turner 2021-05-02 17:41:16 -07:00 committed by GitHub
parent b6e1b3fd7d
commit 9381ce367c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 2 deletions

View File

@ -26,7 +26,7 @@ dependencies {
implementation("dom4j:dom4j:1.6.1")
// for inspecting modules
implementation("org.terasology.gestalt:gestalt-module:7.0.6-SNAPSHOT")
implementation("org.terasology.gestalt:gestalt-module:7.1.0-SNAPSHOT")
api(kotlin("test"))
}

View File

@ -8,6 +8,7 @@ import org.terasology.gestalt.module.ModuleMetadata
import org.terasology.gestalt.module.ModuleMetadataJsonAdapter
import org.terasology.gestalt.module.dependencyresolution.DependencyInfo
import org.terasology.gestalt.naming.Version
import org.terasology.gestalt.naming.VersionRange
import java.io.File
@ -72,7 +73,15 @@ class ModuleMetadataForGradle(private val moduleConfig: ModuleMetadata) {
// sounds complicated.)
}
val gradleDep = GradleDependencyInfo(TERASOLOGY_MODULES_GROUP, gestaltDependency.id.toString(), gestaltDependency.versionRange().toString())
val version = if (gestaltDependency.versionPredicate() is VersionRange) {
gestaltDependency.versionPredicate().toString()
} else {
// TODO: gradle-compatible version expressions for gestalt dependencies
// https://github.com/MovingBlocks/gestalt/issues/114
gestaltDependency.minVersion.toString();
}
val gradleDep = GradleDependencyInfo(TERASOLOGY_MODULES_GROUP, gestaltDependency.id.toString(), version)
return Pair(gradleDep, gestaltDependency.isOptional)
}
}

View File

@ -0,0 +1,7 @@
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
@API
package org.terasology.unittest.stubs;
import org.terasology.gestalt.module.sandbox.API;