@@ -3,7 +3,6 @@ plugins {
33 id ' com.matthewprenger.cursegradle' version ' 1.4.0'
44 id ' com.github.kt3k.coveralls' version ' 2.12.0'
55 id ' com.diffplug.spotless' version ' 6.25.0'
6- id ' com.github.johnrengelman.shadow' version ' 8.1.1'
76 id ' com.modrinth.minotaur' version ' 2.+'
87}
98
@@ -106,11 +105,26 @@ dependencies {
106105 }
107106
108107 modLib " org.graalvm.sdk:graal-sdk:${ project.graal_version} "
109- shadow " org.graalvm.sdk:graal-sdk:${ project.graal_version} "
110108 modLib (" org.graalvm.js:js:${ project.graal_version} " ) {
111109 exclude group : ' com.ibm.icu' , module : ' icu4j'
112110 }
113- shadow " org.graalvm.js:js:${ project.graal_version} "
111+ // Every time the graal_version is changed, determine the list of deps to include in the jarJar by inspecting ./gradlew dependencies.
112+ jarJar(group : ' org.graalvm.sdk' , name : ' graal-sdk' , version : " [${ project.graal_version} ]" )
113+ jarJar(group : ' org.graalvm.sdk' , name : ' collections' , version : " [${ project.graal_version} ]" )
114+ jarJar(group : ' org.graalvm.sdk' , name : ' nativeimage' , version : " [${ project.graal_version} ]" )
115+ jarJar(group : ' org.graalvm.sdk' , name : ' word' , version : " [${ project.graal_version} ]" )
116+ jarJar(group : ' org.graalvm.polyglot' , name : ' polyglot' , version : " [${ project.graal_version} ]" )
117+ // jarJar(group: 'org.graalvm.js', name: 'js', version: "[${project.graal_version}]")
118+ // jarJar(group: 'org.graalvm.js', name: 'js-community', version: "[${project.graal_version}]")
119+ jarJar(group : ' org.graalvm.js' , name : ' js-language' , version : " [${ project.graal_version} ]" )
120+ jarJar(group : ' org.graalvm.regex' , name : ' regex' , version : " [${ project.graal_version} ]" )
121+ jarJar(group : ' org.graalvm.truffle' , name : ' truffle-api' , version : " [${ project.graal_version} ]" )
122+ jarJar(group : ' org.graalvm.shadowed' , name : ' icu4j' , version : " [${ project.graal_version} ]" )
123+ jarJar(group : ' org.graalvm.truffle' , name : ' truffle-runtime' , version : " [${ project.graal_version} ]" )
124+ jarJar(group : ' org.graalvm.sdk' , name : ' jniutils' , version : " [${ project.graal_version} ]" )
125+ jarJar(group : ' org.graalvm.truffle' , name : ' truffle-compiler' , version : " [${ project.graal_version} ]" )
126+ jarJar(group : ' org.graalvm.truffle' , name : ' truffle-enterprise' , version : " [${ project.graal_version} ]" )
127+ jarJar(group : ' org.graalvm.sdk' , name : ' nativebridge' , version : " [${ project.graal_version} ]" )
114128
115129
116130 // Project lombok
@@ -235,28 +249,16 @@ task javadocJar(type: Jar, dependsOn: javadoc) {
235249 from javadoc. destinationDir
236250}
237251
238- shadowJar {
239- mergeServiceFiles() // To fix graal issue: https://github.com/oracle/graaljs/issues/125
240- configurations = [project. configurations. shadow]
241- archiveClassifier. set(' ' ); // Replace the default JAR
242- // To avoid clashes with other mods
243- relocate ' org.graalvm' , ' org.cyclops.integratedscripting.vendors.org.graalvm'
244- relocate ' com.ibm' , ' org.cyclops.integratedscripting.vendors.com.ibm'
245- // Relocate everything from com.oracle, except for com.oracle.truffle, as this is defined in a native lib, which can not be relocated
246- // relocate 'com.oracle', 'org.cyclops.integratedscripting.vendors.com.oracle'
247- relocate ' com.oracle.js' , ' org.cyclops.integratedscripting.vendors.com.oracle.js'
248- relocate ' com.oracle.svm' , ' org.cyclops.integratedscripting.vendors.com.oracle.svm'
249- // relocate 'com.oracle.truffle', 'org.cyclops.integratedscripting.vendors.com.oracle.truffle' // Relocation of this fails for com.oracle.truffle.runtime.ModulesSupport at runtime
250- finalizedBy ' reobfShadowJar'
251- }
252-
253- assemble. dependsOn shadowJar
254- reobf {
255- shadowJar {} // Reobfuscate the shadowed JAR
252+ jarJar. enable()
253+ reobf. create(' jarJar' )
254+ tasks. jarJar. configure {
255+ archiveClassifier. set(' ' );
256+ finalizedBy(' reobfJarJar' )
256257}
258+ build. dependsOn tasks. jarJar
257259
258260artifacts {
259- archives shadowJar
261+ archives tasks . jarJar
260262 archives deobfJar
261263 archives sourcesJar
262264 archives javadocJar
@@ -273,7 +275,7 @@ curseforge {
273275 id = " 889785" // my project url is http://minecraft.curseforge.com/mc-mods/889785/
274276 releaseType = project. project. release_type
275277 addGameVersion project. minecraft_version
276- mainArtifact(shadowJar ) {
278+ mainArtifact(tasks . jarJar ) {
277279 relations {
278280 requiredDependency ' cyclops-core'
279281 requiredDependency ' integrated-dynamics'
@@ -302,7 +304,7 @@ modrinth {
302304 projectId = " uDJkuFRe"
303305 versionNumber = project. minecraft_version + ' -' + project. mod_version
304306 versionType = project. release_type
305- uploadFile = shadowJar
307+ uploadFile = tasks . jarJar
306308 gameVersions = [ project. minecraft_version ]
307309 changelog = " "
308310 if (new File (" resources/changelog/${ project.version} .txt" ). exists()) {
@@ -341,7 +343,7 @@ publishing {
341343
342344 publications { PublicationContainer publicationContainer ->
343345 publicationContainer. register(" maven" , MavenPublication ) { MavenPublication publication ->
344- publication. artifacts = [shadowJar , javadocJar, deobfJar, sourcesJar]
346+ publication. artifacts = [tasks . jarJar , javadocJar, deobfJar, sourcesJar]
345347 publication. artifactId = project. archivesBaseName. toLowerCase() // GH can't handle uppercase...
346348 }
347349 }
0 commit comments