added JPMS support

This commit is contained in:
2022-06-04 18:03:58 +08:00
parent 8d4f654c0a
commit df7c4cc81d
8 changed files with 60 additions and 45 deletions

View File

@@ -1,40 +1,46 @@
plugins { plugins {
id 'java-library' id 'java-library'
id 'maven-publish' id 'maven-publish'
id 'net.woggioni.gradle.lombok' id 'net.woggioni.gradle.lombok' apply false
id "net.woggioni.gradle.multi-release-jar"
} }
group = "net.woggioni" group = "net.woggioni"
version = getProperty("jzstd.version") version = getProperty("jzstd.version")
allprojects { allprojects {
apply plugin: 'net.woggioni.gradle.lombok'
repositories { repositories {
maven { maven {
url = 'https://woggioni.net/mvn/' url = 'https://woggioni.net/mvn/'
} }
mavenCentral() mavenCentral()
} }
lombok {
version = getProperty('lombok.version')
}
dependencies {
testRuntimeOnly group: "org.junit.jupiter", name: "junit-jupiter-engine", version: property("junit.version")
testImplementation group: "org.junit.jupiter", name: "junit-jupiter-api", version: property("junit.version")
testImplementation group: "org.junit.jupiter", name: "junit-jupiter-params", version: property("junit.version")
}
tasks.withType(Test) {
useJUnitPlatform()
}
} }
lombok { compileJava {
version = getProperty('lombok.version') options.release = 8
} options.compilerArgs << '-parameters'
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
} }
dependencies { dependencies {
implementation group: "net.java.dev.jna", name: "jna", version: getProperty("jna.version") implementation group: "net.java.dev.jna", name: "jna", version: getProperty("jna.version")
testRuntimeOnly group: "org.junit.jupiter", name: "junit-jupiter-engine", version: getProperty("junit.version")
testImplementation group: "org.junit.jupiter", name: "junit-jupiter-api", version: getProperty("junit.version")
testImplementation group: "org.junit.jupiter", name: "junit-jupiter-params", version: getProperty("junit.version")
}
tasks.withType(Test) {
useJUnitPlatform()
} }
wrapper { wrapper {

View File

@@ -1,9 +1,10 @@
plugins { plugins {
id "org.jetbrains.kotlin.jvm" id "org.jetbrains.kotlin.jvm"
id "application" id "net.woggioni.gradle.envelope"
} }
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import net.woggioni.gradle.envelope.EnvelopeJarTask
dependencies { dependencies {
implementation group:"org.jetbrains.kotlin", name: "kotlin-stdlib-jdk8", version: getProperty("kotlin.version") implementation group:"org.jetbrains.kotlin", name: "kotlin-stdlib-jdk8", version: getProperty("kotlin.version")
@@ -12,31 +13,21 @@ dependencies {
implementation group: "org.slf4j", name: "slf4j-api", version: property("slf4j.version") implementation group: "org.slf4j", name: "slf4j-api", version: property("slf4j.version")
implementation group: "com.beust", name: "jcommander", version: property("jcommander.version") implementation group: "com.beust", name: "jcommander", version: property("jcommander.version")
implementation rootProject implementation rootProject
testRuntimeOnly group: "org.junit.jupiter", name: "junit-jupiter-engine", version: property("junit.version")
testImplementation group: "org.junit.jupiter", name: "junit-jupiter-api", version: property("junit.version")
testImplementation group: "org.junit.jupiter", name: "junit-jupiter-params", version: property("junit.version")
} }
application { Provider<EnvelopeJarTask> envelopeJarTaskProvider = tasks.named('envelopeJar', EnvelopeJarTask.class) {
mainClassName = "net.woggioni.jzstd.Cli" mainClass = 'net.woggioni.jzstd.Cli'
} }
tasks.named('envelopeRun', JavaExec) {
tasks.withType(Test) { args = ['--help']
useJUnitPlatform()
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
} }
tasks.withType(KotlinCompile.class).configureEach { tasks.withType(KotlinCompile.class).configureEach {
kotlinOptions { kotlinOptions {
languageVersion = "1.5" languageVersion = "1.6"
apiVersion = "1.5" apiVersion = "1.6"
jvmTarget = "1.8" jvmTarget = "11"
javaParameters = true javaParameters = true
} }
} }

View File

@@ -1,10 +1,15 @@
jzstd.version = 0.1 jzstd.version = 0.1-SNAPSHOT
gradle.version = 7.1
kotlin.version = 1.5.20 jpms.module.name=net.woggioni.jzstd
junit.version = 5.6.2
gradle.version = 7.2
kotlin.version = 1.6.20
junit.version = 5.8.2
lombok.version = 1.18.16 lombok.version = 1.18.16
jna.version = 5.5.0 jna.version = 5.10.0
jcommander.version = 1.78 jcommander.version = 1.78
slf4j.version = 1.7.30 slf4j.version = 1.7.32
log4j.version = 2.13.2 log4j.version = 2.17.2
net.woggioni.plugins.version = 0.1 net.woggioni.gradle.lombok.version=0.1
net.woggioni.gradle.multi-release-jar.version=0.1
net.woggioni.gradle.envelope.version=1.0-SNAPSHOT

Binary file not shown.

View File

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

2
gradlew vendored
View File

@@ -72,7 +72,7 @@ case "`uname`" in
Darwin* ) Darwin* )
darwin=true darwin=true
;; ;;
MINGW* ) MSYS* | MINGW* )
msys=true msys=true
;; ;;
NONSTOP* ) NONSTOP* )

View File

@@ -2,13 +2,23 @@ pluginManagement {
repositories { repositories {
maven { maven {
url = 'https://woggioni.net/mvn/' url = 'https://woggioni.net/mvn/'
content {
includeModule 'net.woggioni.gradle', 'envelope'
includeModule 'net.woggioni.gradle.envelope', 'net.woggioni.gradle.envelope.gradle.plugin'
includeModule 'net.woggioni.gradle', 'lombok'
includeModule 'net.woggioni.gradle.lombok', 'net.woggioni.gradle.lombok.gradle.plugin'
includeModule 'net.woggioni.gradle', 'multi-release-jar'
includeModule 'net.woggioni.gradle.multi-release-jar', 'net.woggioni.gradle.multi-release-jar.gradle.plugin'
}
} }
gradlePluginPortal() gradlePluginPortal()
} }
plugins { plugins {
id "net.woggioni.gradle.lombok" version "0.1"
id "org.jetbrains.kotlin.jvm" version getProperty("kotlin.version") id "org.jetbrains.kotlin.jvm" version getProperty("kotlin.version")
id "net.woggioni.gradle.lombok" version getProperty('net.woggioni.gradle.lombok.version')
id "net.woggioni.gradle.multi-release-jar" version getProperty('net.woggioni.gradle.multi-release-jar.version')
id "net.woggioni.gradle.envelope" version getProperty('net.woggioni.gradle.envelope.version')
} }
} }

View File

@@ -0,0 +1,3 @@
module net.woggioni.jzstd {
exports net.woggioni.jzstd;
}