Skip to content

Commit

Permalink
Major update
Browse files Browse the repository at this point in the history
  • Loading branch information
Hugman76 committed Jun 23, 2023
1 parent 0ec5996 commit 0fc1563
Show file tree
Hide file tree
Showing 22 changed files with 505 additions and 415 deletions.
43 changes: 24 additions & 19 deletions .github/workflows/check_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,36 @@
# against bad commits.

name: Check Build
on: [pull_request, push]
on:
pull_request:
types: [review_requested, ready_for_review]
push:
branches: [main, dev]

jobs:
build:
strategy:
matrix:
java: [ 17 ]
os: [ ubuntu-20.04 ]
name: Build the project (Java ${{ matrix.java }}, on ${{ matrix.os }}))
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Setup JDK ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- name: Make Gradle wrapper executable
if: ${{ runner.os != 'Windows' }}
run: chmod +x ./gradlew
- name: Build
run: ./gradlew build
- name: Capture build artifacts
uses: actions/upload-artifact@v2
with:
name: Artifacts
path: build/libs/

- name: Checkout repository
uses: actions/checkout@v2

- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1

- name: Setup JDK ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}

- name: Make Gradle wrapper executable
if: ${{ runner.os != 'Windows' }}
run: chmod +x ./gradlew

- name: Build
run: ./gradlew build
56 changes: 0 additions & 56 deletions .github/workflows/publish_new_version.yml

This file was deleted.

98 changes: 98 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Automatically builds and publishes the mod when a new release is created on GitHub.
# It uploads the mod to GitHub, CurseForge and Modrinth.

name: Release

on:
release:
types: [published]

jobs:
publish:
name: Build & Publish
runs-on: ubuntu-latest
steps:

- name: Checkout repository
uses: actions/checkout@v3

- name: Download translations from Crowdin
uses: crowdin/github-action@v1
with:
upload_sources: false
upload_translations: false
download_translations: true
create_pull_request: false
push_translations: false
env:
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}

- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: '17'

- name: Grant execute permission for gradlew
run: chmod +x ./gradlew

- name: Build with Gradle
run: ./gradlew clean build -Pversion=${{ github.event.release.tag_name }}

- name: Read Gradle properties
id: gradle_properties
uses: christian-draeger/read-properties@1.1.1
with:
path: './gradle.properties'
properties: 'mod_id mod_name mod_logo mod_color loader_name loader_icon minecraft_version'

- name: Publish mod to GitHub, CurseForge and Modrinth
id: publish
uses: Kir-Antipov/mc-publish@v3.3
with:
curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }}
modrinth-token: ${{ secrets.MODRINTH_TOKEN }}
github-token: ${{ secrets.GITHUB_TOKEN }}

changelog: ${{ github.event.release.body }}
java: 17

modrinth-featured: false

- name: Add job summary
run: |
echo "# Results" >> $GITHUB_STEP_SUMMARY
echo "- Mod ID: ${{ steps.gradle_properties.outputs.mod_id }}" >> $GITHUB_STEP_SUMMARY
echo "- Mod Name: ${{ steps.gradle_properties.outputs.mod_name }}" >> $GITHUB_STEP_SUMMARY
echo "- Mod Version: ${{ github.event.release.tag_name }}" >> $GITHUB_STEP_SUMMARY
echo "- Release Name: ${{ github.event.release.name }}" >> $GITHUB_STEP_SUMMARY
echo "- Minecraft Version: ${{ steps.gradle_properties.outputs.minecraft_version }}" >> $GITHUB_STEP_SUMMARY
echo "- [CurseForge Link](${{ steps.publish.outputs.curseforge-url }})" >> $GITHUB_STEP_SUMMARY
echo "- [Modrinth Link](${{ steps.publish.outputs.modrinth-url }})" >> $GITHUB_STEP_SUMMARY
echo "- [GitHub Link](${{ steps.publish.outputs.github-url }})" >> $GITHUB_STEP_SUMMARY
echo "# Changelog" >> $GITHUB_STEP_SUMMARY
echo "${{ github.event.release.body }}" >> $GITHUB_STEP_SUMMARY
- name: Send Discord webhook
uses: Ilshidur/action-discord@0.3.2
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
DISCORD_EMBEDS: |
[{
"title": "${{ github.event.release.name }} for ${{ steps.gradle_properties.outputs.minecraft_version }} Released",
"color": ${{ steps.gradle_properties.outputs.mod_color }},
"thumbnail": {
"url": "${{ steps.gradle_properties.outputs.mod_logo }}"
},
"url": "${{ steps.publish.outputs.curseforge-url }}",
"fields": [
{
"name": "Download now:",
"value": "[<:curseforge:805066577871110196> CurseForge](${{ steps.publish.outputs.curseforge-url }})\n[<:modrinth:805066578215043092> Modrinth](${{ steps.publish.outputs.modrinth-url }})\n[<:github:805066578164580392> GitHub](${{ steps.publish.outputs.github-url }})",
"inline": true
}
],
"footer": {
"text": "A ${{ steps.gradle_properties.outputs.loader_name }} Mod",
"icon_url": "${{ steps.gradle_properties.outputs.loader_icon }}"
}
}]
27 changes: 27 additions & 0 deletions .github/workflows/sync.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Automatically upload translations to Crowdin for every push to the main or dev branch.
# This allows strings to be translated before a new version is released.

name: Synchronize Project

