mirror of
https://github.com/Jozufozu/Flywheel.git
synced 2024-12-27 07:26:48 +01:00
167 lines
4.8 KiB
Groovy
167 lines
4.8 KiB
Groovy
buildscript {
|
|
repositories {
|
|
maven { url = 'https://files.minecraftforge.net/maven' }
|
|
jcenter()
|
|
mavenCentral()
|
|
maven { url='https://repo.spongepowered.org/repository/maven-public/' }
|
|
}
|
|
dependencies {
|
|
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
|
|
classpath group: 'org.spongepowered', name: 'mixingradle', version: '0.7-SNAPSHOT'
|
|
}
|
|
}
|
|
plugins {
|
|
id 'com.github.johnrengelman.shadow' version '5.2.0'
|
|
id 'com.matthewprenger.cursegradle' version '1.4.0'
|
|
}
|
|
|
|
apply plugin: 'net.minecraftforge.gradle'
|
|
apply plugin: 'maven-publish'
|
|
apply plugin: 'org.spongepowered.mixin'
|
|
|
|
boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equalsIgnoreCase('false');
|
|
|
|
ext.buildnumber = 0
|
|
project.buildnumber = System.getenv('BUILD_NUMBER') != null ? System.getenv('BUILD_NUMBER') : "custom"
|
|
|
|
version = "${mc_update_version}-${mod_version}" + (dev ? ".${buildnumber}" : '')
|
|
group = 'com.jozufozu.flywheel'
|
|
archivesBaseName = 'flywheel'
|
|
|
|
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8'
|
|
|
|
minecraft {
|
|
mappings channel: 'snapshot', version: "${mcp_mappings}"
|
|
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
|
|
|
|
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'
|
|
|
|
arg "-mixin.config=flywheel.mixins.json"
|
|
|
|
mods {
|
|
flywheel {
|
|
source sourceSets.main
|
|
}
|
|
}
|
|
}
|
|
|
|
server {
|
|
workingDirectory project.file('run')
|
|
|
|
property 'forge.logging.markers', 'REGISTRIES'
|
|
property 'forge.logging.console.level', 'debug'
|
|
|
|
arg "-mixin.config=flywheel.mixins.json"
|
|
|
|
mods {
|
|
flywheel {
|
|
source sourceSets.main
|
|
}
|
|
}
|
|
}
|
|
|
|
data {
|
|
workingDirectory project.file('run')
|
|
|
|
property 'forge.logging.markers', 'REGISTRIES'
|
|
property 'forge.logging.console.level', 'debug'
|
|
|
|
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
|
|
args '--mod', 'flywheel', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
|
|
|
|
mods {
|
|
flywheel {
|
|
source sourceSets.main
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
mixin {
|
|
add sourceSets.main, "flywheel.refmap.json"
|
|
}
|
|
|
|
// Include resources generated by data generators.
|
|
sourceSets.main.resources { srcDir 'src/generated/resources' }
|
|
|
|
repositories {
|
|
maven {
|
|
name "tterrag maven"
|
|
url "https://maven.tterrag.com/"
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
|
|
|
|
annotationProcessor 'org.spongepowered:mixin:0.8.2:processor'
|
|
}
|
|
|
|
// Example for how to get properties into the manifest for reading by the runtime..
|
|
jar {
|
|
manifest {
|
|
attributes([
|
|
"Specification-Title" : "flywheel",
|
|
//"Specification-Vendor": "flywheel authors",
|
|
"Specification-Version" : "1", // We are version 1 of ourselves
|
|
"Implementation-Title" : project.name,
|
|
"Implementation-Version" : project.version,
|
|
//"Implementation-Vendor": "flywheel authors",
|
|
"MixinConfigs" : "flywheel.mixins.json",
|
|
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
|
|
])
|
|
}
|
|
}
|
|
|
|
jar.finalizedBy('reobfJar')
|
|
|
|
task sourcesJar(type: Jar) {
|
|
from sourceSets.main.allSource
|
|
archiveBaseName.set(project.archivesBaseName)
|
|
archiveVersion.set("${project.version}")
|
|
archiveClassifier.set('sources')
|
|
}
|
|
|
|
artifacts {
|
|
archives jar, sourcesJar
|
|
}
|
|
|
|
publishing {
|
|
tasks.publish.dependsOn 'build'
|
|
publications {
|
|
mavenJava(MavenPublication) {
|
|
artifact jar
|
|
artifact sourcesJar
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
if (project.hasProperty('mavendir')) {
|
|
maven { url mavendir }
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.curseforge.enabled = !dev && project.hasProperty('jozu_curseforge_key')
|
|
|
|
curseforge {
|
|
if (project.hasProperty('jozu_curseforge_key')) {
|
|
apiKey = project.jozu_curseforge_key
|
|
}
|
|
|
|
project {
|
|
id = project.projectId
|
|
changelog = file('changelog.txt')
|
|
releaseType = project.curse_type
|
|
mainArtifact jar
|
|
addArtifact sourcesJar
|
|
}
|
|
}
|