plugins { id 'org.jetbrains.kotlin.jvm' id 'net.woggioni.gradle.envelope' id 'maven-publish' } import net.woggioni.gradle.envelope.EnvelopeJarTask group = 'net.woggioni' version = getProperty('gbcs.version') repositories { maven { url = 'https://woggioni.net/mvn' content { includeModule 'net.woggioni', 'jwo' } } mavenCentral() } dependencies { implementation group: 'net.woggioni', name: 'jwo', version: getProperty('jwo.version') implementation group: 'org.slf4j', name: 'slf4j-api', version: getProperty('slf4j.version') implementation group: 'io.netty', name: 'netty-codec-http', version: getProperty('netty.version') runtimeOnly group: 'org.slf4j', name: 'slf4j-jdk14', version: getProperty('slf4j.version') testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: getProperty('junit.jupiter.version') testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: getProperty('junit.jupiter.version') testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: getProperty('junit.jupiter.version') } 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 = 11 } Provider 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' } wrapper { distributionType = Wrapper.DistributionType.BIN gradleVersion = getProperty('gradle.version') } 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 } } }