Inceptum/buildSrc/src/main/kotlin/inceptum.java.gradle.kts

58 lines
1.7 KiB
Plaintext
Raw Normal View History

2022-09-04 21:21:24 +02:00
plugins {
`java-library`
`maven-publish`
}
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(20))
}
}
2022-09-04 21:21:24 +02:00
repositories {
mavenCentral()
2022-10-28 16:36:18 +02:00
maven("https://maven.frohnmeyer-wds.de/artifacts")
2022-09-04 21:21:24 +02:00
}
dependencies {
compileOnly("org.jetbrains:annotations:23.0.0")
}
publishing {
repositories {
2022-11-03 14:38:05 +01:00
mavenLocal()
2022-09-04 21:21:24 +02:00
if (rootProject.extra["isPublic"] == true) {
maven("https://maven.frohnmeyer-wds.de/artifacts") {
name = "public"
2022-09-04 21:21:24 +02:00
credentials(PasswordCredentials::class) {
username = System.getenv()["MAVEN_NAME"]
password = System.getenv()["MAVEN_TOKEN"]
2022-09-04 21:21:24 +02:00
}
authentication {
create<BasicAuthentication>("basic")
2022-09-04 21:21:24 +02:00
}
}
}
}
}
afterEvaluate {
if (hasProperty("offline")) {
tasks.withType(JavaExec::class) {
environment("G_ORIGINAL_EXECUTABLE", executable ?: "java")
//TODO once we are not using a toolchain, just do executable(rootDir.resolve("buildSrc/java-offline"))
val originalMetadata = javaLauncher.get().metadata
val field = org.gradle.api.internal.provider.AbstractProperty::class.java.getDeclaredField("value")
field.isAccessible = true
val customLauncher = object: JavaLauncher {
override fun getMetadata(): JavaInstallationMetadata = originalMetadata
override fun getExecutablePath(): RegularFile = rootProject.layout.projectDirectory
.dir("buildSrc")
.file("java-offline")
}
field.set(javaLauncher, org.gradle.api.internal.provider.Providers.of(customLauncher))
}
}
2022-09-04 21:21:24 +02:00
}