Skip to content

Commit

Permalink
Update .github scripts and buildscript (#56)
Browse files Browse the repository at this point in the history
* additional dep cleanup

* build and test

* remove library
  • Loading branch information
bombcar authored Feb 12, 2022
1 parent 979957a commit 86da15a
Show file tree
Hide file tree
Showing 7 changed files with 100 additions and 100 deletions.
9 changes: 0 additions & 9 deletions .github/scripts/test-no-crash-reports.sh

This file was deleted.

33 changes: 33 additions & 0 deletions .github/scripts/test-no-error-reports.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/env bash

RUNDIR="run"
CRASH="crash-reports"
SERVERLOG="server.log"

if [[ -d $RUNDIR/$CRASH ]]; then
echo "Crash reports detected:"
cat $RUNDIR/$CRASH/crash*.txt
exit 1
fi

if grep --quiet "Fatal errors were detected" $SERVERLOG; then
echo "Fatal errors detected:"
cat server.log
exit 1
fi

if grep --quiet "The state engine was in incorrect state ERRORED and forced into state SERVER_STOPPED" $SERVERLOG; then
echo "Server force stopped:"
cat server.log
exit 1
fi

if ! grep --quiet -Po '.+Done \(.+\)\! For help, type "help" or "\?"' $SERVERLOG; then
echo "Server didn't finish startup:"
cat server.log
exit 1
fi

echo "No crash reports detected"
exit 0

22 changes: 11 additions & 11 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,32 +14,32 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
with:
fetch-depth: 0

- 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 setupDecompWorkspace
run: ./gradlew setupCIWorkspace

- name: Build the mod
run: ./gradlew build

- name: Run server for 1 minute
- name: Run server for 1.5 minutes
run: |
mkdir run
echo "eula=true" > run/eula.txt
timeout 60 ./gradlew runServer || true
echo "eula=true" > run/eula.txt
timeout 90 ./gradlew runServer 2>&1 | tee -a server.log || true
- name: Test no crashes happend
- name: Test no errors reported during server run
run: |
chmod +x .github/scripts/test-no-crash-reports.sh
.github/scripts/test-no-crash-reports.sh
chmod +x .github/scripts/test-no-error-reports.sh
.github/scripts/test-no-error-reports.sh
54 changes: 28 additions & 26 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
//version: 1644510936
//version: 1644612407
/*
DO NOT CHANGE THIS FILE!
Also, you may replace this file at any time if there is an update available.
Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates.
*/

import org.gradle.internal.logging.text.StyledTextOutput
import org.gradle.internal.logging.text.StyledTextOutput
import org.gradle.internal.logging.text.StyledTextOutputFactory
import org.gradle.internal.logging.text.StyledTextOutput.Style

Expand Down Expand Up @@ -45,18 +45,20 @@ plugins {
id 'eclipse'
id 'scala'
id 'maven-publish'
id('org.jetbrains.kotlin.jvm') version ('1.6.10') apply false
id('org.ajoberstar.grgit') version('4.1.1')
id('com.github.johnrengelman.shadow') version('4.0.4')
id('com.palantir.git-version') version('0.13.0') apply false
id('de.undercouch.download') version('5.0.1')
id 'org.jetbrains.kotlin.jvm' version '1.5.30' apply false
id 'org.jetbrains.kotlin.kapt' version '1.5.30' apply false
id 'org.ajoberstar.grgit' version '4.1.1'
id 'com.github.johnrengelman.shadow' version '4.0.4'
id 'com.palantir.git-version' version '0.13.0' apply false
id 'de.undercouch.download' version '5.0.1'
id 'com.github.gmazzo.buildconfig' version '3.0.3' apply false
}

if (project.file('.git/HEAD').isFile()) {
apply plugin: 'com.palantir.git-version'
}

def out = services.get(StyledTextOutputFactory).create("an-output")
def out = services.get(StyledTextOutputFactory).create('an-output')

apply plugin: 'forge'

Expand Down Expand Up @@ -186,14 +188,16 @@ try {
catch (Exception e) {
out.style(Style.Failure).text(
'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' +
'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' +
'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' +
'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)'
)
versionOverride = 'NO-GIT-TAG-SET'
identifiedVersion = versionOverride
}
version = minecraftVersion + '-' + identifiedVersion
String modVersion = identifiedVersion
ext {
modVersion = identifiedVersion
}

if( identifiedVersion.equals(versionOverride) ) {
out.style(Style.Failure).text('Override version to ').style(Style.Identifier).text(modVersion).style(Style.Failure).println('!\7')
Expand All @@ -207,7 +211,6 @@ else {
archivesBaseName = modId
}


def arguments = []
def jvmArguments = []

Expand All @@ -221,8 +224,8 @@ if(usesMixins.toBoolean()) {
}

minecraft {
version = minecraftVersion + "-" + forgeVersion + "-" + minecraftVersion
runDir = "run"
version = minecraftVersion + '-' + forgeVersion + '-' + minecraftVersion
runDir = 'run'

if (replaceGradleTokenInFile) {
replaceIn replaceGradleTokenInFile
Expand Down Expand Up @@ -255,8 +258,8 @@ minecraft {
}
}

if(file("addon.gradle").exists()) {
apply from: "addon.gradle"
if(file('addon.gradle').exists()) {
apply from: 'addon.gradle'
}

apply from: 'repositories.gradle'
Expand Down Expand Up @@ -304,7 +307,7 @@ dependencies {

apply from: 'dependencies.gradle'

def mixingConfigRefMap = "mixins." + modId + ".refmap.json"
def mixingConfigRefMap = 'mixins.' + modId + '.refmap.json'
def refMap = "${tasks.compileJava.temporaryDir}" + File.separator + mixingConfigRefMap
def mixinSrg = "${tasks.reobf.temporaryDir}" + File.separator + "mixins.srg"

Expand Down Expand Up @@ -408,12 +411,11 @@ tasks.withType(JavaExec).configureEach {
)
}

processResources
{
processResources {
// this will ensure that this task is redone when the versions change.
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version

// replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
Expand Down Expand Up @@ -540,7 +542,7 @@ artifacts {
}
}

// The gradle metadata includes all of the additional deps that we disabled from POM generation (including forgeBin with no groupID),
// The gradle metadata includes all of the additional deps that we disabled from POM generation (including forgeBin with no groupID),
// and isn't strictly needed with the POM so just disable it.
tasks.withType(GenerateModuleMetadata) {
enabled = false
Expand All @@ -565,17 +567,17 @@ publishing {
artifactId = System.getenv("ARTIFACT_ID") ?: project.name
// Using the identified version, not project.version as it has the prepended 1.7.10
version = System.getenv("RELEASE_VERSION") ?: identifiedVersion

// remove extra garbage from who knows where
pom.withXml {
def badPomGroup = ['net.minecraft', 'com.google.code.findbugs', 'org.ow2.asm', 'com.typesafe.akka', 'com.typesafe', 'org.scala-lang',
'org.scala-lang.plugins', 'net.sf.jopt-simple', 'lzma', 'com.mojang', 'org.apache.commons', 'org.apache.httpcomponents',
'commons-logging', 'java3d', 'net.sf.trove4j', 'com.ibm.icu', 'com.paulscode', 'io.netty', 'com.google.guava',
'commons-io', 'commons-codec', 'net.java.jinput', 'net.java.jutils', 'com.google.code.gson', 'org.apache.logging.log4j',
'org.lwjgl.lwjgl', 'tv.twitch', '']
'commons-logging', 'java3d', 'net.sf.trove4j', 'com.ibm.icu', 'com.paulscode', 'io.netty', 'com.google.guava',
'commons-io', 'commons-codec', 'net.java.jinput', 'net.java.jutils', 'com.google.code.gson', 'org.apache.logging.log4j',
'org.lwjgl.lwjgl', 'tv.twitch', 'org.jetbrains.kotlin', '']
Node pomNode = asNode()
pomNode.dependencies.'*'.findAll() {
badPomGroup.contains(it.groupId.text())
badPomGroup.contains(it.groupId.text())
}.each() {
it.parent().remove(it)
}
Expand Down Expand Up @@ -688,7 +690,7 @@ def deobf(String sourceURL, String fileName) {
String bon2File = bon2Dir + "/BON2-2.5.0.jar"
String obfFile = cacheDir + "modules-2/files-2.1/" + fileName + ".jar"
String deobfFile = cacheDir + "modules-2/files-2.1/" + fileName + "-deobf.jar"

if(file(deobfFile).exists()) {
return files(deobfFile)
}
Expand Down
60 changes: 19 additions & 41 deletions dependencies.gradle
Original file line number Diff line number Diff line change
@@ -1,46 +1,24 @@
// Add your dependencies here

dependencies {
compile("com.github.GTNewHorizons:CodeChickenLib:1.1.5.3:dev")
compile("com.github.GTNewHorizons:CodeChickenCore:1.1.4:dev")
compile("com.github.GTNewHorizons:EnderCore:0.2.6:dev")
compile("com.github.GTNewHorizons:ForestryMC:4.4.5:dev")
compile("com.github.GTNewHorizons:NotEnoughItems:2.2.7-GTNH:dev")
compile("curse.maven:cofh-lib-220333:2388748") // https://www.curseforge.com/minecraft/mc-mods/cofh-lib/files/2388748
compile("com.github.GTNewHorizons:BuildCraft:7.1.27:dev")
shadowImplementation("cglib:cglib-nodep:3.3.0")
compile('com.github.GTNewHorizons:EnderCore:0.2.6:dev')
compile('com.github.GTNewHorizons:ForestryMC:4.4.5:dev')
compile('com.github.GTNewHorizons:NotEnoughItems:2.2.7-GTNH:dev')
compile('com.github.GTNewHorizons:BuildCraft:7.1.27:dev')
compile('curse.maven:cofh-lib-220333:2388748') // https://www.curseforge.com/minecraft/mc-mods/cofh-lib/files/2388748
shadowImplementation('cglib:cglib-nodep:3.3.0')

compileOnly("com.github.GTNewHorizons:waila:1.5.19:api") {
transitive = false
}
compileOnly("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-76-GTNH:api") {
transitive = false
}
compileOnly("com.github.GTNewHorizons:Baubles:1.0.1.14:dev") {
transitive = false
}
compileOnly("com.github.GTNewHorizons:Railcraft:9.13.6:api") {
transitive = false
}
compileOnly("com.github.GTNewHorizons:StorageDrawers:1.11.13-GTNH:api") {
transitive = false
}
compileOnly("com.github.GTNewHorizons:Chisel:2.10.8-GTNH:dev") {
transitive = false
}
compileOnly("com.github.GTNewHorizons:OpenComputers:1.7.5.23-GTNH:api") {
transitive = false
}
compileOnly("curse.maven:minefactory-reloaded-66672:2366150") { // https://www.curseforge.com/minecraft/mc-mods/minefactory-reloaded/files/2366150
transitive = false
}
compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") {
transitive = false
}
compileOnly("curse.maven:ee3-65509:2305023") { // https://www.curseforge.com/minecraft/mc-mods/ee3/files/2305023
transitive = false
}
compileOnly(deobf("https://media.forgecdn.net/files/2269/339/ComputerCraft1.75.jar")) // https://www.curseforge.com/minecraft/mc-mods/computercraft/files/2269339
compileOnly(deobf("https://s3.amazonaws.com/aidancbrady/mekanism/281-recommended/Mekanism-1.7.10-9.1.0.281.jar")) // https://aidancbrady.com/mekanism/download/
compileOnly deobf("https://immibis.com/mcmoddl/files/immibis-microblocks-59.1.2.jar")
compileOnly('com.github.GTNewHorizons:waila:1.5.19:api') {transitive = false}
compileOnly('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-76-GTNH:api') {transitive = false}
compileOnly('com.github.GTNewHorizons:Baubles:1.0.1.14:dev') {transitive = false}
compileOnly('com.github.GTNewHorizons:Railcraft:9.13.6:api') {transitive = false}
compileOnly('com.github.GTNewHorizons:StorageDrawers:1.11.13-GTNH:api') {transitive = false}
compileOnly('com.github.GTNewHorizons:Chisel:2.10.8-GTNH:dev') {transitive = false}
compileOnly('com.github.GTNewHorizons:OpenComputers:1.7.5.23-GTNH:api') {transitive = false}
compileOnly('curse.maven:minefactory-reloaded-66672:2366150') // https://www.curseforge.com/minecraft/mc-mods/minefactory-reloaded/files/2366150
compileOnly('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev')
compileOnly('curse.maven:ee3-65509:2305023') // https://www.curseforge.com/minecraft/mc-mods/ee3/files/2305023
compileOnly(deobf('https://media.forgecdn.net/files/2269/339/ComputerCraft1.75.jar')) // https://www.curseforge.com/minecraft/mc-mods/computercraft/files/2269339
compileOnly(deobf('https://s3.amazonaws.com/aidancbrady/mekanism/281-recommended/Mekanism-1.7.10-9.1.0.281.jar')) // https://aidancbrady.com/mekanism/download/
compileOnly(deobf('https://immibis.com/mcmoddl/files/immibis-microblocks-59.1.2.jar'))
}
Binary file removed dependencies/immibis-microblocks-59.1.2.jar
Binary file not shown.
22 changes: 9 additions & 13 deletions repositories.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,25 @@

repositories {
maven {
name = "GTNH Maven"
url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/"
name 'GTNH Maven'
url 'http://jenkins.usrv.eu:8081/nexus/content/groups/public/'
allowInsecureProtocol
}
maven {
name = "ic2"
url = "http://maven.ic2.player.to/"
name 'ic2'
url 'http://maven.ic2.player.to/'
metadataSources {
mavenPom()
artifact()
}
}
maven {
name "OpenComputers Repo"
url = "http://maven.cil.li/"
metadataSources {
mavenPom()
artifact()
url 'https://cursemaven.com'
content {
includeGroup 'curse.maven'
}
}
maven {
url "https://cursemaven.com"
}
maven {
url = "https://jitpack.io"
url = 'https://jitpack.io'
}
}

0 comments on commit 86da15a

Please sign in to comment.