diff options
-rw-r--r-- | .github/workflows/init.yml | 38 | ||||
-rw-r--r-- | build.gradle.kts | 2 | ||||
-rwxr-xr-x | make-my-own.sh | 36 |
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" |