Redesign env hierarchy

This commit is contained in:
Tad Fisher
2023-10-15 19:39:40 -07:00
parent 121e512a06
commit 6da87262a4
30 changed files with 4987 additions and 3300 deletions

View File

@@ -1,9 +0,0 @@
package org.nixos.gradle2nix
import kotlinx.serialization.Serializable
@Serializable
data class Artifact(
val urls: List<String>,
val hash: String,
)

View File

@@ -9,6 +9,14 @@ class Logger(
val stacktrace: Boolean = false
) {
fun debug(message: String, error: Throwable? = null) {
if (!stacktrace) return
out.println(message)
if (error == null) return
error.message?.let { println(" Cause: $it") }
error.printStackTrace(out)
}
fun log(message: String, error: Throwable? = null) {
if (!verbose) return
out.println(message)

View File

@@ -74,6 +74,9 @@ class Gradle2Nix : CliktCommand(
help = "Prefix for environment files (.json and .nix)")
.default("gradle-env")
private val debug: Boolean by option("--debug", help = "Enable debug logging")
.flag(default = false)
private val quiet: Boolean by option("--quiet", "-q", help = "Disable logging")
.flag(default = false)
@@ -114,7 +117,7 @@ class Gradle2Nix : CliktCommand(
System.err.println("Error: could not locate the /share directory in the gradle2nix installation")
}
val gradleHome = System.getenv("GRADLE_USER_HOME")?.let(::File) ?: File("${System.getProperty("user.home")}/.gradle")
val logger = Logger(verbose = !quiet)
val logger = Logger(verbose = !quiet, stacktrace = debug)
val config = Config(
File(appHome),
@@ -146,17 +149,17 @@ class Gradle2Nix : CliktCommand(
connection.build(config)
}
val dependencies = try {
val env = try {
processDependencies(config)
} catch (e: Throwable) {
error("Dependency parsing failed: ${e.message}")
logger.error("Dependency parsing failed", e)
}
val outDir = outDir ?: projectDir
val json = outDir.resolve("$envFile.json")
logger.log("Writing environment to $json")
json.outputStream().buffered().use { output ->
JsonFormat.encodeToStream(dependencies, output)
JsonFormat.encodeToStream(env, output)
}
}
}

View File

@@ -14,9 +14,16 @@ import okio.HashingSource
import okio.blackholeSink
import okio.buffer
import okio.source
import org.nixos.gradle2nix.dependencygraph.model.DependencyCoordinates
import org.nixos.gradle2nix.dependencygraph.model.Repository
import org.nixos.gradle2nix.dependencygraph.model.ResolvedConfiguration
import org.nixos.gradle2nix.dependencygraph.model.ResolvedDependency
import org.nixos.gradle2nix.env.ArtifactFile
import org.nixos.gradle2nix.env.ArtifactSet
import org.nixos.gradle2nix.env.Env
import org.nixos.gradle2nix.env.Module
import org.nixos.gradle2nix.env.ModuleId
import org.nixos.gradle2nix.env.ModuleVersionId
import org.nixos.gradle2nix.env.Version
import org.nixos.gradle2nix.metadata.Checksum
import org.nixos.gradle2nix.metadata.Component
import org.nixos.gradle2nix.metadata.Md5
@@ -36,12 +43,12 @@ private fun shouldSkipRepository(repository: Repository): Boolean {
repository.metadataResources.all { it.startsWith("file:") && (m2 == null || !it.startsWith(m2)) }
}
fun processDependencies(config: Config): Map<String, Map<String, Artifact>> {
fun processDependencies(config: Config): Env {
val verificationMetadata = readVerificationMetadata(config)
val verificationComponents = verificationMetadata?.components?.associateBy {
DependencyCoordinates(it.group, it.name, it.version)
ModuleVersionId(ModuleId(it.group, it.name), it.version)
} ?: emptyMap()
val moduleCache = mutableMapOf<DependencyCoordinates, GradleModule?>()
val moduleCache = mutableMapOf<ModuleVersionId, GradleModule?>()
val configurations = readDependencyGraph(config)
val repositories = configurations
@@ -57,54 +64,53 @@ fun processDependencies(config: Config): Map<String, Map<String, Artifact>> {
}
if (repositories.isEmpty()) {
config.logger.warn("no repositories found in any configuration")
return emptyMap()
return Env(emptyMap())
}
config.logger.debug("Repositories:\n ${repositories.values.joinToString("\n ")}")
return configurations.asSequence()
val modules = configurations.asSequence()
.flatMap { it.allDependencies.asSequence() }
.groupBy { it.id }
.mapNotNull { (id, dependencies) ->
if (id.startsWith("project ")) return@mapNotNull null
val deps = dependencies.toSet()
if (deps.isEmpty()) {
config.logger.warn("$id: no resolved dependencies in dependency graph")
return@mapNotNull null
}
val coordinates = deps.first().coordinates
val component = verificationComponents[coordinates]
?: verifyComponentFilesInCache(config, coordinates)
?: verifyComponentFilesInTestRepository(config, coordinates)
if (component == null) {
config.logger.warn("$id: not present in metadata or cache; skipping")
return@mapNotNull null
}
val repoIds = dependencies.mapNotNull { it.repository }
if (repoIds.isEmpty()) {
config.logger.warn("$id: no repository ids in dependency graph; skipping")
return@mapNotNull null
}
val repos = repoIds.mapNotNull(repositories::get)
if (repos.isEmpty()) {
config.logger.warn("$id: no repositories found for repository ids $repoIds; skipping")
return@mapNotNull null
}
val gradleModule = moduleCache.getOrPut(coordinates) {
maybeGetGradleModule(config.logger, coordinates, repos)
}
id to component.artifacts.associate { meta ->
meta.name to Artifact(
urls = repos
.flatMap { repository -> artifactUrls(coordinates, meta.name, repository, gradleModule) }
.distinct(),
hash = meta.checksums.first().toSri()
)
}
.filterNot { it.id.startsWith("project ") || it.repository == null || it.repository !in repositories }
.groupBy { ModuleId(it.coordinates.group, it.coordinates.module) }
.mapValues { (id, deps) ->
val versions = deps.groupBy { Version(it.coordinates.version) }
.mapValues { (version, deps) ->
val componentId = ModuleVersionId(id, version)
val dep = MergedDependency(
id = componentId,
repositories = deps.mapNotNull { repositories[it.repository] }
)
val component = verificationComponents[componentId]
?: verifyComponentFilesInCache(config, componentId)
?: verifyComponentFilesInTestRepository(config, componentId)
val gradleModule = moduleCache.getOrPut(componentId) {
maybeGetGradleModule(config.logger, componentId, dep.repositories)
}
ArtifactSet(
needsPomRedirect = repositories.values.any {
"mavenPom" in it.metadataSources &&
"ignoreGradleMetadataRedirection" !in it.metadataSources
},
needsIvyRedirect = repositories.values.any {
"ivyDescriptor" in it.metadataSources &&
"ignoreGradleMetadataRedirection" !in it.metadataSources
},
files = (component?.artifacts ?: emptyList()).associate { meta ->
meta.name to ArtifactFile(
urls = dep.repositories
.flatMap { repository -> artifactUrls(componentId, meta.name, repository, gradleModule) }
.distinct(),
hash = meta.checksums.first().toSri()
)
}.toSortedMap()
)
}
.toSortedMap(Version.Comparator.reversed())
Module(versions)
}
.sortedBy { it.first }
.toMap()
.toSortedMap(compareBy(ModuleId::toString))
return Env(modules)
}
private fun readVerificationMetadata(config: Config): VerificationMetadata? {
@@ -121,52 +127,55 @@ private fun readDependencyGraph(config: Config): List<ResolvedConfiguration> {
private fun verifyComponentFilesInCache(
config: Config,
coordinates: DependencyCoordinates,
id: ModuleVersionId,
): Component? {
val cacheDir = with(coordinates) { config.gradleHome.resolve("caches/modules-2/files-2.1/$group/$module/$version") }
val cacheDir = with(id) { config.gradleHome.resolve("caches/modules-2/files-2.1/$group/$name/$version") }
if (!cacheDir.exists()) {
return null
}
val verifications = cacheDir.walk().filter { it.isFile }.map { f ->
ArtifactMetadata(f.name, sha256 = Sha256(f.sha256()))
}
config.logger.log("$coordinates: obtained artifact hashes from Gradle cache.")
return Component(coordinates, verifications.toList())
config.logger.log("$id: obtained artifact hashes from Gradle cache.")
return Component(id, verifications.toList())
}
private fun verifyComponentFilesInTestRepository(
config: Config,
coordinates: DependencyCoordinates
id: ModuleVersionId
): Component? {
if (m2 == null) return null
val dir = with(coordinates) {
File(URI.create(m2)).resolve("${group.replace(".", "/")}/$module/$version")
val dir = with(id) {
File(URI.create(m2)).resolve("${group.replace(".", "/")}/$name/$version")
}
if (!dir.exists()) {
config.logger.log("$coordinates: not found in m2 repository; tried $dir")
config.logger.log("$id: not found in m2 repository; tried $dir")
return null
}
val verifications = dir.walk().filter { it.isFile && it.name.startsWith(coordinates.module) }.map { f ->
val verifications = dir.walk().filter { it.isFile && it.name.startsWith(id.name) }.map { f ->
ArtifactMetadata(
f.name,
sha256 = Sha256(f.sha256())
)
}
config.logger.log("$coordinates: obtained artifact hashes from test Maven repository.")
return Component(coordinates, verifications.toList())
config.logger.log("$id: obtained artifact hashes from test Maven repository.")
return Component(id, verifications.toList())
}
@OptIn(ExperimentalSerializationApi::class)
private fun maybeGetGradleModule(logger: Logger, coordinates: DependencyCoordinates, repos: List<Repository>): GradleModule? {
val filename = with(coordinates) { "$module-$version.module" }
private fun maybeGetGradleModule(logger: Logger, id: ModuleVersionId, repos: List<Repository>): GradleModule? {
val filename = with(id) { "$name-$version.module" }
val reposWithGradleMetadata = repos
.filter { "gradleMetadata" in it.metadataSources }
.flatMap { artifactUrls(id, filename, it, null)}
for (url in repos.flatMap { artifactUrls(coordinates, filename, it, null)}) {
for (url in reposWithGradleMetadata) {
try {
return URL(url).openStream().buffered().use { input ->
JsonFormat.decodeFromStream(input)
}
} catch (e: SerializationException) {
logger.error("$coordinates: failed to parse Gradle module metadata ($url)", e)
logger.error("$id: failed to parse Gradle module metadata ($url)", e)
} catch (e: IOException) {
// Pass
}
@@ -192,12 +201,12 @@ private fun Checksum.toSri(): String {
}
private fun artifactUrls(
coordinates: DependencyCoordinates,
id: ModuleVersionId,
filename: String,
repository: Repository,
module: GradleModule?
): List<String> {
val groupAsPath = coordinates.group.replace(".", "/")
val groupAsPath = id.group.replace(".", "/")
val repoFilename = module?.let { m ->
m.variants
@@ -207,10 +216,10 @@ private fun artifactUrls(
}?.url ?: filename
val attributes = mutableMapOf(
"organisation" to if (repository.m2Compatible) groupAsPath else coordinates.group,
"module" to coordinates.module,
"revision" to coordinates.version,
) + fileAttributes(repoFilename, coordinates.version)
"organisation" to if (repository.m2Compatible) groupAsPath else id.group,
"module" to id.name,
"revision" to id.version.toString(),
) + fileAttributes(repoFilename, id.version)
val resources = when (attributes["ext"]) {
"pom" -> if ("mavenPom" in repository.metadataSources) repository.metadataResources else repository.artifactResources
@@ -251,7 +260,7 @@ private fun fill(template: String, attributes: Map<String, String>): String {
}
// Gradle persists artifacts with the Maven artifact pattern, which may not match the repository's pattern.
private fun fileAttributes(file: String, version: String): Map<String, String> {
private fun fileAttributes(file: String, version: Version): Map<String, String> {
val parts = Regex("(.+)-$version(-([^.]+))?(\\.(.+))?").matchEntire(file) ?: return emptyMap()
val (artifact, _, classifier, _, ext) = parts.destructured
@@ -262,3 +271,8 @@ private fun fileAttributes(file: String, version: String): Map<String, String> {
put("ext", ext)
}
}
private data class MergedDependency(
val id: ModuleVersionId,
val repositories: List<Repository>
)

View File

@@ -0,0 +1,233 @@
package org.nixos.gradle2nix.env
import java.util.concurrent.ConcurrentHashMap
import kotlinx.serialization.KSerializer
import kotlinx.serialization.Serializable
import kotlinx.serialization.SerializationException
import kotlinx.serialization.descriptors.PrimitiveKind
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
import org.gradle.internal.impldep.com.google.common.collect.ImmutableMap
import org.gradle.internal.impldep.com.google.common.primitives.Longs
@Serializable
@JvmInline
value class Env(
val modules: Map<ModuleId, Module>,
)
@Serializable
@JvmInline
value class Module(
val versions: Map<Version, ArtifactSet>,
)
@Serializable
data class ArtifactSet(
val needsPomRedirect: Boolean,
val needsIvyRedirect: Boolean,
val files: Map<String, ArtifactFile>
)
@Serializable
data class ArtifactFile(
val urls: List<String>,
val hash: String,
)
@Serializable(ModuleId.Serializer::class)
data class ModuleId(
val group: String,
val name: String,
) {
override fun toString(): String = "$group:$name"
companion object Serializer : KSerializer<ModuleId> {
override val descriptor: SerialDescriptor get() = PrimitiveSerialDescriptor(
ModuleId::class.qualifiedName!!,
PrimitiveKind.STRING
)
override fun serialize(encoder: Encoder, value: ModuleId) {
encoder.encodeString("${value.name}:${value.group}")
}
override fun deserialize(decoder: Decoder): ModuleId {
val encoded = decoder.decodeString()
val parts = encoded.split(":")
if (parts.size != 2 || parts.any(String::isBlank)) {
throw SerializationException("invalid module id: $encoded")
}
return ModuleId(parts[0], parts[1])
}
}
}
data class ModuleVersionId(
val moduleId: ModuleId,
val version: Version
) {
val group: String get() = moduleId.group
val name: String get() = moduleId.name
override fun toString(): String = "$moduleId:$version"
}
@Serializable(Version.Serializer::class)
class Version(val source: String, val parts: List<String>, base: Version?) : Comparable<Version> {
val base: Version
val numericParts: List<Long?>
init {
this.base = base ?: this
this.numericParts = parts.map(Longs::tryParse)
}
override fun compareTo(other: Version): Int = compare(this, other)
override fun toString(): String = source
override fun equals(other: Any?): Boolean = when {
other === this -> true
other == null || other !is Version -> false
else -> source == other.source
}
override fun hashCode(): Int = source.hashCode()
object Comparator : kotlin.Comparator<Version> {
override fun compare(o1: Version, o2: Version): Int =
Version.compare(o1, o2)
}
internal object Serializer : KSerializer<Version> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor(
Version::class.qualifiedName!!,
PrimitiveKind.STRING
)
override fun serialize(encoder: Encoder, value: Version) {
encoder.encodeString(value.source)
}
override fun deserialize(decoder: Decoder): Version {
return Version(decoder.decodeString())
}
}
companion object {
private val SPECIAL_MEANINGS: Map<String, Int> = ImmutableMap.builderWithExpectedSize<String, Int>(7)
.put("dev", -1)
.put("rc", 1)
.put("snapshot", 2)
.put("final", 3).put("ga", 4).put("release", 5)
.put("sp", 6).build()
private val cache = ConcurrentHashMap<String, Version>()
// From org.gradle.api.internal.artifacts.ivyservice.ivyresolve.strategy.VersionParser
operator fun invoke(original: String): Version = cache.getOrPut(original) {
val parts = mutableListOf<String>()
var digit = false
var startPart = 0
var pos = 0
var endBase = 0
var endBaseStr = 0
while (pos < original.length) {
val ch = original[pos]
if (ch == '.' || ch == '_' || ch == '-' || ch == '+') {
parts.add(original.substring(startPart, pos))
startPart = pos + 1
digit = false
if (ch != '.' && endBaseStr == 0) {
endBase = parts.size
endBaseStr = pos
}
} else if (ch in '0'..'9') {
if (!digit && pos > startPart) {
if (endBaseStr == 0) {
endBase = parts.size + 1
endBaseStr = pos
}
parts.add(original.substring(startPart, pos))
startPart = pos
}
digit = true
} else {
if (digit) {
if (endBaseStr == 0) {
endBase = parts.size + 1
endBaseStr = pos
}
parts.add(original.substring(startPart, pos))
startPart = pos
}
digit = false
}
pos++
}
if (pos > startPart) {
parts.add(original.substring(startPart, pos))
}
var base: Version? = null
if (endBaseStr > 0) {
base = Version(original.substring(0, endBaseStr), parts.subList(0, endBase), null)
}
Version(original, parts, base)
}
// From org.gradle.api.internal.artifacts.ivyservice.ivyresolve.strategy.StaticVersionComparator
private fun compare(version1: Version, version2: Version): Int {
if (version1 == version2) {
return 0
}
val parts1 = version1.parts
val parts2 = version2.parts
val numericParts1 = version1.numericParts
val numericParts2 = version2.numericParts
var lastIndex = -1
for (i in 0..<(minOf(parts1.size, parts2.size))) {
lastIndex = i
val part1 = parts1[i]
val part2 = parts2[i]
val numericPart1 = numericParts1[i]
val numericPart2 = numericParts2[i]
when {
part1 == part2 -> continue
numericPart1 != null && numericPart2 == null -> return 1
numericPart2 != null && numericPart1 == null -> return -1
numericPart1 != null && numericPart2 != null -> {
val result = numericPart1.compareTo(numericPart2)
if (result == 0) continue
return result
}
else -> {
// both are strings, we compare them taking into account special meaning
val sm1 = SPECIAL_MEANINGS[part1.lowercase()]
val sm2 = SPECIAL_MEANINGS[part2.lowercase()]
if (sm1 != null) return sm1 - (sm2 ?: 0)
if (sm2 != null) return -sm2
return part1.compareTo(part2)
}
}
}
if (lastIndex < parts1.size) {
return if (numericParts1[lastIndex] == null) -1 else 1
}
if (lastIndex < parts2.size) {
return if (numericParts2[lastIndex] == null) 1 else -1
}
return 0
}
}
}

View File

@@ -9,7 +9,9 @@ import nl.adaptivity.xmlutil.serialization.XmlChildrenName
import nl.adaptivity.xmlutil.serialization.XmlElement
import nl.adaptivity.xmlutil.serialization.XmlSerialName
import org.nixos.gradle2nix.Logger
import org.nixos.gradle2nix.dependencygraph.model.DependencyCoordinates
import org.nixos.gradle2nix.DependencyCoordinates
import org.nixos.gradle2nix.env.ModuleVersionId
import org.nixos.gradle2nix.env.Version
sealed interface Coordinates {
val group: String?
@@ -103,13 +105,13 @@ data class Artifact(
data class Component(
val group: String,
val name: String,
val version: String,
val version: Version,
val artifacts: List<Artifact> = emptyList(),
) {
constructor(coordinates: DependencyCoordinates, artifacts: List<Artifact>) : this(
coordinates.group,
coordinates.module,
coordinates.version,
constructor(id: ModuleVersionId, artifacts: List<Artifact>) : this(
id.group,
id.name,
id.version,
artifacts
)
}

View File

@@ -5,30 +5,24 @@ import io.kotest.common.ExperimentalKotest
import io.kotest.common.KotestInternal
import io.kotest.core.names.TestName
import io.kotest.core.source.sourceRef
import io.kotest.core.spec.style.scopes.ContainerScope
import io.kotest.core.spec.style.scopes.RootScope
import io.kotest.core.test.NestedTest
import io.kotest.core.test.TestScope
import io.kotest.core.test.TestType
import io.kotest.extensions.system.withEnvironment
import io.kotest.matchers.equals.beEqual
import io.kotest.matchers.equals.shouldBeEqual
import io.kotest.matchers.file.shouldBeAFile
import io.kotest.matchers.paths.shouldBeAFile
import io.kotest.matchers.should
import java.io.File
import java.io.FileFilter
import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.Paths
import kotlin.io.path.createTempDirectory
import kotlin.io.path.inputStream
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.SerializationException
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.decodeFromStream
import kotlinx.serialization.json.encodeToStream
import okio.use
import org.nixos.gradle2nix.env.Env
private val app = Gradle2Nix()
@@ -48,7 +42,7 @@ fun fixture(path: String): File {
suspend fun TestScope.fixture(
project: String,
vararg args: String,
test: suspend TestScope.(Map<String, Map<String, Artifact>>) -> Unit
test: suspend TestScope.(Env) -> Unit
) {
val tmp = Paths.get("build/tmp/gradle2nix").apply { toFile().mkdirs() }
val baseDir = Paths.get("../fixtures", project).toFile()
@@ -82,7 +76,7 @@ suspend fun TestScope.fixture(
app.main(listOf("-d", tempDir.toString()) + args.withM2())
val file = tempDir.resolve("${app.envFile}.json")
file.shouldBeAFile()
val env: Map<String, Map<String, Artifact>> = file.inputStream().buffered().use { input ->
val env: Env = file.inputStream().buffered().use { input ->
Json.decodeFromStream(input)
}
test(env)
@@ -110,14 +104,12 @@ suspend fun TestScope.golden(
if (!goldenFile.exists()) {
fail("Golden file '$filename' doesn't exist. Run with --update-golden to generate.")
}
val goldenData: Map<String, Map<String, Artifact>> = try {
goldenFile.inputStream().buffered().use { input ->
json.decodeFromStream(input)
}
val goldenData = try {
goldenFile.readText()
} catch (e: SerializationException) {
fail("Failed to load golden data from '$filename'. Run with --update-golden to regenerate.")
}
env should beEqual(goldenData)
json.encodeToString(env) should beEqual(goldenData)
}
}
}

View File

@@ -1,72 +1,102 @@
{
"com.squareup.okio:okio:2.2.2": {
"okio-2.2.2.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.jar"
],
"hash": "sha256-5YyXQGprsROIk3UCmaxjxqoEs4trSerhv8rRpj75uhs="
},
"okio-2.2.2.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.pom"
],
"hash": "sha256-/WIZiPf2lXAlc13G3QkLAKIPOju413ynkDYHf2KbFAs="
"com.squareup.moshi:moshi": {
"1.8.0": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"moshi-1.8.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.jar"
],
"hash": "sha256-Qv50bSaU6hH+agK+zZ2iyj2v6Xye/VCg+a9cRZbnSmo="
},
"moshi-1.8.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.pom"
],
"hash": "sha256-FLuAWbnddiACWSkN+IfjfmaaB0qsnImUAePIEC/lII8="
}
}
}
},
"com.squareup.moshi:moshi:1.8.0": {
"moshi-1.8.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.jar"
],
"hash": "sha256-Qv50bSaU6hH+agK+zZ2iyj2v6Xye/VCg+a9cRZbnSmo="
},
"moshi-1.8.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.pom"
],
"hash": "sha256-FLuAWbnddiACWSkN+IfjfmaaB0qsnImUAePIEC/lII8="
"com.squareup.okio:okio": {
"2.2.2": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"okio-2.2.2.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.jar"
],
"hash": "sha256-5YyXQGprsROIk3UCmaxjxqoEs4trSerhv8rRpj75uhs="
},
"okio-2.2.2.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.pom"
],
"hash": "sha256-/WIZiPf2lXAlc13G3QkLAKIPOju413ynkDYHf2KbFAs="
}
}
}
},
"org.jetbrains.kotlin:kotlin-stdlib:1.2.60": {
"kotlin-stdlib-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.jar"
],
"hash": "sha256-ahMCmPUXGsUqHiSW9+rnhbb1ZBbqPMuZ5DRNBNg/8HE="
},
"kotlin-stdlib-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.pom"
],
"hash": "sha256-5jKJkgnmtMqrlA/YLk7GOjLjJkP4Fff6cJdkeJDXnxg="
"org.jetbrains.kotlin:kotlin-stdlib": {
"1.2.60": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"kotlin-stdlib-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.jar"
],
"hash": "sha256-ahMCmPUXGsUqHiSW9+rnhbb1ZBbqPMuZ5DRNBNg/8HE="
},
"kotlin-stdlib-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.pom"
],
"hash": "sha256-5jKJkgnmtMqrlA/YLk7GOjLjJkP4Fff6cJdkeJDXnxg="
}
}
}
},
"org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60": {
"kotlin-stdlib-common-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.jar"
],
"hash": "sha256-CbQ3WgZc8SeryZjF3PIrFmTEWvQrSJSZ16j0+Kt5P7E="
},
"kotlin-stdlib-common-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.pom"
],
"hash": "sha256-gwwnrx4c8k8PUm6kV5AcQ/OMGbtvfl03Y8PSU98bjaE="
"org.jetbrains.kotlin:kotlin-stdlib-common": {
"1.2.60": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"kotlin-stdlib-common-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.jar"
],
"hash": "sha256-CbQ3WgZc8SeryZjF3PIrFmTEWvQrSJSZ16j0+Kt5P7E="
},
"kotlin-stdlib-common-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.pom"
],
"hash": "sha256-gwwnrx4c8k8PUm6kV5AcQ/OMGbtvfl03Y8PSU98bjaE="
}
}
}
},
"org.jetbrains:annotations:13.0": {
"annotations-13.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar"
],
"hash": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg="
},
"annotations-13.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.pom"
],
"hash": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
"org.jetbrains:annotations": {
"13.0": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"annotations-13.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar"
],
"hash": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg="
},
"annotations-13.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.pom"
],
"hash": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
}
}
}
}
}

