aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohann Bernhardt <johann.bernhardt@tum.de>2021-12-01 17:07:42 +0100
committerJohann Bernhardt <johann.bernhardt@tum.de>2021-12-01 17:07:42 +0100
commitbed9ce63b820d2bc973d1580daa19bceb8c0bb83 (patch)
treea1bb4bbd35920d00ef8a33d97f51ec26b5be7dd6
parent066a8cf9fd2691fa3a157f8688fa889e587dc2c3 (diff)
downloadGT5-Unofficial-bed9ce63b820d2bc973d1580daa19bceb8c0bb83.tar.gz
GT5-Unofficial-bed9ce63b820d2bc973d1580daa19bceb8c0bb83.tar.bz2
GT5-Unofficial-bed9ce63b820d2bc973d1580daa19bceb8c0bb83.zip
Migrate to unified build script and gradle 6
-rw-r--r--.github/scripts/test-no-crash-reports.sh9
-rw-r--r--.github/workflows/build-and-test.yml (renamed from .github/workflows/gradle.yml)28
-rw-r--r--.github/workflows/release-tags.yml45
-rw-r--r--.gitignore1
-rw-r--r--build.gradle333
-rw-r--r--dependencies.gradle10
-rw-r--r--gradle.properties3
-rw-r--r--gradle/wrapper/gradle-wrapper.properties2
-rw-r--r--repositories.gradle36
9 files changed, 329 insertions, 138 deletions
diff --git a/.github/scripts/test-no-crash-reports.sh b/.github/scripts/test-no-crash-reports.sh
new file mode 100644
index 0000000000..c67e342c06
--- /dev/null
+++ b/.github/scripts/test-no-crash-reports.sh
@@ -0,0 +1,9 @@
+directory="run/crash-reports"
+if [ -d $directory ]; then
+ echo "Crash reports detected:"
+ cat $directory/*
+ exit 1
+else
+ echo "No crash reports detected"
+ exit 0
+fi
diff --git a/.github/workflows/gradle.yml b/.github/workflows/build-and-test.yml
index 75338898fa..6c9b3cbc6c 100644
--- a/.github/workflows/gradle.yml
+++ b/.github/workflows/build-and-test.yml
@@ -1,16 +1,16 @@
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
-name: Java CI with Gradle
+name: Build and test
on:
- push:
- branches: [ master, main ]
pull_request:
branches: [ master, main ]
+ push:
+ branches: [ master, main ]
jobs:
- build:
+ build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
@@ -32,12 +32,14 @@ jobs:
- name: Build the mod
run: ./gradlew build
-
- - uses: "marvinpinto/action-automatic-releases@latest"
- with:
- repo_token: "${{ secrets.GITHUB_TOKEN }}"
- automatic_release_tag: "latest"
- prerelease: true
- title: "Latest Development Build"
- files: build/libs/*.jar
-
+
+ - name: Run server for 1 minute
+ run: |
+ mkdir run
+ echo "eula=true" > run/eula.txt
+ timeout 10 ./gradlew runServer || true
+
+ - name: Test no crashes happend
+ run: |
+ chmod +x .github/scripts/test-no-crash-reports.sh
+ .github/scripts/test-no-crash-reports.sh
diff --git a/.github/workflows/release-tags.yml b/.github/workflows/release-tags.yml
new file mode 100644
index 0000000000..25c354b227
--- /dev/null
+++ b/.github/workflows/release-tags.yml
@@ -0,0 +1,45 @@
+# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
+# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
+
+name: Release tagged build
+
+on:
+ push:
+ tags:
+ - '*'
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - name: Set release version
+ run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
+
+ - name: Set up JDK 8
+ uses: actions/setup-java@v2
+ with:
+ java-version: '8'
+ distribution: 'adopt'
+ cache: gradle
+
+ - name: Grant execute permission for gradlew
+ run: chmod +x gradlew
+
+ - name: Setup the workspace
+ run: ./gradlew setupCIWorkspace
+
+ - name: Build the mod
+ run: ./gradlew build
+
+ - name: Release under current tag
+ uses: "marvinpinto/action-automatic-releases@latest"
+ with:
+ repo_token: "${{ secrets.GITHUB_TOKEN }}"
+ automatic_release_tag: "${{ env.RELEASE_VERSION }}"
+ prerelease: false
+ title: "${{ env.RELEASE_VERSION }}"
+ files: build/libs/*.jar
diff --git a/.gitignore b/.gitignore
index 4a0ea1e653..558ad12d27 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,7 +21,6 @@ server.properties
servers.dat
usercache.json
whitelist.json
-world/
/out/
*.iml
*.ipr
diff --git a/build.gradle b/build.gradle
index 5c3a3f49a5..a380f6c76f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,3 +1,4 @@
+//version: ffe7b130f98fdfa1ac7c6ba4bd34722a55ab28d4
/*
DO NOT CHANGE THIS FILE!
@@ -7,15 +8,13 @@ Please check https://github.com/SinTh0r4s/ExampleMod1.7.10/blob/main/build.gradl
import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation
+import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
+
import java.util.concurrent.TimeUnit
buildscript {
repositories {
maven {
- name = "jitpack"
- url = "https://jitpack.io"
- }
- maven {
name = "forge"
url = "https://maven.minecraftforge.net"
}
@@ -23,20 +22,37 @@ buildscript {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
+ maven {
+ name = "Scala CI dependencies"
+ url = "https://repo1.maven.org/maven2/"
+ }
+ maven {
+ name = "jitpack"
+ url = "https://jitpack.io"
+ }
}
dependencies {
- classpath 'com.github.GTNH2:ForgeGradle:FG_1.2-SNAPSHOT'
+ classpath 'com.github.GTNewHorizons:ForgeGradle:1.2.4'
}
}
plugins {
+ id 'idea'
+ id 'scala'
id("org.ajoberstar.grgit") version("3.1.1")
id("com.github.johnrengelman.shadow") version("4.0.4")
id("com.palantir.git-version") version("0.12.3")
}
apply plugin: 'forge'
-apply plugin: 'idea'
+
+def projectJavaVersion = JavaLanguageVersion.of(8)
+
+java {
+ toolchain {
+ languageVersion.set(projectJavaVersion)
+ }
+}
idea {
module {
@@ -46,6 +62,90 @@ idea {
}
}
+if(JavaVersion.current() != JavaVersion.VERSION_1_8) {
+ throw new GradleException("This project requires Java 8, but it's running on " + JavaVersion.current())
+}
+
+checkPropertyExists("modName")
+checkPropertyExists("modId")
+checkPropertyExists("modGroup")
+checkPropertyExists("autoUpdateBuildScript")
+checkPropertyExists("minecraftVersion")
+checkPropertyExists("forgeVersion")
+checkPropertyExists("replaceGradleTokenInFile")
+checkPropertyExists("gradleTokenModId")
+checkPropertyExists("gradleTokenModName")
+checkPropertyExists("gradleTokenVersion")
+checkPropertyExists("gradleTokenGroupName")
+checkPropertyExists("apiPackage")
+checkPropertyExists("accessTransformersFile")
+checkPropertyExists("usesMixins")
+checkPropertyExists("mixinPlugin")
+checkPropertyExists("mixinsPackage")
+checkPropertyExists("coreModClass")
+checkPropertyExists("containsMixinsAndOrCoreModOnly")
+checkPropertyExists("usesShadowedDependencies")
+checkPropertyExists("developmentEnvironmentUserName")
+
+def checkPropertyExists(String propertyName) {
+ if (project.hasProperty(propertyName) == false) {
+ throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/SinTh0r4s/ExampleMod1.7.10/blob/main/gradle.properties")
+ }
+}
+
+
+String javaSourceDir = "src/main/java/"
+String scalaSourceDir = "src/main/scala/"
+
+String targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/")
+String targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/")
+if((new File(targetPackageJava).exists() || new File(targetPackageScala).exists()) == false) {
+ throw new GradleException("Could not resolve \"modGroup\"! Could not find " + targetPackageJava + " or " + targetPackageScala)
+}
+
+if(apiPackage) {
+ targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/")
+ targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/")
+ if((new File(targetPackageJava).exists() || new File(targetPackageScala).exists()) == false) {
+ throw new GradleException("Could not resolve \"apiPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala)
+ }
+}
+
+if(accessTransformersFile) {
+ String targetFile = "src/main/resources/META-INF/" + accessTransformersFile
+ if(new File(targetFile).exists() == false) {
+ throw new GradleException("Could not resolve \"accessTransformersFile\"! Could not find " + targetFile)
+ }
+}
+
+if(usesMixins.toBoolean()) {
+ if(mixinsPackage.isEmpty() || mixinPlugin.isEmpty()) {
+ throw new GradleException("\"mixinPlugin\" requires \"mixinsPackage\" and \"mixinPlugin\" to be set!")
+ }
+
+ targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/")
+ targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/")
+ if((new File(targetPackageJava).exists() || new File(targetPackageScala).exists()) == false) {
+ throw new GradleException("Could not resolve \"mixinsPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala)
+ }
+
+ String targetFileJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".java"
+ String targetFileScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".scala"
+ String targetFileScalaJava = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".java"
+ if((new File(targetFileJava).exists() || new File(targetFileScala).exists() || new File(targetFileScalaJava).exists()) == false) {
+ throw new GradleException("Could not resolve \"mixinPlugin\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava)
+ }
+}
+
+if(coreModClass) {
+ String targetFileJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".java"
+ String targetFileScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".scala"
+ String targetFileScalaJava = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".java"
+ if((new File(targetFileJava).exists() || new File(targetFileScala).exists() || new File(targetFileScalaJava).exists()) == false) {
+ throw new GradleException("Could not resolve \"coreModClass\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava)
+ }
+}
+
configurations.all {
resolutionStrategy.cacheChangingModulesFor(0, TimeUnit.SECONDS)
@@ -54,16 +154,19 @@ configurations.all {
System.setProperty("org.gradle.internal.http.socketTimeout", 120000 as String)
}
+// Fix Jenkins' Git: chmod a file should not be detected as a change and append a '.dirty' to the version
+'git config core.fileMode false'.execute()
// Pulls version from git tag
-version = minecraftVersion + "-" + gitVersion()
+try {
+ version = minecraftVersion + "-" + gitVersion()
+}
+catch (Exception e) {
+ throw new IllegalStateException("This mod must be version controlled by Git AND the repository must provide at least one tag!");
+}
group = modGroup
archivesBaseName = modId
minecraft {
- if(JavaVersion.current() != JavaVersion.VERSION_1_8) {
- throw new GradleException("This project requires Java 8, but it's running on " + JavaVersion.current())
- }
-
version = minecraftVersion + "-" + forgeVersion + "-" + minecraftVersion
runDir = "run"
@@ -75,7 +178,7 @@ minecraft {
if(gradleTokenModName) {
replace gradleTokenModName, modName
}
- if(gradleTokenModName) {
+ if(gradleTokenVersion) {
replace gradleTokenVersion, versionDetails().lastTag
}
if(gradleTokenGroupName) {
@@ -84,6 +187,10 @@ minecraft {
}
}
+if(file("addon.gradle").exists()) {
+ apply from: "addon.gradle"
+}
+
apply from: 'repositories.gradle'
configurations {
@@ -91,6 +198,10 @@ configurations {
}
repositories {
+ maven {
+ name = "Overmind forge repo mirror"
+ url = "https://gregtech.overminddl1.com/"
+ }
if(usesMixins.toBoolean()) {
maven {
name = "sponge"
@@ -123,19 +234,13 @@ dependencies {
apply from: 'dependencies.gradle'
-task relocateShadowJar(type: ConfigureShadowRelocation) {
- target = tasks.shadowJar
- prefix = modGroup + ".shadow"
-}
-
-def mixinConfigJson = "mixins." + modId + ".json"
def mixingConfigRefMap = "mixins." + modId + ".refmap.json"
def refMap = "${tasks.compileJava.temporaryDir}" + File.separator + mixingConfigRefMap
def mixinSrg = "${tasks.reobf.temporaryDir}" + File.separator + "mixins.srg"
task generateAssets {
if(usesMixins.toBoolean()) {
- new File(projectDir.toString() + "/src/main/resources/", mixinConfigJson).text = """{
+ new File(projectDir.toString() + "/src/main/resources/", "mixins." + modId + ".json").text = """{
"required": true,
"minVersion": "0.7.11",
"package": "${modGroup}.${mixinsPackage}",
@@ -149,61 +254,24 @@ task generateAssets {
}
}
-shadowJar {
- def manifestAttributes = [:]
- if(containsMixinsAndOrCoreModOnly.toBoolean() == false) {
- manifestAttributes += ["FMLCorePluginContainsFMLMod": true]
- }
-
- if(accessTransformersFile) {
- manifestAttributes += ["FMLAT" : accessTransformersFile.toString()]
- }
-
- if(coreModClass) {
- manifestAttributes += ["FMLCorePlugin": modGroup + "." + coreModClass]
- }
+task relocateShadowJar(type: ConfigureShadowRelocation) {
+ target = tasks.shadowJar
+ prefix = modGroup + ".shadow"
+}
- if(usesMixins.toBoolean()) {
- from refMap
- manifestAttributes += [
- "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker",
- "MixinConfigs" : mixinConfigJson,
- "ForceLoadAsMod" : containsMixinsAndOrCoreModOnly.toBoolean() == false
- ]
- }
+shadowJar {
manifest {
- attributes(manifestAttributes)
+ attributes(getManifestAttributes())
}
- minimize()
+ minimize() // This will only allow shading for actually used classes
configurations = [project.configurations.shadowImplementation]
dependsOn(relocateShadowJar)
}
jar {
- def manifestAttributes = [:]
- if(containsMixinsAndOrCoreModOnly.toBoolean() == false) {
- manifestAttributes += ["FMLCorePluginContainsFMLMod": true]
- }
-
- if(accessTransformersFile) {
- manifestAttributes += ["FMLAT" : accessTransformersFile.toString()]
- }
-
- if(coreModClass) {
- manifestAttributes += ["FMLCorePlugin": modGroup + "." + coreModClass]
- }
-
- if(usesMixins.toBoolean()) {
- from refMap
- manifestAttributes += [
- "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker",
- "MixinConfigs" : mixinConfigJson,
- "ForceLoadAsMod" : containsMixinsAndOrCoreModOnly.toBoolean() == false
- ]
- }
manifest {
- attributes(manifestAttributes)
+ attributes(getManifestAttributes())
}
if(usesShadowedDependencies.toBoolean()) {
@@ -256,7 +324,7 @@ runClient {
runServer {
def arguments = []
- if(usesMixins.toBoolean()) {
+ if (usesMixins.toBoolean()) {
arguments += [
"--mods=../build/libs/$modId-${version}.jar",
"--tweakClass org.spongepowered.asm.launch.MixinTweaker"
@@ -266,6 +334,14 @@ runServer {
args(arguments)
}
+tasks.withType(JavaExec).configureEach {
+ javaLauncher.set(
+ javaToolchains.launcherFor {
+ languageVersion = projectJavaVersion
+ }
+ )
+}
+
processResources
{
// this will ensure that this task is redone when the versions change.
@@ -283,19 +359,19 @@ processResources
"modName": modName
}
+ if(usesMixins.toBoolean()) {
+ from refMap
+ }
+
// copy everything else, thats not the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
-task sourcesJar(type: Jar) {
- from (sourceSets.main.allJava)
- from (file("$projectDir/LICENSE"))
- getArchiveClassifier().set('sources')
-
+def getManifestAttributes() {
def manifestAttributes = [:]
- if(containsMixinsAndOrCoreModOnly.toBoolean() == false) {
+ if(containsMixinsAndOrCoreModOnly.toBoolean() == false && (usesMixins.toBoolean() || coreModClass)) {
manifestAttributes += ["FMLCorePluginContainsFMLMod": true]
}
@@ -308,45 +384,55 @@ task sourcesJar(type: Jar) {
}
if(usesMixins.toBoolean()) {
- from refMap
manifestAttributes += [
"TweakClass" : "org.spongepowered.asm.launch.MixinTweaker",
- "MixinConfigs" : mixinConfigJson,
+ "MixinConfigs" : "mixins." + modId + ".json",
"ForceLoadAsMod" : containsMixinsAndOrCoreModOnly.toBoolean() == false
]
}
- manifest {
- attributes(manifestAttributes)
- }
+ return manifestAttributes
}
-task devJar(type: Jar) {
+task sourcesJar(type: Jar) {
+ from (sourceSets.main.allJava)
+ from (file("$projectDir/LICENSE"))
+ getArchiveClassifier().set('sources')
+}
+
+task shadowDevJar(type: ShadowJar) {
from sourceSets.main.output
getArchiveClassifier().set("dev")
- def manifestAttributes = [:]
- if(containsMixinsAndOrCoreModOnly.toBoolean() == false) {
- manifestAttributes += ["FMLCorePluginContainsFMLMod": true]
+ manifest {
+ attributes(getManifestAttributes())
}
- if(accessTransformersFile) {
- manifestAttributes += ["FMLAT" : accessTransformersFile.toString()]
- }
+ minimize() // This will only allow shading for actually used classes
+ configurations = [project.configurations.shadowImplementation]
+}
- if(coreModClass) {
- manifestAttributes += ["FMLCorePlugin": modGroup + "." + coreModClass]
- }
+task relocateShadowDevJar(type: ConfigureShadowRelocation) {
+ target = tasks.shadowDevJar
+ prefix = modGroup + ".shadow"
+}
+
+task circularResolverJar(type: Jar) {
+ dependsOn(relocateShadowDevJar)
+ dependsOn(shadowDevJar)
+ enabled = false
+}
+
+task devJar(type: Jar) {
+ from sourceSets.main.output
+ getArchiveClassifier().set("dev")
- if(usesMixins.toBoolean()) {
- from refMap
- manifestAttributes += [
- "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker",
- "MixinConfigs" : mixinConfigJson,
- "ForceLoadAsMod" : containsMixinsAndOrCoreModOnly.toBoolean() == false
- ]
- }
manifest {
- attributes(manifestAttributes)
+ attributes(getManifestAttributes())
+ }
+
+ if(usesShadowedDependencies.toBoolean()) {
+ dependsOn(circularResolverJar)
+ enabled = false
}
}
@@ -366,7 +452,6 @@ task apiJar(type: Jar) {
getArchiveClassifier().set('api')
}
-
artifacts {
archives sourcesJar
archives devJar
@@ -374,3 +459,59 @@ artifacts {
archives apiJar
}
}
+
+// Updating
+task updateBuildScript {
+ doLast {
+ if (updateBuildScript()) return
+
+ print("Build script already up-to-date!")
+ }
+}
+
+if (isNewBuildScriptVersionAvailable()) {
+ if (autoUpdateBuildScript.toBoolean()) {
+ updateBuildScript()
+ } else {
+ println("Build script update available! Run 'gradle updateBuildScript'")
+ }
+}
+
+static URL availableBuildScriptUrl() {
+ new URL("https://raw.githubusercontent.com/SinTh0r4s/ExampleMod1.7.10/main/build.gradle")
+}
+
+static boolean updateBuildScript() {
+ if (isNewBuildScriptVersionAvailable()) {
+ def buildscriptFile = new File("build.gradle")
+ availableBuildScriptUrl().withInputStream { i -> buildscriptFile.withOutputStream { it << i } }
+ print("Build script updated. Please REIMPORT the project or RESTART your IDE!")
+ return true
+ }
+ return false
+}
+
+static boolean isNewBuildScriptVersionAvailable() {
+ Map parameters = ["connectTimeout": 2000, "readTimeout": 2000]
+
+ String currentBuildScript = new File("build.gradle").getText()
+ String currentBuildScriptHash = getVersionHash(currentBuildScript)
+ String availableBuildScript = availableBuildScriptUrl().newInputStream(parameters).getText()
+ String availableBuildScriptHash = getVersionHash(availableBuildScript)
+
+ boolean isUpToDate = currentBuildScriptHash.empty || availableBuildScriptHash.empty || currentBuildScriptHash == availableBuildScriptHash
+ return !isUpToDate
+}
+
+static String getVersionHash(String buildScriptContent) {
+ String versionLine = buildScriptContent.find("^//version: [a-z0-9]*")
+ if(versionLine != null) {
+ return versionLine.split(": ").last()
+ }
+ return ""
+}
+
+configure(updateBuildScript) {
+ group = 'forgegradle'
+ description = 'Updates the build script to the latest version'
+}
diff --git a/dependencies.gradle b/dependencies.gradle
index da575c9f07..6b4c35fced 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -5,6 +5,8 @@ dependencies {
compile("com.github.GTNewHorizons:NotEnoughItems:master-SNAPSHOT:dev")
compile("com.github.GTNewHorizons:EnderCore:master-SNAPSHOT:dev")
+ compile("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev")
+
compileOnly("com.github.GTNewHorizons:ForestryMC:master-SNAPSHOT:dev") {
transitive = false
}
@@ -21,8 +23,6 @@ dependencies {
transitive = false
}
- compile("net.industrial-craft:industrialcraft-2:2.2.790-experimental:dev")
-
compileOnly("appeng:appliedenergistics2:rv3-beta-22:dev") { // TODO: use in-house version
transitive = false
}
@@ -32,13 +32,13 @@ dependencies {
compileOnly("com.mod-buildcraft:buildcraft:7.1.23:dev") {
transitive = false
}
- compileOnly("commons-io:commons-io:2.4"){
+ compileOnly("commons-io:commons-io:2.4") {
transitive = false
}
- compileOnly("codechicken:Translocator:1.7.10-1.1.2.16:dev"){ // TODO: use in-house version (?)
+ compileOnly("codechicken:Translocator:1.7.10-1.1.2.16:dev") { // TODO: use in-house version (?)
transitive = false
}
- compileOnly("curse.maven:cofh-lib-220333:2388749"){
+ compileOnly("curse.maven:cofh-lib-220333:2388749") {
transitive = false
}
compileOnly("curse.maven:nuclear-control-2-236813:2464681") { // TODO: use in-house version
diff --git a/gradle.properties b/gradle.properties
index d0433fdbc3..7de46d9a1d 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -9,6 +9,9 @@ modGroup = gregtech
# The build script relies on git to provide a version via tags. It is super easy and will enable you to always know the
# code base or your binary. Check out this tutorial: https://blog.mattclemente.com/2017/10/13/versioning-with-git-tags/
+# Will update your build.gradle automatically whenever an update is available
+autoUpdateBuildScript = false
+
minecraftVersion = 1.7.10
forgeVersion = 10.13.4.1614
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 5028f28f8e..3ab0b725ef 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/repositories.gradle b/repositories.gradle
index 71b5109c20..8e98ef095c 100644
--- a/repositories.gradle
+++ b/repositories.gradle
@@ -2,39 +2,31 @@
repositories {
maven {
- name = "gt"
- url = "https://gregtech.overminddl1.com/"
+ name = "ic2"
+ url = "https://maven.ic2.player.to/"
+ metadataSources {
+ mavenPom()
+ artifact()
+ }
}
maven {
name = "chickenbones"
url = "https://nexus.covers1624.net/repository/maven-hosted/"
- }
- maven {
- name = "ic2, forestry"
- url = "http://downloads.gtnewhorizons.com/Mods_for_Jenkins/"
+ metadataSources {
+ mavenPom()
+ artifact()
+ }
}
maven { // EnderIO & EnderCore
name = 'tterrag Repo'
url = "https://maven.tterrag.com"
}
- maven { // TConstruct
- name = 'DVS1 Maven FS'
- url = 'https://dvs1.progwml6.com/files/maven'
- }
- maven { // AppleCore
- url = "https://www.ryanliptak.com/maven/"
- }
- maven { // GalacticGreg, YAMCore,..
- name = 'UsrvDE'
- url = "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/"
- }
- ivy {
- name = 'gtnh_download_source_stupid_underscore_typo'
- artifactPattern("http://downloads.gtnewhorizons.com/Mods_for_Jenkins/[module]_[revision].[ext]")
- }
- ivy {
+ ivy { // For appeng:appliedenergistics2 only
name = 'gtnh_download_source'
artifactPattern("http://downloads.gtnewhorizons.com/Mods_for_Jenkins/[module]-[revision].[ext]")
+ metadataSources {
+ artifact()
+ }
}
maven {