buildscript { repositories { maven { url = 'https://maven.minecraftforge.net' } mavenCentral() } dependencies { classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '4.1.+', changing: true } } plugins { id 'info.solidsoft.pitest' version '1.5.1' } repositories { maven { url = "https://dvs1.progwml6.com/files/maven/" } maven { url "https://www.cursemaven.com" content { includeGroup "curse.maven" } } maven { url = "https://maven.theillusivec4.top/" } } apply plugin: 'net.minecraftforge.gradle' apply plugin: 'eclipse' apply plugin: 'maven-publish' apply plugin: 'info.solidsoft.pitest' pitest { junit5PluginVersion = "0.12" } version = '1.9.16' def env = System.getenv() if (env.BUILD_NUMBER) { version = version + "+" + "${env.BUILD_NUMBER}" } group = 'com.refinedmods' archivesBaseName = 'refinedstorage' java.toolchain.languageVersion = JavaLanguageVersion.of(8) minecraft { mappings channel: 'snapshot', version: '20210309-1.16.5' accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') runs { client { workingDirectory project.file('run') property 'forge.logging.markers', '' property 'forge.logging.console.level', 'debug' mods { refinedstorage { source sourceSets.main } } } intellijClient { parent runs.client ideaModule "${project.name}.main" environment 'MOD_CLASSES', "${project.file("out/production/resources").canonicalPath};${project.file("out/production/classes").canonicalPath}" } server { workingDirectory project.file('run') property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' property 'forge.logging.console.level', 'debug' mods { refinedstorage { source sourceSets.main } } } data { workingDirectory project.file('run') property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' property 'forge.logging.console.level', 'debug' args '--mod', 'refinedstorage', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources') mods { refinedstorage { source sourceSets.main } } } } } sourceSets { main.resources.srcDirs += 'src/generated/resources' } processResources { inputs.property 'version', project.version from(sourceSets.main.resources.srcDirs) { include 'META-INF/mods.toml' expand 'version': project.version } from(sourceSets.main.resources.srcDirs) { exclude 'META-INF/mods.toml' } } dependencies { minecraft 'net.minecraftforge:forge:1.16.5-36.1.31' compileOnly fg.deobf("mezz.jei:jei-1.16.5:7.7.0.106:api") runtimeOnly fg.deobf("mezz.jei:jei-1.16.5:7.7.0.106") compileOnly fg.deobf('curse.maven:mouse-tweaks-60089:3202662') compileOnly fg.deobf('curse.maven:crafting-tweaks-233071:3330406') runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.16.5-4.0.5.2") compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.16.5-4.0.5.2:api") testImplementation('org.junit.jupiter:junit-jupiter-api:5.6.2') testRuntime('org.junit.jupiter:junit-jupiter-engine:5.6.2') testCompile group: 'org.assertj', name: 'assertj-core', version: '3.16.1' } jar { manifest { attributes([ "Specification-Title" : "refinedstorage", "Specification-Vendor" : "refinedmods", "Specification-Version" : "1", "Implementation-Title" : project.name, "Implementation-Version" : "${version}", "Implementation-Vendor" : "refinedmods", "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") ]) } } jar.finalizedBy('reobfJar') task apiJar(type: Jar, dependsOn: 'classes') { classifier = 'api' from(sourceSets.main.output) { include 'com/refinedmods/refinedstorage/api/**' } } task sourcesJar(type: Jar, dependsOn: classes) { classifier = 'sources' from sourceSets.main.allSource } task deobfJar(type:Jar) { from sourceSets.main.output classifier 'deobf' } artifacts { archives jar archives sourcesJar archives deobfJar archives apiJar } test { useJUnitPlatform() } publishing { publications { mavenJava(MavenPublication) { groupId = project.group artifactId = project.archivesBaseName version = project.version artifact jar artifact sourcesJar artifact deobfJar artifact apiJar } } } publishing { repositories { maven { url "/var/www/repo" } } }