mirror of
https://github.com/tadfisher/gradle2nix.git
synced 2026-01-11 23:40:37 -05:00
Cleanup build
This commit is contained in:
@@ -7,6 +7,12 @@ import kotlinx.serialization.json.encodeToStream
|
||||
import org.nixos.gradle2nix.dependencygraph.DependencyGraphRenderer
|
||||
import org.nixos.gradle2nix.dependencygraph.model.ResolvedConfiguration
|
||||
|
||||
@OptIn(ExperimentalSerializationApi::class)
|
||||
private val json = Json {
|
||||
prettyPrint = true
|
||||
prettyPrintIndent = " "
|
||||
}
|
||||
|
||||
class NixDependencyGraphRenderer : DependencyGraphRenderer {
|
||||
@OptIn(ExperimentalSerializationApi::class)
|
||||
override fun outputDependencyGraph(
|
||||
@@ -15,7 +21,7 @@ class NixDependencyGraphRenderer : DependencyGraphRenderer {
|
||||
) {
|
||||
val graphOutputFile = File(outputDirectory, "dependency-graph.json")
|
||||
graphOutputFile.outputStream().buffered().use { output ->
|
||||
Json.encodeToStream(resolvedConfigurations, output)
|
||||
json.encodeToStream(resolvedConfigurations, output)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.gradle.util.GradleVersion
|
||||
import org.nixos.gradle2nix.dependencygraph.extractor.DependencyExtractor
|
||||
import org.nixos.gradle2nix.dependencygraph.extractor.DependencyExtractorBuildService
|
||||
import org.nixos.gradle2nix.dependencygraph.extractor.LegacyDependencyExtractor
|
||||
import org.nixos.gradle2nix.dependencygraph.util.buildDirCompat
|
||||
import org.nixos.gradle2nix.dependencygraph.util.service
|
||||
|
||||
abstract class AbstractDependencyExtractorPlugin : Plugin<Gradle> {
|
||||
@@ -35,7 +36,7 @@ abstract class AbstractDependencyExtractorPlugin : Plugin<Gradle> {
|
||||
gradle.rootProject { project ->
|
||||
dependencyExtractorProvider
|
||||
.get()
|
||||
.rootProjectBuildDirectory = project.buildDir
|
||||
.rootProjectBuildDirectory = project.buildDirCompat
|
||||
}
|
||||
|
||||
// Register the service to listen for Build Events
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
package org.nixos.gradle2nix.dependencygraph.util
|
||||
|
||||
import java.io.File
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.internal.GradleInternal
|
||||
import org.gradle.api.invocation.Gradle
|
||||
import org.gradle.api.model.ObjectFactory
|
||||
import org.gradle.api.provider.ProviderFactory
|
||||
import org.gradle.internal.operations.BuildOperationListenerManager
|
||||
import org.gradle.util.GradleVersion
|
||||
|
||||
internal abstract class GradleExtensions {
|
||||
|
||||
@@ -17,3 +20,11 @@ internal abstract class GradleExtensions {
|
||||
|
||||
internal inline fun <reified T> Gradle.service(): T =
|
||||
(this as GradleInternal).services.get(T::class.java)
|
||||
|
||||
internal val Project.buildDirCompat: File
|
||||
get() = if (GradleVersion.current() < GradleVersion.version("8.3")) {
|
||||
@Suppress("DEPRECATION")
|
||||
buildDir
|
||||
} else {
|
||||
layout.buildDirectory.asFile.get()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user