Files
refinedstorage/build.gradle
2021-10-17 21:22:29 +02:00

197 lines
5.0 KiB
Groovy
Executable File

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"
}
}
}