diff --git a/build.gradle b/build.gradle index 16c2d92..9db072b 100644 --- a/build.gradle +++ b/build.gradle @@ -1,40 +1,46 @@ plugins { id 'java-library' 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" version = getProperty("jzstd.version") + allprojects { + apply plugin: 'net.woggioni.gradle.lombok' + repositories { maven { url = 'https://woggioni.net/mvn/' } 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 { - version = getProperty('lombok.version') -} - -java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 +compileJava { + options.release = 8 + options.compilerArgs << '-parameters' } dependencies { 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 { diff --git a/cli/build.gradle b/cli/build.gradle index ea2af0c..583df59 100644 --- a/cli/build.gradle +++ b/cli/build.gradle @@ -1,9 +1,10 @@ plugins { id "org.jetbrains.kotlin.jvm" - id "application" + id "net.woggioni.gradle.envelope" } import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import net.woggioni.gradle.envelope.EnvelopeJarTask dependencies { 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: "com.beust", name: "jcommander", version: property("jcommander.version") 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 { - mainClassName = "net.woggioni.jzstd.Cli" +Provider envelopeJarTaskProvider = tasks.named('envelopeJar', EnvelopeJarTask.class) { + mainClass = 'net.woggioni.jzstd.Cli' } - -tasks.withType(Test) { - useJUnitPlatform() -} - -java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 +tasks.named('envelopeRun', JavaExec) { + args = ['--help'] } tasks.withType(KotlinCompile.class).configureEach { kotlinOptions { - languageVersion = "1.5" - apiVersion = "1.5" - jvmTarget = "1.8" + languageVersion = "1.6" + apiVersion = "1.6" + jvmTarget = "11" javaParameters = true } } diff --git a/gradle.properties b/gradle.properties index a15bdad..4933d04 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,10 +1,15 @@ -jzstd.version = 0.1 -gradle.version = 7.1 -kotlin.version = 1.5.20 -junit.version = 5.6.2 +jzstd.version = 0.1-SNAPSHOT + +jpms.module.name=net.woggioni.jzstd + +gradle.version = 7.2 +kotlin.version = 1.6.20 +junit.version = 5.8.2 lombok.version = 1.18.16 -jna.version = 5.5.0 +jna.version = 5.10.0 jcommander.version = 1.78 -slf4j.version = 1.7.30 -log4j.version = 2.13.2 -net.woggioni.plugins.version = 0.1 +slf4j.version = 1.7.32 +log4j.version = 2.17.2 +net.woggioni.gradle.lombok.version=0.1 +net.woggioni.gradle.multi-release-jar.version=0.1 +net.woggioni.gradle.envelope.version=1.0-SNAPSHOT \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e708b1c..7454180 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 69a9715..ffed3a2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME 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 zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 4f906e0..744e882 100755 --- a/gradlew +++ b/gradlew @@ -72,7 +72,7 @@ case "`uname`" in Darwin* ) darwin=true ;; - MINGW* ) + MSYS* | MINGW* ) msys=true ;; NONSTOP* ) diff --git a/settings.gradle b/settings.gradle index 1cfe5c6..6099acd 100644 --- a/settings.gradle +++ b/settings.gradle @@ -2,13 +2,23 @@ pluginManagement { repositories { maven { 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() } plugins { - id "net.woggioni.gradle.lombok" version "0.1" 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') } } diff --git a/src/main/java9/module-info.java b/src/main/java9/module-info.java new file mode 100644 index 0000000..3324252 --- /dev/null +++ b/src/main/java9/module-info.java @@ -0,0 +1,3 @@ +module net.woggioni.jzstd { + exports net.woggioni.jzstd; +} \ No newline at end of file