89 lines
2.1 KiB
Groovy
89 lines
2.1 KiB
Groovy
plugins {
|
|
alias catalog.plugins.kotlin.jvm
|
|
alias catalog.plugins.envelope
|
|
id 'maven-publish'
|
|
}
|
|
|
|
import net.woggioni.gradle.envelope.EnvelopeJarTask
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
|
|
|
group = 'net.woggioni'
|
|
|
|
version = getProperty('gbcs.version')
|
|
|
|
repositories {
|
|
maven {
|
|
url = 'https://woggioni.net/mvn'
|
|
content {
|
|
includeModule 'net.woggioni', 'jwo'
|
|
includeGroup 'com.lys'
|
|
}
|
|
}
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
implementation catalog.jwo
|
|
implementation catalog.slf4j.api
|
|
implementation catalog.netty.codec.http
|
|
|
|
runtimeOnly catalog.slf4j.jdk14
|
|
|
|
testImplementation catalog.junit.jupiter.api
|
|
testImplementation catalog.junit.jupiter.params
|
|
testRuntimeOnly catalog.junit.jupiter.engine
|
|
}
|
|
|
|
java {
|
|
withSourcesJar()
|
|
}
|
|
|
|
tasks.named(JavaPlugin.COMPILE_JAVA_TASK_NAME, JavaCompile) {
|
|
modularity.inferModulePath = true
|
|
options.compilerArgs << '--patch-module' << 'net.woggioni.gbcs=' + project.sourceSets.main.output.asPath
|
|
options.release = 17
|
|
}
|
|
|
|
tasks.named("compileKotlin", KotlinCompile.class) {
|
|
kotlinOptions {
|
|
jvmTarget = 17
|
|
}
|
|
}
|
|
|
|
Provider<EnvelopeJarTask> envelopeJarTaskProvider = tasks.named('envelopeJar', EnvelopeJarTask.class) {
|
|
mainModule = 'net.woggioni.gbcs'
|
|
mainClass = 'net.woggioni.gbcs.GradleBuildCacheServer'
|
|
systemProperty 'java.util.logging.config.class', 'net.woggioni.gbcs.LoggingConfig'
|
|
systemProperty 'log.config.source', 'logging.properties'
|
|
|
|
manifest {
|
|
attributes([
|
|
'Add-Exports' : 'java.base/sun.security.x509'
|
|
])
|
|
}
|
|
}
|
|
|
|
envelopeRun {
|
|
|
|
mainModule = 'net.woggioni.envelope'
|
|
modularity.inferModulePath = true
|
|
jvmArgs('--add-exports=java.base/sun.security.x509=io.netty.handler')
|
|
}
|
|
|
|
def envelopeJarArtifact = artifacts.add('archives', envelopeJarTaskProvider.get().archiveFile.get().asFile) {
|
|
type = 'jar'
|
|
builtBy envelopeJarTaskProvider
|
|
}
|
|
|
|
publishing {
|
|
repositories {
|
|
maven {
|
|
url = 'https://mvn.woggioni.net/'
|
|
}
|
|
}
|
|
publications {
|
|
maven(MavenPublication) {
|
|
artifact envelopeJarArtifact
|
|
}
|
|
}
|
|
} |