diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a9aa41c..52e7a53 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,23 +1,30 @@ name: Java CI -on: [push, pull_request] +on: + push: + branches: [ main ] + pull_request: {} jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 + - uses: actions/checkout@v5 + + - uses: actions/setup-java@v5 with: - java-version: 1.8 - - name: Grant execute permission - run: chmod +x gradlew + java-version: 17 + distribution: zulu + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + - name: Build with Gradle run: ./gradlew -Pversion="" build + - name: Upload artifacts - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: name: Jars path: build/libs/ diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 5c49758..0000000 --- a/build.gradle +++ /dev/null @@ -1,76 +0,0 @@ -plugins { - id 'java' - id "me.champeau.jmh" version "0.7.3" - id 'com.github.johnrengelman.shadow' version '8.1.1' -} - -repositories { - mavenCentral() -} - -build.dependsOn shadowJar - -version = "1.6.0" -group = "me.towdium.pinin" - -shadowJar { - exclude 'it/unimi/dsi/fastutil/shorts/**' - exclude 'it/unimi/dsi/fastutil/longs/**' - exclude 'it/unimi/dsi/fastutil/floats/**' - exclude 'it/unimi/dsi/fastutil/doubles/**' - exclude 'it/unimi/dsi/fastutil/bytes/**' - exclude 'it/unimi/dsi/fastutil/booleans/**' - exclude 'it/unimi/dsi/fastutil/ints/*Map*' - exclude 'it/unimi/dsi/fastutil/objects/*2Short*Map*' - exclude 'it/unimi/dsi/fastutil/objects/*2Reference*Map*' - exclude 'it/unimi/dsi/fastutil/objects/*2Long*Map*' - exclude 'it/unimi/dsi/fastutil/objects/*2Int*Map*' - exclude 'it/unimi/dsi/fastutil/objects/*2Float*Map*' - exclude 'it/unimi/dsi/fastutil/objects/*2Double*Map*' - exclude 'it/unimi/dsi/fastutil/objects/*2Char*Map*' - exclude 'it/unimi/dsi/fastutil/objects/*2Byte*Map*' - exclude 'it/unimi/dsi/fastutil/objects/*2Boolean*Map*' - exclude 'it/unimi/dsi/fastutil/chars/*2Short*Map*' - exclude 'it/unimi/dsi/fastutil/chars/*2Reference*Map*' - exclude 'it/unimi/dsi/fastutil/chars/*2Long*Map*' - exclude 'it/unimi/dsi/fastutil/chars/*2Int*Map*' - exclude 'it/unimi/dsi/fastutil/chars/*2Float*Map*' - exclude 'it/unimi/dsi/fastutil/chars/*2Double*Map*' - exclude 'it/unimi/dsi/fastutil/chars/*2Char*Map*' - exclude 'it/unimi/dsi/fastutil/chars/*2Byte*Map*' - exclude 'it/unimi/dsi/fastutil/chars/*2Boolean*Map*' - relocate 'it.unimi.dsi.fastutil', 'me.towdium.pinin.fastutil' -} - -test { - useJUnitPlatform() - dependsOn cleanTest - testLogging.showStandardStreams = true -} - -tasks.withType(JavaCompile).configureEach { - options.encoding = "UTF-8" -} - -dependencies { - implementation 'it.unimi.dsi:fastutil:8.3.0' - testImplementation 'org.junit.jupiter:junit-jupiter:5.7.1' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' - testImplementation 'org.openjdk.jol:jol-core:0.17' - jmhImplementation 'org.openjdk.jmh:jmh-generator-annprocess:1.37' - jmhAnnotationProcessor 'org.openjdk.jmh:jmh-generator-annprocess:1.37' -} - -jmh { - resultFormat = 'JSON' -} - -tasks.compileJmhJava { - sourceCompatibility = '1.8' - targetCompatibility = '1.8' -} - -compileJava { - sourceCompatibility = '1.8' - targetCompatibility = '1.8' -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..383ee7b --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,73 @@ +plugins { + java + id("me.champeau.jmh") version "0.7.3" + id("com.gradleup.shadow") version "9.2.0" +} + +group = "me.towdium.pinin" +version = "1.6.0" + +repositories { + mavenCentral() +} + +tasks.build { + dependsOn(tasks.shadowJar) +} + +tasks.shadowJar { + exclude("it/unimi/dsi/fastutil/shorts/**") + exclude("it/unimi/dsi/fastutil/longs/**") + exclude("it/unimi/dsi/fastutil/floats/**") + exclude("it/unimi/dsi/fastutil/doubles/**") + exclude("it/unimi/dsi/fastutil/bytes/**") + exclude("it/unimi/dsi/fastutil/booleans/**") + exclude("it/unimi/dsi/fastutil/ints/*Map*") + exclude("it/unimi/dsi/fastutil/objects/*2Short*Map*") + exclude("it/unimi/dsi/fastutil/objects/*2Reference*Map*") + exclude("it/unimi/dsi/fastutil/objects/*2Long*Map*") + exclude("it/unimi/dsi/fastutil/objects/*2Int*Map*") + exclude("it/unimi/dsi/fastutil/objects/*2Float*Map*") + exclude("it/unimi/dsi/fastutil/objects/*2Double*Map*") + exclude("it/unimi/dsi/fastutil/objects/*2Char*Map*") + exclude("it/unimi/dsi/fastutil/objects/*2Byte*Map*") + exclude("it/unimi/dsi/fastutil/objects/*2Boolean*Map*") + exclude("it/unimi/dsi/fastutil/chars/*2Short*Map*") + exclude("it/unimi/dsi/fastutil/chars/*2Reference*Map*") + exclude("it/unimi/dsi/fastutil/chars/*2Long*Map*") + exclude("it/unimi/dsi/fastutil/chars/*2Int*Map*") + exclude("it/unimi/dsi/fastutil/chars/*2Float*Map*") + exclude("it/unimi/dsi/fastutil/chars/*2Double*Map*") + exclude("it/unimi/dsi/fastutil/chars/*2Char*Map*") + exclude("it/unimi/dsi/fastutil/chars/*2Byte*Map*") + exclude("it/unimi/dsi/fastutil/chars/*2Boolean*Map*") + relocate("it.unimi.dsi.fastutil", "me.towdium.pinin.fastutil") +} + +jmh { + resultFormat = "JSON" +} + +tasks.test { + useJUnitPlatform() + testLogging.showStandardStreams = true +} + +tasks.withType { + options.encoding = "UTF-8" + options.release = 8 +} + +dependencies { + implementation("it.unimi.dsi:fastutil:8.3.0") + testImplementation("org.junit.jupiter:junit-jupiter:5.7.1") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") + testImplementation("org.openjdk.jol:jol-core:0.17") + jmhImplementation("org.openjdk.jmh:jmh-generator-annprocess:1.37") + jmhAnnotationProcessor("org.openjdk.jmh:jmh-generator-annprocess:1.37") +} + +java { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +} diff --git a/src/test/java/me/towdium/pinin/CharLayoutTest.java b/src/test/java/me/towdium/pinin/CharLayoutTest.java index 960fb37..7e4e27b 100644 --- a/src/test/java/me/towdium/pinin/CharLayoutTest.java +++ b/src/test/java/me/towdium/pinin/CharLayoutTest.java @@ -11,10 +11,10 @@ public class CharLayoutTest { @Test public void layout() { - var intBased = ClassLayout.parseClass(CharInt.class); + ClassLayout intBased = ClassLayout.parseClass(CharInt.class); System.out.println(intBased.toPrintable()); - var charBased = ClassLayout.parseClass(CharChar.class); + ClassLayout charBased = ClassLayout.parseClass(CharChar.class); System.out.println(charBased.toPrintable()); Assertions.assertEquals(intBased.instanceSize(), charBased.instanceSize());