125 lines
2.6 KiB
Groovy
125 lines
2.6 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'groovy'
|
|
id 'maven'
|
|
id 'maven-publish'
|
|
|
|
id 'idea'
|
|
id 'eclipse'
|
|
}
|
|
|
|
sourceCompatibility = 1.8
|
|
targetCompatibility = 1.8
|
|
|
|
group = 'com.openmodloader'
|
|
archivesBaseName = project.name
|
|
version = '0.0.9-SNAPSHOT'
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
maven {
|
|
name = 'fabric'
|
|
url = 'http://maven.fabricmc.net/'
|
|
}
|
|
maven {
|
|
name "Modmuss"
|
|
url 'http://maven.modmuss50.me/'
|
|
}
|
|
maven {
|
|
name = 'Mojang'
|
|
url = 'https://libraries.minecraft.net/'
|
|
}
|
|
maven {
|
|
name = 'SpongePowered'
|
|
url = 'http://repo.spongepowered.org/maven'
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
deployerJars
|
|
shade
|
|
compile.extendsFrom shade
|
|
}
|
|
|
|
dependencies {
|
|
compile gradleApi()
|
|
|
|
shade 'org.zeroturnaround:zt-zip:1.9'
|
|
shade 'org.slf4j:slf4j-api:1.7.21'
|
|
shade 'org.slf4j:slf4j-simple:1.7.21'
|
|
shade 'com.google.code.gson:gson:2.6.2'
|
|
shade 'commons-io:commons-io:1.4'
|
|
shade 'com.google.guava:guava:19.0'
|
|
shade ('net.fabricmc:weave:0.1.0.+'){
|
|
transitive = false
|
|
}
|
|
shade 'org.ow2.asm:asm-debug-all:5.2'
|
|
shade 'cuchaz:enigma:0.11.0.33:lib'
|
|
shade 'net.fabricmc:tiny-remapper:+'
|
|
shade 'net.sf.jopt-simple:jopt-simple:5.0.4'
|
|
shade 'org.apache.logging.log4j:log4j-api:2.11.0'
|
|
shade 'org.apache.logging.log4j:log4j-core:2.11.0'
|
|
|
|
|
|
shade ('net.minecraft:launchwrapper:1.12') {
|
|
transitive = false
|
|
}
|
|
|
|
//Always fun when your dep needs the tool to build, but the tool needs the dep.
|
|
//compile 'net.fabricmc:fabric-base:16w38a-0.0.4-SNAPSHOT'
|
|
|
|
shade('org.spongepowered:mixin:0.7.8-SNAPSHOT') {
|
|
exclude module: 'launchwrapper'
|
|
exclude module: 'guava'
|
|
}
|
|
shade 'org.apache.commons:commons-lang3:3.5'
|
|
|
|
}
|
|
|
|
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'
|
|
}
|
|
}
|
|
|
|
|
|
task wrapper(type: Wrapper) {
|
|
gradleVersion = '4.7'
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
maven(MavenPublication) {
|
|
groupId 'OpenGradle'
|
|
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')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |