172 lines
No EOL
5 KiB
Groovy
172 lines
No EOL
5 KiB
Groovy
buildscript {
|
|
dependencies {
|
|
classpath 'org.kohsuke:github-api:1.114'
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id 'idea'
|
|
id 'eclipse'
|
|
id 'fabric-loom' version '0.8-SNAPSHOT'
|
|
id 'maven-publish'
|
|
}
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_16
|
|
targetCompatibility = JavaVersion.VERSION_16
|
|
|
|
archivesBaseName = project.archives_base_name
|
|
version = project.mod_version
|
|
group = project.maven_group
|
|
def local_bclib = findProject(':BCLib') != null
|
|
|
|
repositories {
|
|
maven { url "https://maven.dblsaiko.net/" }
|
|
maven { url "https://maven.fabricmc.net/" }
|
|
maven { url 'https://maven.blamejared.com' }
|
|
maven { url "https://maven.shedaniel.me/" }
|
|
maven { url 'https://jitpack.io' }
|
|
}
|
|
|
|
dependencies {
|
|
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
|
mappings minecraft.officialMojangMappings()
|
|
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
|
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
|
|
|
useApi "vazkii.patchouli:Patchouli:1.17-${project.patchouli_version}"
|
|
println "Using local BCLib: ${local_bclib}"
|
|
if (local_bclib){
|
|
compileOnly(project(":BCLib"))
|
|
modRuntimeMapped(project(":BCLib"))
|
|
} else {
|
|
useApi "com.github.paulevsGitch:BCLib:${project.bclib_version}"
|
|
}
|
|
|
|
useOptional "me.shedaniel:RoughlyEnoughItems-fabric:${project.rei_version}"
|
|
useOptional "me.shedaniel:RoughlyEnoughItems-api-fabric:${project.rei_version}"
|
|
//useOptional "grondag:canvas-mc116:${project.canvas_version}"
|
|
}
|
|
|
|
def useOptional(String dep) {
|
|
dependencies.modRuntime(dep) {
|
|
exclude group: 'net.fabricmc.fabric-api'
|
|
exclude group: 'net.fabricmc'
|
|
if (!dep.contains("me.shedaniel")) {
|
|
exclude group: 'me.shedaniel.cloth'
|
|
exclude group: 'me.shedaniel'
|
|
}
|
|
}
|
|
dependencies.modCompileOnly(dep) {
|
|
exclude group: 'net.fabricmc.fabric-api'
|
|
exclude group: 'net.fabricmc'
|
|
if (!dep.contains("me.shedaniel")) {
|
|
exclude group: 'me.shedaniel.cloth'
|
|
exclude group: 'me.shedaniel'
|
|
}
|
|
}
|
|
}
|
|
|
|
def useApi(String dep) {
|
|
dependencies.modApi(dep) {
|
|
exclude group: 'net.fabricmc.fabric-api'
|
|
exclude group: 'net.fabricmc'
|
|
exclude group: 'com.terraformersmc'
|
|
if (!dep.contains("me.shedaniel")) {
|
|
exclude group: 'me.shedaniel.cloth'
|
|
exclude group: 'me.shedaniel'
|
|
}
|
|
}
|
|
}
|
|
|
|
processResources {
|
|
inputs.property "version", project.version
|
|
duplicatesStrategy = 'WARN'
|
|
|
|
from(sourceSets.main.resources.srcDirs) {
|
|
include "fabric.mod.json"
|
|
expand "version": project.version
|
|
}
|
|
|
|
from(sourceSets.main.resources.srcDirs) {
|
|
exclude "fabric.mod.json"
|
|
}
|
|
}
|
|
|
|
// ensure that the encoding is set to UTF-8, no matter what the system default is
|
|
// this fixes some edge cases with special characters not displaying correctly
|
|
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
|
|
tasks.withType(JavaCompile) {
|
|
options.encoding = "UTF-8"
|
|
}
|
|
|
|
javadoc {
|
|
options.tags = ["reason"]
|
|
}
|
|
|
|
task javadocJar(type: Jar, dependsOn: javadoc) {
|
|
classifier = 'javadoc'
|
|
from javadoc.destinationDir
|
|
}
|
|
|
|
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
|
|
// if it is present.
|
|
// If you remove this task, sources will not be generated.
|
|
task sourcesJar(type: Jar, dependsOn: classes) {
|
|
classifier = 'sources'
|
|
from sourceSets.main.allSource
|
|
}
|
|
|
|
jar {
|
|
from "LICENSE"
|
|
}
|
|
|
|
artifacts {
|
|
archives sourcesJar
|
|
archives javadocJar
|
|
}
|
|
|
|
def env = System.getenv()
|
|
|
|
import org.kohsuke.github.GHReleaseBuilder
|
|
import org.kohsuke.github.GitHub
|
|
|
|
task release(dependsOn: [remapJar, sourcesJar, javadocJar]) {
|
|
onlyIf {
|
|
env.GITHUB_TOKEN
|
|
}
|
|
|
|
doLast {
|
|
def github = GitHub.connectUsingOAuth(env.GITHUB_TOKEN as String)
|
|
def repository = github.getRepository("paulevsGitch/BetterEnd")
|
|
|
|
def releaseBuilder = new GHReleaseBuilder(repository, version as String)
|
|
releaseBuilder.name("${archivesBaseName}-${version}")
|
|
releaseBuilder.body("A changelog can be found at https://github.com/paulevsGitch/BetterEnd/commits")
|
|
releaseBuilder.commitish("master")
|
|
|
|
def ghRelease = releaseBuilder.create()
|
|
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar"), "application/java-archive");
|
|
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}-sources.jar"), "application/java-archive");
|
|
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}-javadoc.jar"), "application/java-archive");
|
|
}
|
|
}
|
|
|
|
// configure the maven publication
|
|
//publishing {
|
|
// publications {
|
|
// mavenJava(MavenPublication) {
|
|
// artifact(remapJar) {
|
|
// builtBy remapJar
|
|
// }
|
|
// artifact(sourcesJar) {
|
|
// builtBy remapSourcesJar
|
|
// }
|
|
// }
|
|
// }
|
|
//
|
|
// // select the repositories you want to publish to
|
|
// repositories {
|
|
// // uncomment to publish to the local maven
|
|
// // mavenLocal()
|
|
// }
|
|
//} |