aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/init.yml38
-rw-r--r--build.gradle.kts2
-rwxr-xr-xmake-my-own.sh36
3 files changed, 75 insertions, 1 deletions
diff --git a/.github/workflows/init.yml b/.github/workflows/init.yml
new file mode 100644
index 0000000..c18810f
--- /dev/null
+++ b/.github/workflows/init.yml
@@ -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 }}
diff --git a/build.gradle.kts b/build.gradle.kts
index 3f514b2..57b0a73 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -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 {
diff --git a/make-my-own.sh b/make-my-own.sh
new file mode 100755
index 0000000..ff8f1ec
--- /dev/null
+++ b/make-my-own.sh
@@ -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"