This commit is contained in:
Tad Fisher
2023-12-19 13:52:14 -08:00
parent 6da87262a4
commit 8ceeeb9611
69 changed files with 5970 additions and 13633 deletions

View File

@@ -1,8 +0,0 @@
package org.nixos.gradle2nix
import kotlinx.serialization.Serializable
@Serializable
data class DependencyCoordinates(val group: String, val module: String, val version: String) {
override fun toString(): String = "$group:$module:$version"
}

View File

@@ -0,0 +1,35 @@
package org.nixos.gradle2nix.model
import kotlinx.serialization.Serializable
@Serializable
data class DependencyCoordinates(
val group: String,
val module: String,
val version: String,
val timestamp: String? = null
) {
override fun toString(): String = if (timestamp != null) {
"$group:$module:$version:$timestamp"
} else {
"$group:$module:$version"
}
val isSnapshot: Boolean get() = timestamp != null
val moduleVersion: String get() = version
val artifactVersion: String get() =
timestamp?.let { version.replace("SNAPSHOT", it) } ?: version
companion object {
fun parse(id: String): DependencyCoordinates {
val parts = id.split(":")
return when (parts.size) {
3 -> DependencyCoordinates(parts[0], parts[1], parts[2])
4 -> DependencyCoordinates(parts[0], parts[1], parts[2], parts[3])
else -> throw IllegalStateException(
"couldn't parse dependency coordinates: '$id'"
)
}
}
}
}

View File

@@ -1,5 +1,6 @@
package org.nixos.gradle2nix.dependencygraph.model
package org.nixos.gradle2nix.model
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
/**
@@ -10,4 +11,16 @@ import kotlinx.serialization.Serializable
* We attempt to map this to an actual source file location when building a dependency report.
*/
@Serializable
data class DependencySource(val id: String, val path: String)
data class DependencySource(
val targetType: ConfigurationTarget,
val targetPath: String,
val buildPath: String,
)
@Serializable
enum class ConfigurationTarget {
@SerialName("gradle") GRADLE,
@SerialName("settings") SETTINGS,
@SerialName("buildscript") BUILDSCRIPT,
@SerialName("project") PROJECT,
}

View File

@@ -1,4 +1,4 @@
package org.nixos.gradle2nix
package org.nixos.gradle2nix.model
const val PARAM_INCLUDE_PROJECTS = "NIX_INCLUDE_PROJECTS"
const val PARAM_INCLUDE_CONFIGURATIONS = "NIX_INCLUDE_CONFIGURATIONS"

View File

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

View File

@@ -0,0 +1,16 @@
package org.nixos.gradle2nix.model
import kotlinx.serialization.Serializable
@Serializable
data class ResolvedArtifact(
val type: Type?,
val file: String,
) {
enum class Type {
SOURCES,
JAVADOC,
IVY_DESCRIPTOR,
MAVEN_POM,
}
}

View File

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

View File

@@ -1,7 +1,6 @@
package org.nixos.gradle2nix.dependencygraph.model
package org.nixos.gradle2nix.model
import kotlinx.serialization.Serializable
import org.nixos.gradle2nix.DependencyCoordinates
@Serializable
data class ResolvedDependency(
@@ -10,5 +9,5 @@ data class ResolvedDependency(
val direct: Boolean,
val coordinates: DependencyCoordinates,
val repository: String?,
val dependencies: List<String>
val dependencies: List<String> = emptyList(),
)

View File

@@ -0,0 +1,9 @@
package org.nixos.gradle2nix.model
import kotlinx.serialization.Serializable
@Serializable
data class ResolvedMetadata(
val moduleId: String,
val uri: String
)