MatterLink/1.7.10/build.gradle

117 lines
3.6 KiB
Groovy
Raw Permalink Normal View History

2018-02-17 22:51:58 +00:00
buildscript {
repositories {
jcenter()
2018-07-11 21:29:02 +00:00
maven {
url = 'http://files.minecraftforge.net/maven'
}
2018-02-17 22:51:58 +00:00
mavenCentral()
2018-06-22 09:58:51 +00:00
maven {
2018-07-11 21:29:02 +00:00
url = 'https://plugins.gradle.org/m2/'
2018-06-22 09:58:51 +00:00
}
2018-02-17 22:51:58 +00:00
}
dependencies {
2018-07-11 21:29:02 +00:00
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '1.2-SNAPSHOT'
classpath group: 'gradle.plugin.com.matthewprenger', name: 'CurseGradle', version: cursegradle_version
2018-02-17 22:51:58 +00:00
}
}
apply plugin: 'forge'
2018-06-22 09:58:51 +00:00
apply plugin: 'com.matthewprenger.cursegradle'
2018-02-17 22:51:58 +00:00
2018-07-11 21:29:02 +00:00
version = project.mc_version + '-' + project.mod_version
2018-02-17 22:51:58 +00:00
archivesBaseName = project.mod_name
sourceCompatibility = targetCompatibility = '1.8'
configurations {
shade
compile.extendsFrom shade
}
dependencies {
2018-06-22 09:58:51 +00:00
shade project(':core')
2018-07-11 21:29:02 +00:00
shade project(':api')
shade project(':Jankson')
2018-02-17 22:51:58 +00:00
}
minecraft {
2018-07-11 21:29:02 +00:00
version = project.mc_version + '-' + project.forge_version + '-' + project.mc_version
runDir = 'run'
2018-02-17 22:51:58 +00:00
mappings = project.mcp_mappings
2018-07-11 21:29:02 +00:00
srgExtra 'PK: kotlin matterlink/repack/kotlin'
srgExtra 'PK: org/jetbrains/annotations matterlink/repack/org/jetbrains/annotations'
srgExtra 'PK: org/intellij matterlink/repack/org/intellij'
srgExtra 'PK: blue/endless matterlink/repack/blue/endless'
2018-02-17 22:51:58 +00:00
}
compileKotlin.doFirst {
2018-07-11 21:29:02 +00:00
def target = 'src/main/kotlin/matterlink/gen'
2018-02-17 22:51:58 +00:00
copy {
2018-07-11 21:29:02 +00:00
from('src/templates/kotlin/matterlink/Constants.kt')
2018-02-17 22:51:58 +00:00
into(target)
}
2018-02-18 23:19:13 +00:00
ant.replaceregexp(match: '@MODVERSION@', replace: project.mod_version, flags: 'g', byline: true) {
2018-02-17 22:51:58 +00:00
fileset(dir: target, includes: 'Constants.kt')
}
2018-02-18 23:19:13 +00:00
ant.replaceregexp(match: '@MCVERSION@', replace: project.mc_version, flags: 'g', byline: true) {
2018-02-17 22:51:58 +00:00
fileset(dir: target, includes: 'Constants.kt')
}
2018-02-18 23:19:13 +00:00
ant.replaceregexp(match: '@FORGELIN-VERSION@', replace: project.forgelin_version, flags: 'g', byline: true) {
2018-02-17 22:51:58 +00:00
fileset(dir: target, includes: 'Constants.kt')
}
2018-02-18 23:19:13 +00:00
ant.replaceregexp(match: '@FORGE-VERSION@', replace: project.forge_version, flags: 'g', byline: true) {
2018-02-17 22:51:58 +00:00
fileset(dir: target, includes: 'Constants.kt')
}
2018-07-15 15:18:06 +00:00
ant.replaceregexp(match: '@BUILD_NUMBER@', replace: System.env.BUILD_NUMBER ?: -1, flags: 'g', byline: true) {
fileset(dir: target, includes: 'Constants.kt')
}
2018-02-17 22:51:58 +00:00
}
processResources {
// this will ensure that this task is redone when the versions change.
2018-07-11 21:29:02 +00:00
inputs.property 'version', project.mod_version
inputs.property 'mcversion', project.minecraft.version
2018-02-17 22:51:58 +00:00
// replace stuff in mcmod.info, nothing else
2018-07-11 21:29:02 +00:00
from(project(':core').sourceSets.main.resources.srcDirs) {
2018-02-17 22:51:58 +00:00
include 'mcmod.info'
// replace version and mcversion
expand 'version': project.mod_version, 'mcversion': project.minecraft.version
}
// copy everything else except the mcmod.info
2018-07-11 21:29:02 +00:00
from(project(':core').sourceSets.main.resources.srcDirs) {
2018-02-17 22:51:58 +00:00
exclude 'mcmod.info'
}
}
jar {
configurations.shade.each { dep ->
2018-02-18 23:19:13 +00:00
from(project.zipTree(dep)) {
2018-07-11 21:29:02 +00:00
exclude 'META-INF', 'META-INF/**'
exclude 'com/google/gson', 'com/google/gson/**'
2018-02-17 22:51:58 +00:00
}
}
}
curseforge {
if (project.hasProperty('CURSEFORGE_API_TOKEN') && project.hasProperty('release')) {
apiKey = CURSEFORGE_API_TOKEN
}
project {
2018-02-19 20:06:08 +00:00
id = project.curse_id
releaseType = project.curse_release_type
if (project.hasProperty('changelog_file')) {
println("changelog = $changelog_file")
2018-07-11 21:29:02 +00:00
changelogType = 'markdown'
changelog = file(changelog_file)
}
mainArtifact(jar) {
displayName = "MatterLink $version"
}
}
2018-02-17 22:51:58 +00:00
}