View File

@@ -1,72 +1,102 @@
{
"com.squareup.okio:okio:2.2.2": {
"okio-2.2.2.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.jar"
],
"hash": "sha256-5YyXQGprsROIk3UCmaxjxqoEs4trSerhv8rRpj75uhs="
},
"okio-2.2.2.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.pom"
],
"hash": "sha256-/WIZiPf2lXAlc13G3QkLAKIPOju413ynkDYHf2KbFAs="
"com.squareup.moshi:moshi": {
"1.8.0": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"moshi-1.8.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.jar"
],
"hash": "sha256-Qv50bSaU6hH+agK+zZ2iyj2v6Xye/VCg+a9cRZbnSmo="
},
"moshi-1.8.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.pom"
],
"hash": "sha256-FLuAWbnddiACWSkN+IfjfmaaB0qsnImUAePIEC/lII8="
}
}
}
},
"com.squareup.moshi:moshi:1.8.0": {
"moshi-1.8.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.jar"
],
"hash": "sha256-Qv50bSaU6hH+agK+zZ2iyj2v6Xye/VCg+a9cRZbnSmo="
},
"moshi-1.8.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.pom"
],
"hash": "sha256-FLuAWbnddiACWSkN+IfjfmaaB0qsnImUAePIEC/lII8="
"com.squareup.okio:okio": {
"2.2.2": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"okio-2.2.2.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.jar"
],
"hash": "sha256-5YyXQGprsROIk3UCmaxjxqoEs4trSerhv8rRpj75uhs="
},
"okio-2.2.2.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.pom"
],
"hash": "sha256-/WIZiPf2lXAlc13G3QkLAKIPOju413ynkDYHf2KbFAs="
}
}
}
},
"org.jetbrains.kotlin:kotlin-stdlib:1.2.60": {
"kotlin-stdlib-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.jar"
],
"hash": "sha256-ahMCmPUXGsUqHiSW9+rnhbb1ZBbqPMuZ5DRNBNg/8HE="
},
"kotlin-stdlib-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.pom"
],
"hash": "sha256-5jKJkgnmtMqrlA/YLk7GOjLjJkP4Fff6cJdkeJDXnxg="
"org.jetbrains.kotlin:kotlin-stdlib": {
"1.2.60": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"kotlin-stdlib-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.jar"
],
"hash": "sha256-ahMCmPUXGsUqHiSW9+rnhbb1ZBbqPMuZ5DRNBNg/8HE="
},
"kotlin-stdlib-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.pom"
],
"hash": "sha256-5jKJkgnmtMqrlA/YLk7GOjLjJkP4Fff6cJdkeJDXnxg="
}
}
}
},
"org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60": {
"kotlin-stdlib-common-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.jar"
],
"hash": "sha256-CbQ3WgZc8SeryZjF3PIrFmTEWvQrSJSZ16j0+Kt5P7E="
},
"kotlin-stdlib-common-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.pom"
],
"hash": "sha256-gwwnrx4c8k8PUm6kV5AcQ/OMGbtvfl03Y8PSU98bjaE="
"org.jetbrains.kotlin:kotlin-stdlib-common": {
"1.2.60": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"kotlin-stdlib-common-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.jar"
],
"hash": "sha256-CbQ3WgZc8SeryZjF3PIrFmTEWvQrSJSZ16j0+Kt5P7E="
},
"kotlin-stdlib-common-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.pom"
],
"hash": "sha256-gwwnrx4c8k8PUm6kV5AcQ/OMGbtvfl03Y8PSU98bjaE="
}
}
}
},
"org.jetbrains:annotations:13.0": {
"annotations-13.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar"
],
"hash": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg="
},
"annotations-13.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.pom"
],
"hash": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
"org.jetbrains:annotations": {
"13.0": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"annotations-13.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar"
],
"hash": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg="
},
"annotations-13.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.pom"
],
"hash": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
}
}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,16 +1,22 @@
{
"com.badlogicgames.gdx:gdx-platform:1.9.9": {
"gdx-platform-1.9.9-natives-desktop.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/badlogicgames/gdx/gdx-platform/1.9.9/gdx-platform-1.9.9-natives-desktop.jar"
],
"hash": "sha256-e8c9VPpFH+LeJU6PgmCkOb/jutOxFnO6LPMaTxL2hU8="
},
"gdx-platform-1.9.9.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/badlogicgames/gdx/gdx-platform/1.9.9/gdx-platform-1.9.9.pom"
],
"hash": "sha256-SWnDZyJaErav4Z4sA+D1WA3U1aQOSR64sd8+cQzofSY="
"com.badlogicgames.gdx:gdx-platform": {
"1.9.9": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"gdx-platform-1.9.9-natives-desktop.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/badlogicgames/gdx/gdx-platform/1.9.9/gdx-platform-1.9.9-natives-desktop.jar"
],
"hash": "sha256-e8c9VPpFH+LeJU6PgmCkOb/jutOxFnO6LPMaTxL2hU8="
},
"gdx-platform-1.9.9.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/badlogicgames/gdx/gdx-platform/1.9.9/gdx-platform-1.9.9.pom"
],
"hash": "sha256-SWnDZyJaErav4Z4sA+D1WA3U1aQOSR64sd8+cQzofSY="
}
}
}
}
}

