Add template repository workflow

This commit is contained in:
nea 2023-06-28 12:53:08 +02:00
parent 7e8fa83e5a
commit 1b8cfb5563
No known key found for this signature in database
GPG key ID: AA563E93EB628D91
3 changed files with 75 additions and 1 deletions

38
.github/workflows/init.yml vendored Normal file
View file

@ -0,0 +1,38 @@
name: Initialize Template Repo
on:
- push
permissions:
contents: write
jobs:
cleanup:
name: "Initialize Repo"
runs-on: ubuntu-latest
if: github.event.repository.name != 'Forge1.8.9Template'
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Initialize Repo
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
owner=$(echo $GITHUB_REPOSITORY | cut -d/ -f1 | tr '[:upper:]' '[:lower:]')
name=$(echo $GITHUB_REPOSITORY | cut -d/ -f2 | tr '[:upper:]' '[:lower:]' | tr -d "-" | tr -d ".")
pack_name="com.github.${owner,,}.${name,,}"
proj_name="$(echo $GITHUB_REPOSITORY | cut -d/ -f2)"
modid="$(echo $name | sed 's/[^a-z]//g')"
./make-my-own.sh "$pack_name" "$proj_name" "$modid"
git add .
git commit -F- <<EOF
Initialize template repository proper
Set package name to $pack_name
Set project name to $proj_name
Set modid to $modid
EOF
- name: Push changes
uses: ad-m/github-push-action@v0.6.0
with:
branch: ${{ github.ref }}
github_token: ${{ secrets.GITHUB_TOKEN }}

View file

@ -12,7 +12,7 @@ val baseGroup: String by project
val mcVersion: String by project
val version: String by project
val mixinGroup = "$baseGroup.mixin"
val modid = rootProject.name
val modid: String by project
// Toolchains:
java {

36
make-my-own.sh Executable file
View file

@ -0,0 +1,36 @@
#!/usr/bin/env bash
print_help() {
echo "$0 <new package name> <project name> <modid>"
}
if [ "$#" -ne "3" ]; then
print_help
exit 0
fi
base=$(dirname "$(readlink -f "$0")")
echo "Updating $base"
package_name="$1"
project_name="$2"
modid="$3"
package_dir=$(echo "$package_name" | tr . /)
echo "Setting package name to $package_name"
echo "Setting project name to $project_name"
echo "Setting package dir to $package_dir"
echo "Setting mod id to $modid"
(
set -x
find "$base"/src/main -type f -exec sed -i s/examplemod/"$modid"/g\;s/com.example/"$package_name"/g {} +
sed -i s/com.example/"$package_name"/g\;s/examplemod/"$modid"/g "$base"/gradle.properties
sed -i s/examplemod/"$project_name"/g "$base"/settings.gradle.kts
mkdir -p "$base"/src/main/java/"$package_dir"
mkdir -p "$base"/src/main/kotlin/"$package_dir"
mv "$base"/src/main/java/com/example/* "$base"/src/main/java/"$package_dir"
mv "$base"/src/main/kotlin/com/example/* "$base"/src/main/kotlin/"$package_dir"
mv "$base"/src/main/resources/mixins.examplemod.json "$base"/src/main/resources/mixins."$modid".json
rm "$base"/.github/workflows/init.yml
rm "$(readlink -f $0)"
)
echo "All done"
echo "Now go commit those changes"