fabric-loom/build.gradle
2018-10-27 18:20:29 +02:00

121 lines
2.7 KiB
Groovy

plugins {
id 'java'
id 'groovy'
id 'maven'
id 'maven-publish'
id 'idea'
id 'eclipse'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
group = 'net.fabricmc'
archivesBaseName = project.name
version = '0.0.12-SNAPSHOT'
repositories {
mavenCentral()
maven {
name "Modmuss"
url 'http://maven.modmuss50.me/'
}
maven {
name = 'Mojang'
url = 'https://libraries.minecraft.net/'
}
maven {
name = 'Forge' //For ModLauncher
url = 'http://files.minecraftforge.net/maven/'
}
maven {
name = 'SpongePowered'
url = 'http://repo.spongepowered.org/maven'
}
}
configurations {
deployerJars
shade
compile.extendsFrom shade
}
dependencies {
compile gradleApi()
shade 'org.zeroturnaround:zt-zip:1.13'
shade 'org.slf4j:slf4j-api:1.7.25'
shade 'org.slf4j:slf4j-simple:1.7.25'
shade 'com.google.code.gson:gson:2.8.5'
shade 'commons-io:commons-io:2.6'
shade 'org.apache.commons:commons-lang3:3.8.1'
shade 'com.google.guava:guava:23.0'
shade ('net.fabricmc:weave:+'){
transitive = false
}
shade ('enigma-asm:enigma:0.12.0.+:lib'){
exclude group: 'org.ow2.asm'
}
shade 'net.fabricmc:tiny-remapper:0.1.0.12'
shade 'net.sf.jopt-simple:jopt-simple:5.0.4'
shade 'org.apache.logging.log4j:log4j-api:2.11.1'
shade 'org.apache.logging.log4j:log4j-core:2.11.1'
shade ('net.minecraft:launchwrapper:1.12') {
transitive = false
}
shade('org.spongepowered:mixin:0.7.11-SNAPSHOT') {
exclude module: 'launchwrapper'
exclude module: 'guava'
}
}
sourceSets {
main.compileClasspath += configurations.shade;
main.runtimeClasspath += configurations.shade;
test.compileClasspath += configurations.shade;
test.runtimeClasspath += configurations.shade;
}
jar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from (configurations.shade.collect { it.isDirectory() ? it : zipTree(it) }) {
exclude 'META-INF/*'
exclude 'META-INF'
}
}
apply from: 'https://github.com/FabricMC/fabric-docs/raw/master/gradle/license.gradle'
task wrapper(type: Wrapper) {
gradleVersion = '4.10.2'
}
publishing {
publications {
maven(MavenPublication) {
groupId project.group
artifactId project.archivesBaseName
version project.version
from components.java
//Removes all of the dependencies from the maven pom, prevents sub projects downloading all the libs, as we use a fat jar
pom.withXml {
asNode().remove(asNode().get('dependencies'))
}
}
}
repositories {
maven {
url "http://mavenupload.modmuss50.me/"
if (project.hasProperty('mavenPass')) {
credentials {
username 'buildslave'
password project.getProperty('mavenPass')
}
}
}
}
}