View File

@@ -1,16 +1,22 @@
{
"com.badlogicgames.gdx:gdx-platform:1.9.9": {
"gdx-platform-1.9.9-natives-desktop.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/badlogicgames/gdx/gdx-platform/1.9.9/gdx-platform-1.9.9-natives-desktop.jar"
],
"hash": "sha256-e8c9VPpFH+LeJU6PgmCkOb/jutOxFnO6LPMaTxL2hU8="
},
"gdx-platform-1.9.9.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/badlogicgames/gdx/gdx-platform/1.9.9/gdx-platform-1.9.9.pom"
],
"hash": "sha256-SWnDZyJaErav4Z4sA+D1WA3U1aQOSR64sd8+cQzofSY="
"com.badlogicgames.gdx:gdx-platform": {
"1.9.9": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"gdx-platform-1.9.9-natives-desktop.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/badlogicgames/gdx/gdx-platform/1.9.9/gdx-platform-1.9.9-natives-desktop.jar"
],
"hash": "sha256-e8c9VPpFH+LeJU6PgmCkOb/jutOxFnO6LPMaTxL2hU8="
},
"gdx-platform-1.9.9.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/badlogicgames/gdx/gdx-platform/1.9.9/gdx-platform-1.9.9.pom"
],
"hash": "sha256-SWnDZyJaErav4Z4sA+D1WA3U1aQOSR64sd8+cQzofSY="
}
}
}
}
}

