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

@@ -133,6 +133,8 @@ class Gradle2Nix : CliktCommand(
metadata.delete() metadata.delete()
backup.renameTo(metadata) backup.renameTo(metadata)
}) })
} else {
metadata.deleteOnExit()
} }
} }

View File

@@ -2,10 +2,8 @@ plugins {
base base
alias(libs.plugins.kotlin.jvm) apply false alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.kotlin.serialization) apply false alias(libs.plugins.kotlin.serialization) apply false
alias(libs.plugins.ksp) apply false
alias(libs.plugins.pluginPublish) apply false alias(libs.plugins.pluginPublish) apply false
alias(libs.plugins.shadow) apply false alias(libs.plugins.shadow) apply false
alias(libs.plugins.stutter) apply false
} }
group = "org.nixos.gradle2nix" group = "org.nixos.gradle2nix"

View File

@@ -1,52 +0,0 @@
# This is a Gradle generated file for dependency locking.
# Manual edits can break the build and are not advised.
# This file is expected to be part of source control.
com.fasterxml.jackson.core:jackson-annotations:2.12.1
com.fasterxml.jackson.core:jackson-core:2.12.1
com.fasterxml.jackson.core:jackson-databind:2.12.1
com.fasterxml.jackson:jackson-bom:2.12.1
com.github.gundy:semver4j:0.16.4
com.github.jengelman.gradle.plugins:shadow:6.1.0
com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:6.1.0
com.google.code.gson:gson:2.8.6
commons-io:commons-io:2.6
de.undercouch:gradle-download-task:4.0.2
org.ajoberstar.stutter:org.ajoberstar.stutter.gradle.plugin:0.6.0
org.ajoberstar:gradle-stutter:0.6.0
org.antlr:antlr4-runtime:4.5.2-1
org.apache.ant:ant-launcher:1.9.7
org.apache.ant:ant:1.9.7
org.apache.logging.log4j:log4j-api:2.13.3
org.apache.logging.log4j:log4j-core:2.13.3
org.codehaus.plexus:plexus-utils:3.0.24
org.jdom:jdom2:2.0.6
org.jetbrains.intellij.deps:trove4j:1.0.20181211
org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.4.20
org.jetbrains.kotlin.kapt:org.jetbrains.kotlin.kapt.gradle.plugin:1.4.20
org.jetbrains.kotlin:kotlin-android-extensions:1.4.20
org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.20
org.jetbrains.kotlin:kotlin-build-common:1.4.20
org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.20
org.jetbrains.kotlin:kotlin-compiler-runner:1.4.20
org.jetbrains.kotlin:kotlin-daemon-client:1.4.20
org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.20
org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.20
org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.20
org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.20
org.jetbrains.kotlin:kotlin-reflect:1.4.20
org.jetbrains.kotlin:kotlin-script-runtime:1.4.20
org.jetbrains.kotlin:kotlin-scripting-common:1.4.20
org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.20
org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.20
org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.20
org.jetbrains.kotlin:kotlin-stdlib-common:1.4.20
org.jetbrains.kotlin:kotlin-stdlib:1.4.20
org.jetbrains.kotlin:kotlin-util-io:1.4.20
org.jetbrains.kotlin:kotlin-util-klib:1.4.20
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7
org.jetbrains:annotations:13.0
org.ow2.asm:asm-analysis:9.0
org.ow2.asm:asm-commons:9.0
org.ow2.asm:asm-tree:9.0
org.ow2.asm:asm:9.0
org.vafer:jdependency:2.1.1

View File

@@ -1,43 +1,25 @@
[versions] [versions]
gradle = "8.3" gradle = "8.3"
kotlin = "1.9.0" # Current embedded Gradle kotlin version kotlin = "1.9.0" # Current embedded Gradle kotlin version
ksp = "1.9.0-1.0.13"
[libraries] [libraries]
clikt = "com.github.ajalt:clikt:+" clikt = "com.github.ajalt:clikt:+"
gradle-dependencyGraph = "org.gradle:github-dependency-graph-gradle-plugin:+"
gradle-toolingApi = { module = "org.gradle:gradle-tooling-api", version.ref = "gradle" } gradle-toolingApi = { module = "org.gradle:gradle-tooling-api", version.ref = "gradle" }
ivy = "org.apache.ivy:ivy:+"
javalin = "io.javalin:javalin:+"
junit-jupiter-api = "org.junit.jupiter:junit-jupiter-api:+" junit-jupiter-api = "org.junit.jupiter:junit-jupiter-api:+"
junit-jupiter-engine = "org.junit.jupiter:junit-jupiter-engine:+" junit-jupiter-engine = "org.junit.jupiter:junit-jupiter-engine:+"
junit-jupiter-params = "org.junit.jupiter:junit-jupiter-params:+" junit-jupiter-params = "org.junit.jupiter:junit-jupiter-params:+"
junit-platformLauncher = "org.junit.platform:junit-platform-launcher:+" junit-platformLauncher = "org.junit.platform:junit-platform-launcher:+"
kotest-runner = "io.kotest:kotest-runner-junit5:+" kotest-runner = "io.kotest:kotest-runner-junit5:+"
kotest-assertions = "io.kotest:kotest-assertions-core:+" kotest-assertions = "io.kotest:kotest-assertions-core:+"
maven-repositoryMetadata = "org.apache.maven:maven-repository-metadata:+"
minutest = "dev.minutest:minutest:+"
moshi = "com.squareup.moshi:moshi:+"
moshi-adapters = "com.squareup.moshi:moshi-adapters:+"
moshi-kotlin = "com.squareup.moshi:moshi-kotlin:+"
moshi-kotlinCodegen = "com.squareup.moshi:moshi-kotlin-codegen:+"
okio = "com.squareup.okio:okio:+" okio = "com.squareup.okio:okio:+"
s3 = "com.amazonaws:aws-java-sdk-s3:+"
s3mock = "com.adobe.testing:s3mock-junit5:+"
semver = "net.swiftzer.semver:semver:+"
serialization-json = "org.jetbrains.kotlinx:kotlinx-serialization-json:+" serialization-json = "org.jetbrains.kotlinx:kotlinx-serialization-json:+"
slf4j-api = "org.slf4j:slf4j-api:+" slf4j-api = "org.slf4j:slf4j-api:+"
slf4j-simple = "org.slf4j:slf4j-simple:+" slf4j-simple = "org.slf4j:slf4j-simple:+"
spek-dsl = "org.spekframework.spek2:spek-dsl-jvm:+"
spek-runner = "org.spekframework.spek2:spek-runner-junit5:+"
strikt = "io.strikt:strikt-core:+"
[plugins] [plugins]
pluginPublish = { id = "com.gradle.plugin-publish", version = "1.2.1" } pluginPublish = { id = "com.gradle.plugin-publish", version = "1.2.1" }
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
shadow = { id = "com.github.johnrengelman.shadow", version = "8.1.1" } shadow = { id = "com.github.johnrengelman.shadow", version = "8.1.1" }
stutter = { id = "org.ajoberstar.stutter", version = "0.7.2" }
[bundles] [bundles]

