84 lines
2.8 KiB
YAML
84 lines
2.8 KiB
YAML
name: Update wiki
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- "src/main/java/carpet/CarpetSettings.java"
|
|
jobs:
|
|
Rules:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Carpet sources
|
|
uses: actions/checkout@v2
|
|
- name: Set up JDK 1.8
|
|
uses: actions/setup-java@v1
|
|
with:
|
|
java-version: 1.8
|
|
- name: Cache Gradle packages
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.gradle/caches
|
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
|
|
restore-keys: ${{ runner.os }}-gradle
|
|
- name: Generate RulePrinter class
|
|
run: |
|
|
cd src/main/java/carpet/utils
|
|
echo "
|
|
package carpet.utils;
|
|
import carpet.CarpetServer;
|
|
import carpet.settings.SettingsManager;
|
|
import net.fabricmc.loader.api.entrypoint.PreLaunchEntrypoint;
|
|
import java.lang.System;
|
|
public class RulePrinter implements PreLaunchEntrypoint {
|
|
@Override
|
|
public void onPreLaunch() {
|
|
CarpetServer.onGameStarted();
|
|
CarpetServer.settingsManager.printAllRulesToLog(null);
|
|
System.exit(0);
|
|
}
|
|
}
|
|
" > RulePrinter.java
|
|
cd ../../../../../
|
|
- name: Replace fabric.mod.json
|
|
run: |
|
|
cd src/main/resources
|
|
rm fabric.mod.json
|
|
echo '
|
|
{
|
|
"schemaVersion": 1,
|
|
"id": "carpet",
|
|
"version": "1.4.11",
|
|
"entrypoints": {
|
|
"preLaunch": [ "carpet.utils.RulePrinter" ]
|
|
}
|
|
}' > fabric.mod.json
|
|
cd ../../../
|
|
- name: Run solution
|
|
run: |
|
|
chmod +x gradlew
|
|
./gradlew runServer > settings-toProccess.txt
|
|
- name: Checkout wiki
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: ${{github.repository}}.wiki
|
|
path: wiki
|
|
- name: Proccess Gradle log into a pretty wiki page
|
|
run: |
|
|
from1="# Carpet";
|
|
File=settings-toProccess.txt
|
|
if grep -q "Deprecated Gradle features" "$File"; then # Happens after update to Gradle 6
|
|
to2="Deprecated Gradle features";
|
|
else
|
|
to2="BUILD SUCCESSFUL"
|
|
fi
|
|
a="$(cat settings-toProccess.txt)"; a="$(echo "${a#*"$from1"}")"; echo "$from1${a%%"$to2"*}" > wiki/Current-Available-Settings.md
|
|
- name: Commit updated wiki page
|
|
continue-on-error: true
|
|
run: |
|
|
cd wiki
|
|
git config --global user.name '${{ github.event.pusher.name }}' # Looks better than "github-actions-bot"
|
|
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
|
|
git commit -am "Update wiki for '${{ github.event.head_commit.message }}'"
|
|
git push
|