View File

@@ -1,38 +1,56 @@
{
"io.micrometer:micrometer-bom:1.5.1": {
"micrometer-bom-1.5.1.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/io/micrometer/micrometer-bom/1.5.1/micrometer-bom-1.5.1.pom"
],
"hash": "sha256-K/qF6ds8ck5sWvelJBYk+w+K04oQpT/4BtY57WVLRUI="
"io.micrometer:micrometer-bom": {
"1.5.1": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"micrometer-bom-1.5.1.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/io/micrometer/micrometer-bom/1.5.1/micrometer-bom-1.5.1.pom"
],
"hash": "sha256-K/qF6ds8ck5sWvelJBYk+w+K04oQpT/4BtY57WVLRUI="
}
}
}
},
"io.micrometer:micrometer-core:1.5.1": {
"micrometer-core-1.5.1.jar": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/io/micrometer/micrometer-core/1.5.1/micrometer-core-1.5.1.jar"
],
"hash": "sha256-DtgVYBDVGDBWMwSfeKC6O+fwqd+N2q4eTizJgQ1wfI8="
},
"micrometer-core-1.5.1.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/io/micrometer/micrometer-core/1.5.1/micrometer-core-1.5.1.pom"
],
"hash": "sha256-Cb4KaUHaOvdOz7VpDax6kJKuT2KWY5Ci73foX2xl6xw="
"io.micrometer:micrometer-core": {
"1.5.1": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"micrometer-core-1.5.1.jar": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/io/micrometer/micrometer-core/1.5.1/micrometer-core-1.5.1.jar"
],
"hash": "sha256-DtgVYBDVGDBWMwSfeKC6O+fwqd+N2q4eTizJgQ1wfI8="
},
"micrometer-core-1.5.1.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/io/micrometer/micrometer-core/1.5.1/micrometer-core-1.5.1.pom"
],
"hash": "sha256-Cb4KaUHaOvdOz7VpDax6kJKuT2KWY5Ci73foX2xl6xw="
}
}
}
},
"org.hdrhistogram:HdrHistogram:2.1.12": {
"HdrHistogram-2.1.12.jar": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12.jar"
],
"hash": "sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU="
},
"HdrHistogram-2.1.12.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12.pom"
],
"hash": "sha256-f7PnkMFU0bXiMXC7jL9/cO8ICa8XIp8dywENd5llEIA="
"org.hdrhistogram:HdrHistogram": {
"2.1.12": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"HdrHistogram-2.1.12.jar": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12.jar"
],
"hash": "sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU="
},
"HdrHistogram-2.1.12.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12.pom"
],
"hash": "sha256-f7PnkMFU0bXiMXC7jL9/cO8ICa8XIp8dywENd5llEIA="
}
}
}
}
}

View File

@@ -1,14 +1,20 @@
{
"org.apache:test-SNAPSHOT1:2.0.2-SNAPSHOT:20070310.181613-3": {
"test-SNAPSHOT1-2.0.2-20070310.181613-3.jar": {
"urls": [
],
"hash": "sha256-a99mtb8qROZYvqLuhmlasVCgbmAL9nzVzOJFrVSWLGE="
},
"test-SNAPSHOT1-2.0.2-20070310.181613-3.pom": {
"urls": [
],
"hash": "sha256-HkNYH8bwRqh0B760aORWKwMuDrO1E89Y8tx0esl66gs="
"org.apache:test-SNAPSHOT1": {
"2.0.2-SNAPSHOT": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"test-SNAPSHOT1-2.0.2-20070310.181613-3.jar": {
"urls": [
],
"hash": "sha256-a99mtb8qROZYvqLuhmlasVCgbmAL9nzVzOJFrVSWLGE="
},
"test-SNAPSHOT1-2.0.2-20070310.181613-3.pom": {
"urls": [
],
"hash": "sha256-HkNYH8bwRqh0B760aORWKwMuDrO1E89Y8tx0esl66gs="
}
}
}
}
}

View File