on:
push:
paths:
- 'src/main/resources/assets/dawn/lang/en_us.json'
branches: [main, dev]

jobs:
crowdin:
runs-on: ubuntu-latest
steps:

- name: Checkout repository
uses: actions/checkout@v3

- name: Upload translations source file to Crowdin
uses: crowdin/github-action@v1
with:
upload_sources: true
upload_translations: false
download_translations: false
env:
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
19 changes: 7 additions & 12 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
plugins {
id 'fabric-loom' version '1.1-SNAPSHOT'
id 'fabric-loom' version '1.2-SNAPSHOT'
}

apply from: 'https://dawnteammc.github.io/resources/gradle_scripts/fabric-mod/java-17.gradle'
apply from: 'https://dawnteammc.github.io/resources/gradle_scripts/fabric-publish.gradle'
apply from: 'https://dawnteammc.github.io/resources/gradle_scripts/fabric-translate.gradle'

repositories {
maven { url 'https://maven.terraformersmc.com/' } // Required for Mod Menu and Terraform APIs
Expand All @@ -13,19 +11,16 @@ repositories {
}

dependencies {
modImplementation "com.terraformersmc.terraform-api:terraform-shapes-api-v1:${terraform_shapes_version}"
include "com.terraformersmc.terraform-api:terraform-shapes-api-v1:${terraform_shapes_version}"
modImplementation "com.terraformersmc.terraform-api:terraform-wood-api-v1:${terraform_wood_version}"
include "com.terraformersmc.terraform-api:terraform-wood-api-v1:${terraform_wood_version}"
includeMod "com.terraformersmc.terraform-api:terraform-shapes-api-v1:${terraform_shapes_version}"
includeMod "com.terraformersmc.terraform-api:terraform-wood-api-v1:${terraform_wood_version}"

modImplementation "me.shedaniel.cloth:cloth-config-fabric:${cloth_version}"
include "me.shedaniel.cloth:cloth-config-fabric:${cloth_version}"
includeMod "me.shedaniel.cloth:cloth-config-fabric:${cloth_version}"

modImplementation("com.terraformersmc:modmenu:${modmenu_version}") {
modApi("com.terraformersmc:modmenu:${modmenu_version}") {
exclude(group: "net.fabricmc.fabric-api")
}
modImplementation "squeek.appleskin:appleskin-fabric:mc1.19.4-${appleskin_version}:api"
modImplementation("squeek.appleskin:appleskin-fabric:mc1.19.4-${appleskin_version}") {
modApi "squeek.appleskin:appleskin-fabric:mc1.20-${appleskin_version}:api"
modApi("squeek.appleskin:appleskin-fabric:mc1.20-${appleskin_version}") {
exclude module: 'modmenu'
}
}
Expand Down
8 changes: 8 additions & 0 deletions crowdin.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
project_id: "427504"
api_token_env: "CROWDIN_PERSONAL_TOKEN"
preserve_hierarchy: true

files:
- source: "src/main/resources/assets/dawn/lang/en_us.json"
translation: "src/main/resources/assets/dawn/lang/%locale_with_underscore%.json"
dest: "dawn.json"
43 changes: 11 additions & 32 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,47 +1,26 @@
org.gradle.jvmargs=-Xmx1G

# Mod Metadata
# Release Metadata
mod_id=dawn
mod_name=Dawn API
mod_logo=https://dawnteammc.github.io/images/logo.png
mod_color=0x4159e7
mod_default_release_type=stable

# Loader Metadata
mod_color=4282855
loader_name=Fabric
loader_icon=https://fabricmc.net/assets/logo.png

# GitHub Metadata
github_name=DawnAPI

# CurseForge Metadata
curseforge_slug=dawn
curseforge_id=399309
curseforge_game_versions=1.19.4, Java 17, Fabric, Quilt
curseforge_embedded_libraries=cloth-config
curseforge_required_dependencies=fabric-api

# Modrinth Metadata
modrinth_slug=dawn
modrinth_id=meZK2DCX
modrinth_game_versions=1.19.4
modrinth_mod_loaders=fabric, quilt
modrinth_embedded_dependencies=cloth-config
modrinth_required_dependencies=fabric-api

# https://fabricmc.net/develop/
minecraft_version=1.19.4
yarn_mappings=1.19.4+build.1
loader_version=0.14.18
fabric_version=0.76.0+1.19.4
minecraft_version=1.20
yarn_mappings=1.20+build.1
loader_version=0.14.21
fabric_version=0.83.0+1.20

# https://maven.shedaniel.me/me/shedaniel/cloth/cloth-config-fabric/
cloth_version=10.0.96
cloth_version=11.0.99
# https://maven.terraformersmc.com/releases/com/terraformersmc/terraform-api/terraform-shapes-api-v1
terraform_shapes_version=6.1.0
terraform_shapes_version=7.0.1
# https://maven.terraformersmc.com/releases/com/terraformersmc/terraform-api/terraform-wood-api-v1
terraform_wood_version=6.1.0
terraform_wood_version=7.0.1
# https://maven.terraformersmc.com/releases/com/terraformersmc/modmenu/
modmenu_version=6.2.2
modmenu_version=7.0.1
# https://maven.ryanliptak.com/squeek/appleskin/appleskin-fabric/
appleskin_version=2.4.3
appleskin_version=2.5.0
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit 0fc1563

Please sign in to comment.