MatterLink/1.7.10/build.gradle

110 lines
3.2 KiB
Groovy

buildscript {
repositories {
jcenter()
maven { url = "http://files.minecraftforge.net/maven" }
mavenCentral()
}
dependencies {
classpath "net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT"
}
}
plugins {
id 'com.matthewprenger.cursegradle' version '1.0.10'
}
apply plugin: 'forge'
version = project.mc_version + "-" + project.mod_version
archivesBaseName = project.mod_name
sourceCompatibility = targetCompatibility = '1.8'
configurations {
shade
compile.extendsFrom shade
}
dependencies {
shade project(":core")
}
minecraft {
version = project.mc_version + "-" + project.forge_version + "-" + project.mc_version
runDir = "run"
mappings = project.mcp_mappings
srgExtra "PK: kotlin matterlink/repack/kotlin"
srgExtra "PK: org/jetbrains/annotations matterlink/repack/org/jetbrains/annotations"
srgExtra "PK: com/google/gson matterlink/repack/com/google/gson"
srgExtra "PK: org/apache/http matterlink/repack/org/apache/http"
srgExtra "PK: org/intelij matterlink/repack/org/intelij"
}
compileKotlin.doFirst {
def target = "src/main/kotlin/matterlink/gen"
copy {
from("src/templates/kotlin/matterlink/Constants.kt")
into(target)
}
ant.replaceregexp(match: '@MODVERSION@', replace: project.mod_version, flags: 'g', byline: true) {
fileset(dir: target, includes: 'Constants.kt')
}
ant.replaceregexp(match: '@MCVERSION@', replace: project.mc_version, flags: 'g', byline: true) {
fileset(dir: target, includes: 'Constants.kt')
}
ant.replaceregexp(match: '@FORGELIN-VERSION@', replace: project.forgelin_version, flags: 'g', byline: true) {
fileset(dir: target, includes: 'Constants.kt')
}
ant.replaceregexp(match: '@FORGE-VERSION@', replace: project.forge_version, flags: 'g', byline: true) {
fileset(dir: target, includes: 'Constants.kt')
}
}
processResources {
// this will ensure that this task is redone when the versions change.
inputs.property "version", project.mod_version
inputs.property "mcversion", project.minecraft.version
// replace stuff in mcmod.info, nothing else
from(project(":core").sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
// replace version and mcversion
expand 'version': project.mod_version, 'mcversion': project.minecraft.version
}
// copy everything else except the mcmod.info
from(project(":core").sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
jar {
configurations.shade.each { dep ->
from(project.zipTree(dep)) {
exclude "META-INF", "META-INF/**"
}
}
}
curseforge {
if (project.hasProperty('CURSEFORGE_API_TOKEN') && project.hasProperty('release')) {
apiKey = CURSEFORGE_API_TOKEN
}
project {
id = project.curse_id
releaseType = project.curse_release_type
if (project.hasProperty('changelog_file')) {
println("changelog = $changelog_file")
changelogType = "markdown"
changelog = file(changelog_file)
}
relations { }
mainArtifact(jar) {
displayName = "MatterLink $version"
}
}
}