plugins { id 'net.minecrell.licenser' version '0.3' id 'org.ajoberstar.grgit' version '2.3.0' //id 'com.github.johnrengelman.shadow' version '2.0.4' } apply plugin: 'java' apply plugin: 'maven-publish' group = 'net.minecraftforge' version = gitVersion() def gitVersion() { def raw = grgit.describe(longDescr: true) def desc = (raw == null ? 'unknown-unknown-unknown' : raw).split('-') as List def hash = desc.remove(desc.size() - 1) def offset = desc.remove(desc.size() - 1) def tag = desc.join('-') def branch = grgit.branch.current().name return "${tag}.${offset}" //${t -> if (branch != 'master') t << '-' + branch}" } sourceSets { api shared gradlecomp } repositories { jcenter() mavenCentral() } configurations { sharedImplementation.extendsFrom apiImplementation gradlecompImplementation.extendsFrom sharedImplementation compile.extendsFrom sharedImplementation compile.extendsFrom gradlecompImplementation } dependencies { sharedImplementation sourceSets.api.output sharedImplementation 'commons-io:commons-io:2.4' gradlecompImplementation sourceSets.shared.output gradlecompImplementation gradleApi() gradlecompImplementation 'com.google.guava:guava:26.0-jre' gradlecompImplementation 'commons-io:commons-io:2.4' compile sourceSets.api.output compile sourceSets.shared.output compile sourceSets.gradlecomp.output } jar { from sourceSets.api.output from sourceSets.shared.output from sourceSets.gradlecomp.output } license { header = file("$rootDir/LICENSE-header.txt") } publishing { publications { mavenJava(MavenPublication) { from components.java pom { groupId = project.group version = project.version artifactId = project.archivesBaseName name = project.archivesBaseName packaging = 'jar' description = 'A Gradle artifact processing and management tool' url = 'https://github.com/MinecraftForge/Artifactural/' scm { url = 'https://github.com/MinecraftForge/Artifactural/' connection = 'scm:git:git://github.com/MinecraftForge/Artifactural.git' developerConnection = 'scm:git:git@github.com:MinecraftForge/Artifactural.git' } issueManagement { system = 'github' url = 'https://github.com/MinecraftForge/Artifactural/issues' } licenses { license { name = 'LGPL-2.1' url = 'https://www.gnu.org/licenses/lgpl-2.1.txt' distribution = 'repo' } } } } } repositories { maven { if (project.hasProperty('mavenPassword')) { credentials { username = project.properties.mavenUser password = project.properties.mavenPassword } url 'http://files.minecraftforge.net/maven/manage/upload' } else { url 'file://' + rootProject.file('repo').getAbsolutePath() } } } }