mirror of
https://github.com/tadfisher/gradle2nix.git
synced 2026-01-11 23:40:37 -05:00
WIP
This commit is contained in:
@@ -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"
|
||||
}
|
||||
@@ -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'"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
}
|
||||
@@ -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"
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nixos.gradle2nix.dependencygraph.model
|
||||
package org.nixos.gradle2nix.model
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nixos.gradle2nix.dependencygraph.model
|
||||
package org.nixos.gradle2nix.model
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@@ -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(),
|
||||
)
|
||||
@@ -0,0 +1,9 @@
|
||||
package org.nixos.gradle2nix.model
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class ResolvedMetadata(
|
||||
val moduleId: String,
|
||||
val uri: String
|
||||
)
|
||||
Reference in New Issue
Block a user