View File

@@ -7,7 +7,6 @@ plugins {
dependencies { dependencies {
implementation(libs.serialization.json) implementation(libs.serialization.json)
implementation(libs.semver)
} }
java { java {

View File

@@ -7,6 +7,12 @@ import kotlinx.serialization.json.encodeToStream
import org.nixos.gradle2nix.dependencygraph.DependencyGraphRenderer import org.nixos.gradle2nix.dependencygraph.DependencyGraphRenderer
import org.nixos.gradle2nix.dependencygraph.model.ResolvedConfiguration import org.nixos.gradle2nix.dependencygraph.model.ResolvedConfiguration
@OptIn(ExperimentalSerializationApi::class)
private val json = Json {
prettyPrint = true
prettyPrintIndent = " "
}
class NixDependencyGraphRenderer : DependencyGraphRenderer { class NixDependencyGraphRenderer : DependencyGraphRenderer {
@OptIn(ExperimentalSerializationApi::class) @OptIn(ExperimentalSerializationApi::class)
override fun outputDependencyGraph( override fun outputDependencyGraph(
@@ -15,7 +21,7 @@ class NixDependencyGraphRenderer : DependencyGraphRenderer {
) { ) {
val graphOutputFile = File(outputDirectory, "dependency-graph.json") val graphOutputFile = File(outputDirectory, "dependency-graph.json")
graphOutputFile.outputStream().buffered().use { output -> 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.DependencyExtractor
import org.nixos.gradle2nix.dependencygraph.extractor.DependencyExtractorBuildService import org.nixos.gradle2nix.dependencygraph.extractor.DependencyExtractorBuildService
import org.nixos.gradle2nix.dependencygraph.extractor.LegacyDependencyExtractor import org.nixos.gradle2nix.dependencygraph.extractor.LegacyDependencyExtractor
import org.nixos.gradle2nix.dependencygraph.util.buildDirCompat
import org.nixos.gradle2nix.dependencygraph.util.service import org.nixos.gradle2nix.dependencygraph.util.service
abstract class AbstractDependencyExtractorPlugin : Plugin<Gradle> { abstract class AbstractDependencyExtractorPlugin : Plugin<Gradle> {
@@ -35,7 +36,7 @@ abstract class AbstractDependencyExtractorPlugin : Plugin<Gradle> {
gradle.rootProject { project -> gradle.rootProject { project ->
dependencyExtractorProvider dependencyExtractorProvider
.get() .get()
.rootProjectBuildDirectory = project.buildDir .rootProjectBuildDirectory = project.buildDirCompat
} }
// Register the service to listen for Build Events // Register the service to listen for Build Events

View File

@@ -1,10 +1,13 @@
package org.nixos.gradle2nix.dependencygraph.util 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.internal.GradleInternal
import org.gradle.api.invocation.Gradle import org.gradle.api.invocation.Gradle
import org.gradle.api.model.ObjectFactory import org.gradle.api.model.ObjectFactory
import org.gradle.api.provider.ProviderFactory import org.gradle.api.provider.ProviderFactory
import org.gradle.internal.operations.BuildOperationListenerManager import org.gradle.internal.operations.BuildOperationListenerManager
import org.gradle.util.GradleVersion
internal abstract class GradleExtensions { internal abstract class GradleExtensions {
@@ -17,3 +20,11 @@ internal abstract class GradleExtensions {
internal inline fun <reified T> Gradle.service(): T = internal inline fun <reified T> Gradle.service(): T =
(this as GradleInternal).services.get(T::class.java) (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()
}