@@ -1,14 +1,20 @@
{
"org.apache:test-SNAPSHOT1:2.0.2-SNAPSHOT:20070310.181613-3": {
"test-SNAPSHOT1-2.0.2-20070310.181613-3.jar": {
"urls": [
],
"hash": "sha256-a99mtb8qROZYvqLuhmlasVCgbmAL9nzVzOJFrVSWLGE="
},
"test-SNAPSHOT1-2.0.2-20070310.181613-3.pom": {
"urls": [
],
"hash": "sha256-HkNYH8bwRqh0B760aORWKwMuDrO1E89Y8tx0esl66gs="
"org.apache:test-SNAPSHOT1": {
"2.0.2-SNAPSHOT": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"test-SNAPSHOT1-2.0.2-20070310.181613-3.jar": {
"urls": [
],
"hash": "sha256-a99mtb8qROZYvqLuhmlasVCgbmAL9nzVzOJFrVSWLGE="
},
"test-SNAPSHOT1-2.0.2-20070310.181613-3.pom": {
"urls": [
],
"hash": "sha256-HkNYH8bwRqh0B760aORWKwMuDrO1E89Y8tx0esl66gs="
}
}
}
}
}

View File

@@ -1,16 +1,22 @@
{
"com.github.anuken:packr:-SNAPSHOT:packr-1.2-g034efe5-114": {
"packr--SNAPSHOT.pom": {
"urls": [
"https://jitpack.io/com/github/anuken/packr/-SNAPSHOT/packr--SNAPSHOT.pom"
],
"hash": "sha256-xP28J7blX1IzuJxD4u/wy1ZbwAT5RAajBcpBWs1fAxU="
},
"packr--SNAPSHOT.jar": {
"urls": [
"https://jitpack.io/com/github/anuken/packr/-SNAPSHOT/packr--SNAPSHOT.jar"
],
"hash": "sha256-XrfVZLc7efr2n3Bz6mOw8DkRI0T8rU8B/MKUMVDl71w="
"com.github.anuken:packr": {
"-SNAPSHOT": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"packr--SNAPSHOT.jar": {
"urls": [
"https://jitpack.io/com/github/anuken/packr/-SNAPSHOT/packr--SNAPSHOT.jar"
],
"hash": "sha256-XrfVZLc7efr2n3Bz6mOw8DkRI0T8rU8B/MKUMVDl71w="
},
"packr--SNAPSHOT.pom": {
"urls": [
"https://jitpack.io/com/github/anuken/packr/-SNAPSHOT/packr--SNAPSHOT.pom"
],
"hash": "sha256-xP28J7blX1IzuJxD4u/wy1ZbwAT5RAajBcpBWs1fAxU="
}
}
}
}
}

View File

@@ -1,16 +1,22 @@
{
"org.apache:test-SNAPSHOT2:2.0.2-SNAPSHOT": {
"test-SNAPSHOT2-2.0.2-SNAPSHOT.jar": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test-SNAPSHOT2/2.0.2-SNAPSHOT/test-SNAPSHOT2-2.0.2-SNAPSHOT.jar"
],
"hash": "sha256-a99mtb8qROZYvqLuhmlasVCgbmAL9nzVzOJFrVSWLGE="
},
"test-SNAPSHOT2-2.0.2-SNAPSHOT.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test-SNAPSHOT2/2.0.2-SNAPSHOT/test-SNAPSHOT2-2.0.2-SNAPSHOT.pom"
],
"hash": "sha256-XCACfgVM2OthMcb9rU/nVQvjiJawqxOd5CSRmvql1O8="
"org.apache:test-SNAPSHOT2": {
"2.0.2-SNAPSHOT": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"test-SNAPSHOT2-2.0.2-SNAPSHOT.jar": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test-SNAPSHOT2/2.0.2-SNAPSHOT/test-SNAPSHOT2-2.0.2-SNAPSHOT.jar"
],
"hash": "sha256-a99mtb8qROZYvqLuhmlasVCgbmAL9nzVzOJFrVSWLGE="
},
"test-SNAPSHOT2-2.0.2-SNAPSHOT.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test-SNAPSHOT2/2.0.2-SNAPSHOT/test-SNAPSHOT2-2.0.2-SNAPSHOT.pom"
],
"hash": "sha256-XCACfgVM2OthMcb9rU/nVQvjiJawqxOd5CSRmvql1O8="
}
}
}
}
}

View File

@@ -1,16 +1,22 @@
{
"org.apache:test-SNAPSHOT2:2.0.2-SNAPSHOT": {
"test-SNAPSHOT2-2.0.2-SNAPSHOT.jar": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test-SNAPSHOT2/2.0.2-SNAPSHOT/test-SNAPSHOT2-2.0.2-SNAPSHOT.jar"
],
"hash": "sha256-a99mtb8qROZYvqLuhmlasVCgbmAL9nzVzOJFrVSWLGE="
},
"test-SNAPSHOT2-2.0.2-SNAPSHOT.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test-SNAPSHOT2/2.0.2-SNAPSHOT/test-SNAPSHOT2-2.0.2-SNAPSHOT.pom"
],
"hash": "sha256-XCACfgVM2OthMcb9rU/nVQvjiJawqxOd5CSRmvql1O8="
"org.apache:test-SNAPSHOT2": {
"2.0.2-SNAPSHOT": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"test-SNAPSHOT2-2.0.2-SNAPSHOT.jar": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test-SNAPSHOT2/2.0.2-SNAPSHOT/test-SNAPSHOT2-2.0.2-SNAPSHOT.jar"
],
"hash": "sha256-a99mtb8qROZYvqLuhmlasVCgbmAL9nzVzOJFrVSWLGE="
},
"test-SNAPSHOT2-2.0.2-SNAPSHOT.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test-SNAPSHOT2/2.0.2-SNAPSHOT/test-SNAPSHOT2-2.0.2-SNAPSHOT.pom"
],
"hash": "sha256-XCACfgVM2OthMcb9rU/nVQvjiJawqxOd5CSRmvql1O8="
}
}
}
}
}

View File

