|
1 | 1 | import com.github.stickerifier.stickerify.JlinkJavaLauncher |
2 | 2 | import com.github.stickerifier.stickerify.JlinkTask |
| 3 | +import org.apache.tools.ant.taskdefs.condition.Os |
3 | 4 |
|
4 | 5 | plugins { |
5 | 6 | id('java') |
@@ -31,12 +32,12 @@ version = '2.0' |
31 | 32 | description = 'Telegram bot to convert medias in the format required to be used as Telegram stickers' |
32 | 33 |
|
33 | 34 | java.toolchain { |
34 | | - languageVersion = JavaLanguageVersion.of(24) |
| 35 | + languageVersion = JavaLanguageVersion.of(25) |
35 | 36 | vendor = JvmVendorSpec.ADOPTIUM |
36 | 37 | } |
37 | 38 |
|
38 | 39 | updateDaemonJvm { |
39 | | - languageVersion = JavaLanguageVersion.of(24) |
| 40 | + languageVersion = JavaLanguageVersion.of(25) |
40 | 41 | vendor = JvmVendorSpec.ADOPTIUM |
41 | 42 | } |
42 | 43 |
|
@@ -84,8 +85,25 @@ jacocoTestReport { |
84 | 85 | } |
85 | 86 | } |
86 | 87 |
|
| 88 | +def generateCohArchive = tasks.register('generateCohArchive', JavaExec) { |
| 89 | + inputs.dir(jlink.map { it.outputDirectory.get().asFile }) |
| 90 | + def dir = Os.isFamily(Os.FAMILY_WINDOWS) ? 'bin' : 'lib' |
| 91 | + outputs.file(jlink.map { it.outputDirectory.file("$dir/server/classes_coh.jsa").get().asFile }) |
| 92 | + |
| 93 | + javaLauncher = providers.provider { new JlinkJavaLauncher(jlink.get()) } |
| 94 | + jvmArgs('-XX:+UseCompactObjectHeaders', '-Xshare:dump') |
| 95 | + mainClass = '' // needed to use JavaExec task |
| 96 | +} |
| 97 | + |
| 98 | +jlink.configure { |
| 99 | + finalizedBy(generateCohArchive) |
| 100 | +} |
| 101 | + |
| 102 | +installDist.mustRunAfter(generateCohArchive) |
| 103 | + |
87 | 104 | application { |
88 | 105 | mainClass = 'com.github.stickerifier.stickerify.runner.Main' |
| 106 | + applicationDefaultJvmArgs = ['-XX:+UseCompactObjectHeaders', '-XX:+UseShenandoahGC', '-XX:ShenandoahGCMode=generational'] |
89 | 107 | } |
90 | 108 |
|
91 | 109 | distributions { |
|
0 commit comments