plugins { id 'java' } repositories { mavenLocal() maven { url = 'https://repo.runelite.net' content { includeGroupByRegex("net\\.runelite.*") } } mavenCentral() } def runeLiteVersion = 'latest.release' dependencies { compileOnly group: 'net.runelite', name:'client', version: runeLiteVersion compileOnly 'org.projectlombok:lombok:1.18.30' annotationProcessor 'org.projectlombok:lombok:1.18.30' testImplementation 'junit:junit:4.12' testImplementation group: 'net.runelite', name:'client', version: runeLiteVersion testImplementation group: 'net.runelite', name:'jshell', version: runeLiteVersion } group = '${group_id}' version = '${version}' tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' options.release.set(11) } tasks.register('shadowJar', Jar) { dependsOn configurations.testRuntimeClasspath manifest { attributes('Main-Class': '${package}.${plugin_prefix}PluginTest', 'Multi-Release': true) } duplicatesStrategy = DuplicatesStrategy.EXCLUDE from sourceSets.main.output from sourceSets.test.output from { configurations.testRuntimeClasspath.collect { file -> file.isDirectory() ? file : zipTree(file) } } exclude 'META-INF/INDEX.LIST' exclude 'META-INF/*.SF' exclude 'META-INF/*.DSA' exclude 'META-INF/*.RSA' exclude '**/module-info.class' group = BasePlugin.BUILD_GROUP archiveClassifier.set('shadow') archiveFileName.set("$${rootProject.name}-$${project.version}-all.jar") }