plugins { id 'java' id 'maven-publish' id 'java-gradle-plugin' id 'idea' id 'eclipse' id 'groovy' id 'checkstyle' } sourceCompatibility = 1.8 targetCompatibility = 1.8 group = 'net.fabricmc' archivesBaseName = project.name version = '0.2.6-SNAPSHOT' def build = "local" def ENV = System.getenv() if (ENV.BUILD_NUMBER) { build = "jenkins #${ENV.BUILD_NUMBER}" } repositories { mavenCentral() maven { name = "Fabric" url = 'https://maven.fabricmc.net/' } } dependencies { implementation gradleApi() // libraries implementation ('commons-io:commons-io:2.6') implementation ('org.zeroturnaround:zt-zip:1.13') implementation ('com.google.code.gson:gson:2.8.5') implementation ('com.google.guava:guava:28.0-jre') // game handling utils implementation ('net.fabricmc:stitch:0.2.1.60') { exclude module: 'enigma' } // tinyfile management implementation ('net.fabricmc:tiny-remapper:0.1.0.38') { transitive = false } implementation ('net.fabricmc:fabric-mixin-compile-extensions:0.1.0.+') // decompilers implementation ('net.fabricmc:procyon-fabric-compilertools:0.5.35.+') implementation ('org.jetbrains:intellij-fernflower:1.0.0.9') // source code remapping implementation ('org.cadixdev:mercury:0.1.0.fabric-SNAPSHOT') // Testing testImplementation(gradleTestKit()) testImplementation("org.spockframework:spock-core:1.3-groovy-2.4") } configurations.all { resolutionStrategy { force 'org.codehaus.groovy:groovy-all:2.4.12' } } jar { manifest { attributes 'Implementation-Version': version + " Build(" + build + ")" } } task sourcesJar(type: Jar, dependsOn: classes) { classifier = 'sources' from sourceSets.main.allSource } task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir } apply from: 'https://github.com/FabricMC/fabric-docs/raw/master/gradle/license.gradle' license { exclude '**/loom/util/DownloadUtil.java' } checkstyle { configFile = file("checkstyle.xml") toolVersion = '8.25' } checkstyleMain { logging.setLevel(LogLevel.LIFECYCLE) } gradlePlugin { plugins { fabricLoom { id = "fabric-loom" implementationClass = "net.fabricmc.loom.LoomGradlePlugin" } } } publishing { publications { plugin(MavenPublication) { publication -> groupId project.group artifactId project.archivesBaseName version project.version from components["java"] artifact sourcesJar artifact javadocJar } } repositories { maven { url "http://mavenupload.modmuss50.me/" if (project.hasProperty('mavenPass')) { credentials { username 'buildslave' password project.getProperty('mavenPass') } } } } }