@@ -1,128 +1,182 @@
{
"gradle.plugin.net.vivin:gradle-semantic-build-versioning:4.0.0": {
"gradle-semantic-build-versioning-4.0.0.jar": {
"urls": [
"https://plugins.gradle.org/m2/gradle/plugin/net/vivin/gradle-semantic-build-versioning/4.0.0/gradle-semantic-build-versioning-4.0.0.jar"
],
"hash": "sha256-UTjmfOjgGUN4ALk8n2+dD8vr763Jb7xOvAl1yZomHvg="
},
"gradle-semantic-build-versioning-4.0.0.pom": {
"urls": [
"https://plugins.gradle.org/m2/gradle/plugin/net/vivin/gradle-semantic-build-versioning/4.0.0/gradle-semantic-build-versioning-4.0.0.pom"
],
"hash": "sha256-TygodBYH7RAtletfGJ1JbHhA7UY6zqifHlGmBWdxTvc="
"com.googlecode.javaewah:JavaEWAH": {
"1.1.6": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"JavaEWAH-1.1.6.jar": {
"urls": [
"https://plugins.gradle.org/m2/com/googlecode/javaewah/JavaEWAH/1.1.6/JavaEWAH-1.1.6.jar"
],
"hash": "sha256-941EoeOHfxznSLSoXfUXHl6Omlw8b2O7kAPbb4TM6VI="
},
"JavaEWAH-1.1.6.pom": {
"urls": [
"https://plugins.gradle.org/m2/com/googlecode/javaewah/JavaEWAH/1.1.6/JavaEWAH-1.1.6.pom"
],
"hash": "sha256-f0/5GbHuF783duBYo/IOYXPbI6XkTPLRB+x1cMGGq/A="
}
}
}
},
"org.eclipse.jgit:org.eclipse.jgit:4.8.0.201706111038-r": {
"org.eclipse.jgit-4.8.0.201706111038-r.jar": {
"urls": [
"https://plugins.gradle.org/m2/org/eclipse/jgit/org.eclipse.jgit/4.8.0.201706111038-r/org.eclipse.jgit-4.8.0.201706111038-r.jar"
],
"hash": "sha256-SdkS6NXM4N0I3KPTkBiduGkqj34zY8274YJYFGIACro="
},
"org.eclipse.jgit-4.8.0.201706111038-r.pom": {
"urls": [
"https://plugins.gradle.org/m2/org/eclipse/jgit/org.eclipse.jgit/4.8.0.201706111038-r/org.eclipse.jgit-4.8.0.201706111038-r.pom"
],
"hash": "sha256-pVap9a38avSbKhLnLcPNfkPbj9whbA81iFlyovWton0="
"com.jcraft:jsch": {
"0.1.54": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"jsch-0.1.54.jar": {
"urls": [
"https://plugins.gradle.org/m2/com/jcraft/jsch/0.1.54/jsch-0.1.54.jar"
],
"hash": "sha256-kusnOjMWdiR4/dT+A6DOGELFb0lsnBL+EjXbgEUOH9s="
},
"jsch-0.1.54.pom": {
"urls": [
"https://plugins.gradle.org/m2/com/jcraft/jsch/0.1.54/jsch-0.1.54.pom"
],
"hash": "sha256-q49RIDm+f2riDhjnQ7Sp2KIJWElEMZF9pYrlqu+KNHg="
}
}
}
},
"com.jcraft:jsch:0.1.54": {
"jsch-0.1.54.jar": {
"urls": [
"https://plugins.gradle.org/m2/com/jcraft/jsch/0.1.54/jsch-0.1.54.jar"
],
"hash": "sha256-kusnOjMWdiR4/dT+A6DOGELFb0lsnBL+EjXbgEUOH9s="
},
"jsch-0.1.54.pom": {
"urls": [
"https://plugins.gradle.org/m2/com/jcraft/jsch/0.1.54/jsch-0.1.54.pom"
],
"hash": "sha256-q49RIDm+f2riDhjnQ7Sp2KIJWElEMZF9pYrlqu+KNHg="
"commons-codec:commons-codec": {
"1.6": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"commons-codec-1.6.jar": {
"urls": [
"https://plugins.gradle.org/m2/commons-codec/commons-codec/1.6/commons-codec-1.6.jar"
],
"hash": "sha256-VLNOlBuOFBS9PkDXNu/TSBdy3CbbMpb2qkXOyfYgPYY="
},
"commons-codec-1.6.pom": {
"urls": [
"https://plugins.gradle.org/m2/commons-codec/commons-codec/1.6/commons-codec-1.6.pom"
],
"hash": "sha256-oG410//zprgT2UiU6/PkmPlUDIZMWzmueDkH46bHKIk="
}
}
}
},
"com.googlecode.javaewah:JavaEWAH:1.1.6": {
"JavaEWAH-1.1.6.jar": {
"urls": [
"https://plugins.gradle.org/m2/com/googlecode/javaewah/JavaEWAH/1.1.6/JavaEWAH-1.1.6.jar"
],
"hash": "sha256-941EoeOHfxznSLSoXfUXHl6Omlw8b2O7kAPbb4TM6VI="
},
"JavaEWAH-1.1.6.pom": {
"urls": [
"https://plugins.gradle.org/m2/com/googlecode/javaewah/JavaEWAH/1.1.6/JavaEWAH-1.1.6.pom"
],
"hash": "sha256-f0/5GbHuF783duBYo/IOYXPbI6XkTPLRB+x1cMGGq/A="
"commons-logging:commons-logging": {
"1.1.3": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"commons-logging-1.1.3.jar": {
"urls": [
"https://plugins.gradle.org/m2/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar"
],
"hash": "sha256-cJA/b8gumQjI2p8gRD9h2Q8IcKMSZCmR/oRioLk5F4Q="
},
"commons-logging-1.1.3.pom": {
"urls": [
"https://plugins.gradle.org/m2/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.pom"
],
"hash": "sha256-MlCsOsa9YO0GMfXNAzUDKymT1j5AWmrgVV0np+SGWEk="
}
}
}
},
"org.apache.httpcomponents:httpclient:4.3.6": {
"httpclient-4.3.6.jar": {
"urls": [
"https://plugins.gradle.org/m2/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6.jar"
],
"hash": "sha256-eYONnq73PU+FLGOkgIMMOi1LWQ8Ks66BWkiUY+RxQAQ="
},
"httpclient-4.3.6.pom": {
"urls": [
"https://plugins.gradle.org/m2/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6.pom"
],
"hash": "sha256-0CY09hMekUlhwCqoNnEeuscnBLJ+JsW9Iju62JsbZMM="
"gradle.plugin.net.vivin:gradle-semantic-build-versioning": {
"4.0.0": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"gradle-semantic-build-versioning-4.0.0.jar": {
"urls": [
"https://plugins.gradle.org/m2/gradle/plugin/net/vivin/gradle-semantic-build-versioning/4.0.0/gradle-semantic-build-versioning-4.0.0.jar"
],
"hash": "sha256-UTjmfOjgGUN4ALk8n2+dD8vr763Jb7xOvAl1yZomHvg="
},
"gradle-semantic-build-versioning-4.0.0.pom": {
"urls": [
"https://plugins.gradle.org/m2/gradle/plugin/net/vivin/gradle-semantic-build-versioning/4.0.0/gradle-semantic-build-versioning-4.0.0.pom"
],
"hash": "sha256-TygodBYH7RAtletfGJ1JbHhA7UY6zqifHlGmBWdxTvc="
}
}
}
},
"org.apache.httpcomponents:httpcore:4.3.3": {
"httpcore-4.3.3.jar": {
"urls": [
"https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcore/4.3.3/httpcore-4.3.3.jar"
],
"hash": "sha256-UoXegK8WUcSJMTuRqfQMZaTNy2s73nFvzAKNFoaaWpM="
},
"httpcore-4.3.3.pom": {
"urls": [
"https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcore/4.3.3/httpcore-4.3.3.pom"
],
"hash": "sha256-tCf3z2fHWk4/niEI01v0UwNXPBRex3j8rc/6zvF6EmQ="
"org.apache.httpcomponents:httpclient": {
"4.3.6": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"httpclient-4.3.6.jar": {
"urls": [
"https://plugins.gradle.org/m2/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6.jar"
],
"hash": "sha256-eYONnq73PU+FLGOkgIMMOi1LWQ8Ks66BWkiUY+RxQAQ="
},
"httpclient-4.3.6.pom": {
"urls": [
"https://plugins.gradle.org/m2/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6.pom"
],
"hash": "sha256-0CY09hMekUlhwCqoNnEeuscnBLJ+JsW9Iju62JsbZMM="
}
}
}
},
"commons-logging:commons-logging:1.1.3": {
"commons-logging-1.1.3.jar": {
"urls": [
"https://plugins.gradle.org/m2/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar"
],
"hash": "sha256-cJA/b8gumQjI2p8gRD9h2Q8IcKMSZCmR/oRioLk5F4Q="
},
"commons-logging-1.1.3.pom": {
"urls": [
"https://plugins.gradle.org/m2/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.pom"
],
"hash": "sha256-MlCsOsa9YO0GMfXNAzUDKymT1j5AWmrgVV0np+SGWEk="
"org.apache.httpcomponents:httpcore": {
"4.3.3": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"httpcore-4.3.3.jar": {
"urls": [
"https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcore/4.3.3/httpcore-4.3.3.jar"
],
"hash": "sha256-UoXegK8WUcSJMTuRqfQMZaTNy2s73nFvzAKNFoaaWpM="
},
"httpcore-4.3.3.pom": {
"urls": [
"https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcore/4.3.3/httpcore-4.3.3.pom"
],
"hash": "sha256-tCf3z2fHWk4/niEI01v0UwNXPBRex3j8rc/6zvF6EmQ="
}
}
}
},
"commons-codec:commons-codec:1.6": {
"commons-codec-1.6.jar": {
"urls": [
"https://plugins.gradle.org/m2/commons-codec/commons-codec/1.6/commons-codec-1.6.jar"
],
"hash": "sha256-VLNOlBuOFBS9PkDXNu/TSBdy3CbbMpb2qkXOyfYgPYY="
},
"commons-codec-1.6.pom": {
"urls": [
"https://plugins.gradle.org/m2/commons-codec/commons-codec/1.6/commons-codec-1.6.pom"
],
"hash": "sha256-oG410//zprgT2UiU6/PkmPlUDIZMWzmueDkH46bHKIk="
"org.eclipse.jgit:org.eclipse.jgit": {
"4.8.0.201706111038-r": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"org.eclipse.jgit-4.8.0.201706111038-r.jar": {
"urls": [
"https://plugins.gradle.org/m2/org/eclipse/jgit/org.eclipse.jgit/4.8.0.201706111038-r/org.eclipse.jgit-4.8.0.201706111038-r.jar"
],
"hash": "sha256-SdkS6NXM4N0I3KPTkBiduGkqj34zY8274YJYFGIACro="
},
"org.eclipse.jgit-4.8.0.201706111038-r.pom": {
"urls": [
"https://plugins.gradle.org/m2/org/eclipse/jgit/org.eclipse.jgit/4.8.0.201706111038-r/org.eclipse.jgit-4.8.0.201706111038-r.pom"
],
"hash": "sha256-pVap9a38avSbKhLnLcPNfkPbj9whbA81iFlyovWton0="
}
}
}
},
"org.slf4j:slf4j-api:1.7.2": {
"slf4j-api-1.7.2.jar": {
"urls": [
"https://plugins.gradle.org/m2/org/slf4j/slf4j-api/1.7.2/slf4j-api-1.7.2.jar"
],
"hash": "sha256-O654m0ATM7Kh0WA7f6Vz4ZkIYoGRcHID9utwjN7iwFI="
},
"slf4j-api-1.7.2.pom": {
"urls": [
"https://plugins.gradle.org/m2/org/slf4j/slf4j-api/1.7.2/slf4j-api-1.7.2.pom"
],
"hash": "sha256-LqynGv4KFRb0q9jp/5B4ONJo84yBw6VCzOjX87h8XUw="
"org.slf4j:slf4j-api": {
"1.7.2": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"slf4j-api-1.7.2.jar": {
"urls": [
"https://plugins.gradle.org/m2/org/slf4j/slf4j-api/1.7.2/slf4j-api-1.7.2.jar"
],
"hash": "sha256-O654m0ATM7Kh0WA7f6Vz4ZkIYoGRcHID9utwjN7iwFI="
},
"slf4j-api-1.7.2.pom": {
"urls": [
"https://plugins.gradle.org/m2/org/slf4j/slf4j-api/1.7.2/slf4j-api-1.7.2.pom"
],
"hash": "sha256-LqynGv4KFRb0q9jp/5B4ONJo84yBw6VCzOjX87h8XUw="
}
}
}
}
}

