plugins { id 'java' id 'java-library' id 'maven-publish' id 'java-gradle-plugin' } group = 'de.geolykt.starloader' base { archivesName = 'gsl-starplane' } def baseVersion = '0.2.4' java.targetCompatibility = compileJava.targetCompatibility = '11' // VF is Java 11+ - so we have little other choices for the time being java.sourceCompatibility = compileJava.sourceCompatibility = '11' repositories { mavenLocal() maven { name = 'stianloader-maven' url = 'https://stianloader.org/maven/' } mavenCentral() } dependencies { // https://mvnrepository.com/artifact/de.geolykt.starloader/sl-deobf implementation "de.geolykt.starloader:sl-deobf:0.2.0" // https://mvnrepository.com/artifact/de.geolykt.starloader/reversible-access-setter implementation "de.geolykt.starloader:reversible-access-setter:1.1.0" implementation gradleApi() implementation "org.ow2.asm:asm:9.9.1" implementation "org.ow2.asm:asm-tree:9.9.1" implementation "org.ow2.asm:asm-util:9.9.1" implementation "org.ow2.asm:asm-commons:9.9.1" // https://mvnrepository.com/artifact/org.json/json implementation 'org.json:json:20250517' // https://mvnrepository.com/artifact/org.vineflower/vineflower implementation 'org.vineflower:vineflower:1.11.2' // https://mvnrepository.com/artifact/net.fabricmc/mapping-io implementation 'net.fabricmc:mapping-io:0.8.0' implementation 'org.stianloader:softmap:0.1.0-a20240329' // https://mvnrepository.com/artifact/org.jetbrains/annotations compileOnly "org.jetbrains:annotations:26.0.2-1" implementation 'org.stianloader:stianloader-remapper:0.2.0-a20251220' implementation 'org.stianloader:micromixin-remapper:0.2.2-a20251218' // https://mvnrepository.com/artifact/org.tukaani/xz implementation 'org.tukaani:xz:1.11' // https://mvnrepository.com/artifact/org.glavo.kala/kala-compress-archivers-tar implementation 'org.glavo.kala:kala-compress-archivers-tar:1.27.1-1' } gradlePlugin { // Define the plugin plugins { gslStarplanePlugin { id = base.archivesName.get() version = baseVersion implementationClass = 'de.geolykt.starloader.gslstarplane.GslStarplanePlugin' } } } task sourcesJar(type: Jar, dependsOn: classes) { archiveClassifier = 'sources' from sourceSets.main.allSource } task javadocJar(type: Jar, dependsOn: javadoc) { archiveClassifier = 'javadoc' from javadoc.destinationDir } publishing { publications { mavenJava(MavenPublication) { groupId = project.group artifactId = base.archivesName.get() version = baseVersion from components['java'] artifact sourcesJar //artifact javadocJar } } repositories { if (System.getProperty('publishRepo') != null) { maven { url System.getProperty('publishRepo') allowInsecureProtocol = true } } else { mavenLocal() } } }