Files
oc2r/build.gradle
Florian Nücke 8a7aabfdad Using sedna-buildroot as source for binaries now.
Moved configs to buildroot repo.
2020-09-28 13:22:46 +02:00

181 lines
4.6 KiB
Groovy

buildscript {
repositories {
maven { url = 'https://files.minecraftforge.net/maven' }
jcenter()
mavenCentral()
}
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
}
}
plugins {
id 'eclipse'
id 'maven-publish'
id 'application'
}
apply plugin: 'net.minecraftforge.gradle'
def getGitRef() {
try {
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-parse', '--short', 'HEAD'
standardOutput = stdout
}
return stdout.toString().trim()
} catch (Throwable ignored) {
return "unknown"
}
}
String semver = "${version_major}.${version_minor}.${version_patch}"
String build_number = System.getenv("PROMOTED_NUMBER");
if (build_number == null)
build_number = System.getenv("BUILD_NUMBER")
if (build_number == null)
build_number = getGitRef()
version = "${semver}+${build_number}"
group = mod_group
archivesBaseName = "${mod_name}-MC${minecraft_version}"
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8
compileJava {
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8
}
repositories {
maven { url "http://dvs1.progwml6.com/files/maven" } // JEI
maven { url "http://maven.cil.li/" } // Sedna
}
dependencies {
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
compile 'li.cil.sedna:sedna:0.0.1+'
compile 'li.cil.sedna:sedna-buildroot:0.0.1+'
compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}:api")
runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}")
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.1'
}
processResources {
from(sourceSets.main.resources.srcDirs) {
include 'META-INF/mods.toml'
expand([
'mod_id' : mod_id,
'mod_version' : version,
'mod_name' : mod_name,
'mod_url' : mod_url,
'mod_issues_url' : mod_issues_url,
'forge_version_min' : forge_version_min,
'minecraft_version_min' : minecraft_version_min
])
}
}
minecraft {
mappings channel: mappings_channel, version: mappings_version
runs {
client {
workingDirectory project.file('run')
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
property 'forge.logging.console.level', 'warn'
mods {
examplemod {
source sourceSets.main
}
}
}
server {
workingDirectory project.file('run')
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
property 'forge.logging.console.level', 'warn'
mods {
examplemod {
source sourceSets.main
}
}
}
data {
workingDirectory project.file('run')
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
property 'forge.logging.console.level', 'warn'
args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/')
mods {
examplemod {
source sourceSets.main
}
}
}
}
}
jar {
manifest {
attributes([
"Specification-Title" : "oc2",
"Specification-Vendor" : "Sangar",
"Specification-Version" : "1",
"Implementation-Title" : project.name,
"Implementation-Version" : "${semver}",
"Implementation-Vendor" : "Sangar",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
}
jar.finalizedBy('reobfJar')
task apiJar(type: Jar) {
from sourceSets.main.allSource
from sourceSets.main.output
classifier = 'api'
include 'li/cil/oc2/api/**'
}
task javadocJar(type: Jar, dependsOn: javadoc) {
from javadoc.destinationDir
classifier 'javadoc'
}
artifacts {
archives javadocJar
archives apiJar
}
publishing {
publications {
mavenJava(MavenPublication) {
artifact jar
artifact javadocJar
artifact apiJar
}
}
repositories {
maven {
url System.getenv("MAVEN_PATH")
}
}
}
test {
useJUnitPlatform()
}