View File

@@ -1,30 +1,42 @@
{
"org.opendof.core-java:dof-cipher-sms4:1.0": {
"dof-cipher-sms4-1.0.jar": {
"urls": [
"https://asset.opendof.org/artifact/org.opendof.core-java/dof-cipher-sms4/1.0/dof-cipher-sms4-1.0.jar"
],
"hash": "sha256-/Joo51NA6nBPEwFuFcnDc10JQZDE8P3jF3P4gl0vpMA="
},
"ivy-1.0.xml": {
"urls": [
"https://asset.opendof.org/ivy2/org.opendof.core-java/dof-cipher-sms4/1.0/ivy.xml"
],
"hash": "sha256-rh+pQpXqPP/cmBD8slvwMrKlWCUb3JNzW3l58hd7oJ8="
"org.opendof.core-java:dof-cipher-sms4": {
"1.0": {
"needsPomRedirect": false,
"needsIvyRedirect": true,
"files": {
"dof-cipher-sms4-1.0.jar": {
"urls": [
"https://asset.opendof.org/artifact/org.opendof.core-java/dof-cipher-sms4/1.0/dof-cipher-sms4-1.0.jar"
],
"hash": "sha256-/Joo51NA6nBPEwFuFcnDc10JQZDE8P3jF3P4gl0vpMA="
},
"ivy-1.0.xml": {
"urls": [
"https://asset.opendof.org/ivy2/org.opendof.core-java/dof-cipher-sms4/1.0/ivy.xml"
],
"hash": "sha256-rh+pQpXqPP/cmBD8slvwMrKlWCUb3JNzW3l58hd7oJ8="
}
}
}
},
"org.opendof.core-java:dof-oal:7.0.2": {
"dof-oal-7.0.2.jar": {
"urls": [
"https://asset.opendof.org/artifact/org.opendof.core-java/dof-oal/7.0.2/dof-oal-7.0.2.jar"
],
"hash": "sha256-u+FUhQGBA8MRl28mXMTSnZ2HY2ysPHq7h9lANmHBK40="
},
"ivy-7.0.2.xml": {
"urls": [
"https://asset.opendof.org/ivy2/org.opendof.core-java/dof-oal/7.0.2/ivy.xml"
],
"hash": "sha256-KZoUVyoDcfH/B/9V1SVqNiA/XIb3zlwoJkjb/jD+xig="
"org.opendof.core-java:dof-oal": {
"7.0.2": {
"needsPomRedirect": false,
"needsIvyRedirect": true,
"files": {
"dof-oal-7.0.2.jar": {
"urls": [
"https://asset.opendof.org/artifact/org.opendof.core-java/dof-oal/7.0.2/dof-oal-7.0.2.jar"
],
"hash": "sha256-u+FUhQGBA8MRl28mXMTSnZ2HY2ysPHq7h9lANmHBK40="
},
"ivy-7.0.2.xml": {
"urls": [
"https://asset.opendof.org/ivy2/org.opendof.core-java/dof-oal/7.0.2/ivy.xml"
],
"hash": "sha256-KZoUVyoDcfH/B/9V1SVqNiA/XIb3zlwoJkjb/jD+xig="
}
}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,16 +1,22 @@
{
"org.apache:test:1.0.0": {
"test-1.0.0.jar": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test/1.0.0/test-1.0.0.jar"
],
"hash": "sha256-M95zEuAwVCam7c2rKIET5qs4Q60sA84RyTA3a9jdQd8="
},
"test-1.0.0.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test/1.0.0/test-1.0.0.pom"
],
"hash": "sha256-sYk8m4+T+hRJ+43tpPkthrE/JftrsMnmuzORCLCK1To="
"org.apache:test": {
"1.0.0": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"test-1.0.0.jar": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test/1.0.0/test-1.0.0.jar"
],
"hash": "sha256-M95zEuAwVCam7c2rKIET5qs4Q60sA84RyTA3a9jdQd8="
},
"test-1.0.0.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test/1.0.0/test-1.0.0.pom"
],
"hash": "sha256-sYk8m4+T+hRJ+43tpPkthrE/JftrsMnmuzORCLCK1To="
}
}
}
}
}

View File

@@ -1,16 +1,22 @@
{
"org.apache:test:1.0.0": {
"test-1.0.0.jar": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test/1.0.0/test-1.0.0.jar"
],
"hash": "sha256-M95zEuAwVCam7c2rKIET5qs4Q60sA84RyTA3a9jdQd8="
},
"test-1.0.0.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test/1.0.0/test-1.0.0.pom"
],
"hash": "sha256-sYk8m4+T+hRJ+43tpPkthrE/JftrsMnmuzORCLCK1To="
"org.apache:test": {
"1.0.0": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"test-1.0.0.jar": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test/1.0.0/test-1.0.0.jar"
],
"hash": "sha256-M95zEuAwVCam7c2rKIET5qs4Q60sA84RyTA3a9jdQd8="
},
"test-1.0.0.pom": {
"urls": [
"file:/home/tad/proj/gradle2nix/fixtures/repositories/m2/org/apache/test/1.0.0/test-1.0.0.pom"
],
"hash": "sha256-sYk8m4+T+hRJ+43tpPkthrE/JftrsMnmuzORCLCK1To="
}
}
}
}
}

View File

@@ -1,114 +1,160 @@
{
"junit:junit:4.12": {
"junit-4.12.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar"
],
"hash": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo="
},
"junit-4.12.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.pom"
],
"hash": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ="
"com.squareup.moshi:moshi": {
"1.8.0": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"moshi-1.8.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.jar"
],
"hash": "sha256-Qv50bSaU6hH+agK+zZ2iyj2v6Xye/VCg+a9cRZbnSmo="
},
"moshi-1.8.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.pom"
],
"hash": "sha256-FLuAWbnddiACWSkN+IfjfmaaB0qsnImUAePIEC/lII8="
}
}
}
},
"org.hamcrest:hamcrest-core:1.3": {
"hamcrest-core-1.3.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"
],
"hash": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok="
"com.squareup.okio:okio": {
"2.2.2": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"okio-2.2.2.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.jar"
],
"hash": "sha256-5YyXQGprsROIk3UCmaxjxqoEs4trSerhv8rRpj75uhs="
},
"okio-2.2.2.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.pom"
],
"hash": "sha256-/WIZiPf2lXAlc13G3QkLAKIPOju413ynkDYHf2KbFAs="
}
}
},
"hamcrest-core-1.3.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom"
],
"hash": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
"1.16.0": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"okio-1.16.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.16.0/okio-1.16.0.jar"
],
"hash": "sha256-7ASE/xkDZA44RcKxCruZ7/LTIwj/40WeX5IwmkUbnH4="
},
"okio-1.16.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.16.0/okio-1.16.0.pom"
],
"hash": "sha256-HSUhYhwIdRI6qRMRsv6O3v0O2T9mvm3+oYzGG8XJnjY="
}
}
}
},
"com.squareup.okio:okio:2.2.2": {
"okio-2.2.2.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.jar"
],
"hash": "sha256-5YyXQGprsROIk3UCmaxjxqoEs4trSerhv8rRpj75uhs="
},
"okio-2.2.2.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.pom"
],
"hash": "sha256-/WIZiPf2lXAlc13G3QkLAKIPOju413ynkDYHf2KbFAs="
"junit:junit": {
"4.12": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"junit-4.12.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar"
],
"hash": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo="
},
"junit-4.12.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.pom"
],
"hash": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ="
}
}
}
},
"org.jetbrains.kotlin:kotlin-stdlib:1.2.60": {
"kotlin-stdlib-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.jar"
],
"hash": "sha256-ahMCmPUXGsUqHiSW9+rnhbb1ZBbqPMuZ5DRNBNg/8HE="
},
"kotlin-stdlib-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.pom"
],
"hash": "sha256-5jKJkgnmtMqrlA/YLk7GOjLjJkP4Fff6cJdkeJDXnxg="
"org.hamcrest:hamcrest-core": {
"1.3": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"hamcrest-core-1.3.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"
],
"hash": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok="
},
"hamcrest-core-1.3.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom"
],
"hash": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
}
}
}
},
"org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60": {
"kotlin-stdlib-common-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.jar"
],
"hash": "sha256-CbQ3WgZc8SeryZjF3PIrFmTEWvQrSJSZ16j0+Kt5P7E="
},
"kotlin-stdlib-common-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.pom"
],
"hash": "sha256-gwwnrx4c8k8PUm6kV5AcQ/OMGbtvfl03Y8PSU98bjaE="
"org.jetbrains.kotlin:kotlin-stdlib": {
"1.2.60": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"kotlin-stdlib-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.jar"
],
"hash": "sha256-ahMCmPUXGsUqHiSW9+rnhbb1ZBbqPMuZ5DRNBNg/8HE="
},
"kotlin-stdlib-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.pom"
],
"hash": "sha256-5jKJkgnmtMqrlA/YLk7GOjLjJkP4Fff6cJdkeJDXnxg="
}
}
}
},
"org.jetbrains:annotations:13.0": {
"annotations-13.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar"
],
"hash": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg="
},
"annotations-13.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.pom"
],
"hash": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
"org.jetbrains.kotlin:kotlin-stdlib-common": {
"1.2.60": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"kotlin-stdlib-common-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.jar"
],
"hash": "sha256-CbQ3WgZc8SeryZjF3PIrFmTEWvQrSJSZ16j0+Kt5P7E="
},
"kotlin-stdlib-common-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.pom"
],
"hash": "sha256-gwwnrx4c8k8PUm6kV5AcQ/OMGbtvfl03Y8PSU98bjaE="
}
}
}
},
"com.squareup.moshi:moshi:1.8.0": {
"moshi-1.8.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.jar"
],
"hash": "sha256-Qv50bSaU6hH+agK+zZ2iyj2v6Xye/VCg+a9cRZbnSmo="
},
"moshi-1.8.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.pom"
],
"hash": "sha256-FLuAWbnddiACWSkN+IfjfmaaB0qsnImUAePIEC/lII8="
}
},
"com.squareup.okio:okio:1.16.0": {
"okio-1.16.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.16.0/okio-1.16.0.jar"
],
"hash": "sha256-7ASE/xkDZA44RcKxCruZ7/LTIwj/40WeX5IwmkUbnH4="
},
"okio-1.16.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.16.0/okio-1.16.0.pom"
],
"hash": "sha256-HSUhYhwIdRI6qRMRsv6O3v0O2T9mvm3+oYzGG8XJnjY="
"org.jetbrains:annotations": {
"13.0": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"annotations-13.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar"
],
"hash": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg="
},
"annotations-13.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.pom"
],
"hash": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
}
}
}
}
}

