Cleanup build

This commit is contained in:
Tad Fisher
2023-10-06 16:19:32 -07:00
parent 00f8deb8f2
commit b152ca50f2
8 changed files with 22 additions and 75 deletions

View File

@@ -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)
}
}
}

View File

@@ -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

View File

@@ -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()
}