Skip to content

Commit

Permalink
Unify build script (#31)
Browse files Browse the repository at this point in the history
* unify build script draft
* Fix coreMod parameter
* Use maven dependency for thaumcraft and set AppleCore to compile only
* Use HTTPS for maven repository
* Move CoFHCore and Railcraft out of libs
* Move HungerOverhaul out of libs
* Remove settings.gradle
* Fix injection not found
* Switch GitHub CI to decomp workspace
* Move Jitpack to last
* Updated CI
* Updated build script
* Moved more dependencies to in-house
* Explicit removal or transitive dependencies for now (fix needs adjustment of ForgeGradle)
* Added fix for CI back in
  • Loading branch information
Johann Bernhardt authored Dec 4, 2021
1 parent 2f5bb1e commit f4175b5
Show file tree
Hide file tree
Showing 22 changed files with 728 additions and 232 deletions.
9 changes: 9 additions & 0 deletions .github/scripts/test-no-crash-reports.sh
Original file line number Diff line number Diff line change
@@ -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
45 changes: 45 additions & 0 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
@@ -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: Build and test

on:
pull_request:
branches: [ master, main ]
push:
branches: [ master, main ]

jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
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

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

- 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
45 changes: 45 additions & 0 deletions .github/workflows/release-tags.yml
Original file line number Diff line number Diff line change
@@ -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 setupDecompWorkspace

- 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
105 changes: 23 additions & 82 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,87 +1,28 @@
### Windows ###

thumbs.db
*.db

### Java ###

*.class

# Package Files #
*.war
*.ear
*.txt

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

### Eclipse ###
*.pydevproject
.metadata
.gradle
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
/eclipse

# Eclipse Core
.project

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# CDT-specific
.cproject

# JDT-specific (Eclipse Java Development Tools)
.settings
/.idea/
/run/
/build/
/eclipse/
.classpath

# Java annotation processor (APT)
.factorypath

# PDT-specific
.buildpath

# sbteclipse plugin
.target

# TeXlipse plugin
.texlipse

### Intellij IDEA ###

.project
/bin/
/config/
/crash-reports/
/logs/
options.txt
/saves/
usernamecache.json
banned-ips.json
banned-players.json
eula.txt
ops.json
server.properties
servers.dat
usercache.json
whitelist.json
/out/
*.iml
*.ipr
*.iws

.idea
.idea_modules/
classes/

/out/

# Linux
*~


*.bat
*.dat
*.dat_old
*.dat_mcr
*.lock
*.mca
*.gz
*.log
*.jar
*.errored
run/

src/main/resources/mixins.*.json
Loading

0 comments on commit f4175b5

Please sign in to comment.