View File

@@ -1,114 +1,160 @@
{
"junit:junit:4.12": {
"junit-4.12.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar"
],
"hash": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo="
},
"junit-4.12.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.pom"
],
"hash": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ="
"com.squareup.moshi:moshi": {
"1.8.0": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"moshi-1.8.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.jar"
],
"hash": "sha256-Qv50bSaU6hH+agK+zZ2iyj2v6Xye/VCg+a9cRZbnSmo="
},
"moshi-1.8.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.pom"
],
"hash": "sha256-FLuAWbnddiACWSkN+IfjfmaaB0qsnImUAePIEC/lII8="
}
}
}
},
"org.hamcrest:hamcrest-core:1.3": {
"hamcrest-core-1.3.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"
],
"hash": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok="
"com.squareup.okio:okio": {
"2.2.2": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"okio-2.2.2.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.jar"
],
"hash": "sha256-5YyXQGprsROIk3UCmaxjxqoEs4trSerhv8rRpj75uhs="
},
"okio-2.2.2.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.pom"
],
"hash": "sha256-/WIZiPf2lXAlc13G3QkLAKIPOju413ynkDYHf2KbFAs="
}
}
},
"hamcrest-core-1.3.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom"
],
"hash": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
"1.16.0": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"okio-1.16.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.16.0/okio-1.16.0.jar"
],
"hash": "sha256-7ASE/xkDZA44RcKxCruZ7/LTIwj/40WeX5IwmkUbnH4="
},
"okio-1.16.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.16.0/okio-1.16.0.pom"
],
"hash": "sha256-HSUhYhwIdRI6qRMRsv6O3v0O2T9mvm3+oYzGG8XJnjY="
}
}
}
},
"com.squareup.okio:okio:2.2.2": {
"okio-2.2.2.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.jar"
],
"hash": "sha256-5YyXQGprsROIk3UCmaxjxqoEs4trSerhv8rRpj75uhs="
},
"okio-2.2.2.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.2.2/okio-2.2.2.pom"
],
"hash": "sha256-/WIZiPf2lXAlc13G3QkLAKIPOju413ynkDYHf2KbFAs="
"junit:junit": {
"4.12": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"junit-4.12.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar"
],
"hash": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo="
},
"junit-4.12.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.pom"
],
"hash": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ="
}
}
}
},
"org.jetbrains.kotlin:kotlin-stdlib:1.2.60": {
"kotlin-stdlib-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.jar"
],
"hash": "sha256-ahMCmPUXGsUqHiSW9+rnhbb1ZBbqPMuZ5DRNBNg/8HE="
},
"kotlin-stdlib-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.pom"
],
"hash": "sha256-5jKJkgnmtMqrlA/YLk7GOjLjJkP4Fff6cJdkeJDXnxg="
"org.hamcrest:hamcrest-core": {
"1.3": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"hamcrest-core-1.3.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"
],
"hash": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok="
},
"hamcrest-core-1.3.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom"
],
"hash": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
}
}
}
},
"org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60": {
"kotlin-stdlib-common-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.jar"
],
"hash": "sha256-CbQ3WgZc8SeryZjF3PIrFmTEWvQrSJSZ16j0+Kt5P7E="
},
"kotlin-stdlib-common-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.pom"
],
"hash": "sha256-gwwnrx4c8k8PUm6kV5AcQ/OMGbtvfl03Y8PSU98bjaE="
"org.jetbrains.kotlin:kotlin-stdlib": {
"1.2.60": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"kotlin-stdlib-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.jar"
],
"hash": "sha256-ahMCmPUXGsUqHiSW9+rnhbb1ZBbqPMuZ5DRNBNg/8HE="
},
"kotlin-stdlib-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.60/kotlin-stdlib-1.2.60.pom"
],
"hash": "sha256-5jKJkgnmtMqrlA/YLk7GOjLjJkP4Fff6cJdkeJDXnxg="
}
}
}
},
"org.jetbrains:annotations:13.0": {
"annotations-13.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar"
],
"hash": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg="
},
"annotations-13.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.pom"
],
"hash": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
"org.jetbrains.kotlin:kotlin-stdlib-common": {
"1.2.60": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"kotlin-stdlib-common-1.2.60.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.jar"
],
"hash": "sha256-CbQ3WgZc8SeryZjF3PIrFmTEWvQrSJSZ16j0+Kt5P7E="
},
"kotlin-stdlib-common-1.2.60.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.60/kotlin-stdlib-common-1.2.60.pom"
],
"hash": "sha256-gwwnrx4c8k8PUm6kV5AcQ/OMGbtvfl03Y8PSU98bjaE="
}
}
}
},
"com.squareup.moshi:moshi:1.8.0": {
"moshi-1.8.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.jar"
],
"hash": "sha256-Qv50bSaU6hH+agK+zZ2iyj2v6Xye/VCg+a9cRZbnSmo="
},
"moshi-1.8.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/moshi/moshi/1.8.0/moshi-1.8.0.pom"
],
"hash": "sha256-FLuAWbnddiACWSkN+IfjfmaaB0qsnImUAePIEC/lII8="
}
},
"com.squareup.okio:okio:1.16.0": {
"okio-1.16.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.16.0/okio-1.16.0.jar"
],
"hash": "sha256-7ASE/xkDZA44RcKxCruZ7/LTIwj/40WeX5IwmkUbnH4="
},
"okio-1.16.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.16.0/okio-1.16.0.pom"
],
"hash": "sha256-HSUhYhwIdRI6qRMRsv6O3v0O2T9mvm3+oYzGG8XJnjY="
"org.jetbrains:annotations": {
"13.0": {
"needsPomRedirect": true,
"needsIvyRedirect": false,
"files": {
"annotations-13.0.jar": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar"
],
"hash": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg="
},
"annotations-13.0.pom": {
"urls": [
"https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.pom"
],
"hash": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
}
}
}
}
}

View File

@@ -1,4 +1,4 @@
package org.nixos.gradle2nix.dependencygraph.model
package org.nixos.gradle2nix
import kotlinx.serialization.Serializable

View File

@@ -1,8 +1,7 @@
package org.nixos.gradle2nix.dependencygraph.model
import kotlinx.serialization.Serializable
// private const val DEFAULT_MAVEN_REPOSITORY_URL = "https://repo.maven.apache.org/maven2"
import org.nixos.gradle2nix.DependencyCoordinates
@Serializable
data class ResolvedDependency(
@@ -13,20 +12,3 @@ data class ResolvedDependency(
val repository: String?,
val dependencies: List<String>
)
//{
// fun packageUrl() =
// PackageURLBuilder
// .aPackageURL()
// .withType("maven")
// .withNamespace(coordinates.group.ifEmpty { coordinates.module }) // TODO: This is a sign of broken mapping from component -> PURL
// .withName(coordinates.module)
// .withVersion(coordinates.version)
// .also {
// if (repositoryUrl != null && repositoryUrl != DEFAULT_MAVEN_REPOSITORY_URL) {
// it.withQualifier("repository_url", repositoryUrl)
// }
// }
// .build()
// .toString()
//
//}

View File

@@ -20,7 +20,7 @@ import org.nixos.gradle2nix.PARAM_INCLUDE_CONFIGURATIONS
import org.nixos.gradle2nix.PARAM_INCLUDE_PROJECTS
import org.nixos.gradle2nix.PARAM_REPORT_DIR
import org.nixos.gradle2nix.dependencygraph.DependencyGraphRenderer
import org.nixos.gradle2nix.dependencygraph.model.DependencyCoordinates
import org.nixos.gradle2nix.DependencyCoordinates
import org.nixos.gradle2nix.dependencygraph.model.DependencySource
import org.nixos.gradle2nix.dependencygraph.model.Repository
import org.nixos.gradle2nix.dependencygraph.model.ResolvedConfiguration