diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 56fc67aa..af7c94db 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -63,7 +63,7 @@ jobs:
python .\.github\workflows\updateVersion.py -T Windows -N ${{ env.Version }}
cmd /c '.\ResourceHacker.exe -open .\love-11.3-win64\Techmino.exe -save .\love-11.3-win64\Techmino.exe -action delete -mask ICONGROUP,,'
cmd /c '.\ResourceHacker.exe -open .\Techmino.rc -save .\Techmino.res -action compile'
- cmd /c '.\ResourceHacker.exe -open .\love-11.3-win64\Techmino.exe -save .\love-11.3-win64\Techmino.exe -action addoverwrite -res ".\build\Windows\icon.ico" -mask ICONGROUP,1,'
+ cmd /c '.\ResourceHacker.exe -open .\love-11.3-win64\Techmino.exe -save .\love-11.3-win64\Techmino.exe -action addoverwrite -res ".\build\Windows\icon_snapshot.ico" -mask ICONGROUP,1,'
cmd /c '.\ResourceHacker.exe -open .\love-11.3-win64\Techmino.exe -save .\love-11.3-win64\Techmino.exe -action addoverwrite -res ".\Techmino.res" -mask VERSIONINFO,1,'
- name: Upload
uses: actions/upload-artifact@v2
@@ -131,11 +131,14 @@ jobs:
name: Techmino_${{ env.Version }}_${{ GITHUB.RUN_NUMBER }}_${{ env.CommitID }}_Linux
path: Techmino.AppImage
- #Android待更新
build-android:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
+ - uses: actions/setup-java@v2
+ with:
+ distribution: 'adopt'
+ java-version: '8'
- name: Install lua
run: |
sudo apt-get update -y
@@ -155,33 +158,53 @@ jobs:
- name: Update Version
run: |
python3 ./.github/workflows/updateVersion.py -T Version -H ${{ env.CommitID }}
- - name: Download Apktool
- run: curl -OL https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.5.0.jar
- - name: Unpack and Repack
+ - name: Clone love-android
run: |
- curl -OL https://github.com/26F-Studio/Techmino/releases/download/v0.15.1/Techmino.apk
- java -jar ./apktool_2.5.0.jar d -s -o apk ./Techmino.apk
- 7z x ./apk/assets/game.love libAndroid -o.
- rm -rf ./apk/assets/game.love ./Techmino.apk
- 7z a -tzip ./apk/assets/game.love ./document ./libAndroid ./media ./parts ./Zframework ./conf.lua ./font.ttf ./main.lua ./version.lua
- python3 ./.github/workflows/updateVersion.py -T Android -C $(lua ./.github/workflows/getVersion.lua -code) -N ${{ env.Version }}
- java -jar ./apktool_2.5.0.jar b -o apk ./Techmino.apk
- - uses: 26F-Studio/sign-android-release@master
- name: Sign APK
- id: sign_app
- with:
- releaseDirectory: ./Techmino.apk
- signingKeyBase64: ${{ secrets.SIGNING_KEY }}
- alias: ${{ secrets.ALIAS }}
- keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
- keyPassword: ${{ secrets.KEY_PASSWORD }}
- env:
- BUILD_TOOLS_VERSION: "30.0.2"
+ git clone --recurse-submodules https://github.com/26F-Studio/love-android
+ cd ./love-android
+ git checkout --recurse-submodules CI
+ - name: Download androidSDK
+ run: |
+ wget -O commandlinetools.zip https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
+ - name: Unpack androidSDK
+ run: |
+ unzip ./commandlinetools.zip
+ - name: Install SDK NDK
+ run: |
+ yes | ./cmdline-tools/bin/sdkmanager --sdk_root=. --install "platforms;android-30"
+ yes | ./cmdline-tools/bin/sdkmanager --sdk_root=. --install "ndk;21.3.6528147"
+ export ANDROID_HOME=$(pwd)
+ - name: Download ColdClear
+ run: |
+ curl -OL https://github.com/26F-Studio/cold_clear_ai_love2d_wrapper/releases/download/latest/android_aarch64.zip
+ curl -OL https://github.com/26F-Studio/cold_clear_ai_love2d_wrapper/releases/download/latest/android_armv7.zip
+ - name: Unpack ColdClear
+ run: |
+ 7z x ./android_aarch64.zip -oColdClear/android_aarch64
+ 7z x ./android_armv7.zip -oColdClear/android_armv7
+ - name: Pack Techmino
+ run: |
+ mkdir -p ./love-android/app/src/main/assets
+ mkdir -p ./love-android/app/libs/arm64-v8a
+ mkdir -p ./love-android/app/libs/armeabi-v7a
+ mv ./ColdClear/android_aarch64/love-11.3-android/lib/arm64-v8a/libcold_clear.so ./love-android/app/libs/arm64-v8a
+ mv ./ColdClear/android_armv7/love-11.3-android/lib/armeabi-v7a/libcold_clear.so ./love-android/app/libs/armeabi-v7a
+ mkdir -p ./libAndroid/arm64-v8a
+ mkdir -p ./libAndroid/armeabi-v7a
+ mv ./ColdClear/android_aarch64/libs/arm64-v8a/libCCloader.so ./libAndroid/arm64-v8a
+ mv ./ColdClear/android_armv7/libs/armeabi-v7a/libCCloader.so ./libAndroid/armeabi-v7a
+ 7z a -tzip ./love-android/app/src/main/assets/game.love ./document ./media ./parts ./Zframework ./libAndroid ./conf.lua ./font.ttf ./main.lua ./version.lua
+ echo "${{ secrets.SIGNING_KEY }}" | base64 -d > ./love-android/app/android.keystore
+ python3 ./.github/workflows/updateVersion.py -T AndroidSnapshot -C $(lua ./.github/workflows/getVersion.lua -code) -N ${{ env.Version }} -S ${{ secrets.KEY_STORE_PASSWORD }} -A ${{ secrets.ALIAS }} -K ${{ secrets.KEY_PASSWORD }}
+ chmod 777 ./love-android/gradlew
+ cd ./love-android/
+ ./gradlew assembleRelease
+ mv ./app/build/outputs/apk/release/app-release.apk ./app/build/outputs/apk/release/Techmino_Snapshot.apk
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Techmino_${{ env.Version }}_${{ GITHUB.RUN_NUMBER }}_${{ env.CommitID }}_Android
- path: ${{steps.sign_app.outputs.signedReleaseFile}}
+ path: ./love-android/app/build/outputs/apk/release/Techmino_Snapshot.apk
build-macOS:
runs-on: macos-10.15
@@ -221,6 +244,8 @@ jobs:
run: |
python3 ./.github/workflows/updateVersion.py -T macOS -N ${{ env.Version }}
mv ./Techmino.love ./Techmino.app/Contents/Resources
+ rm -rf ./Techmino.app/Contents/Resources/iconfile.icns
+ mv ./build/macOS/icon_snapshot.icns ./Techmino.app/Contents/Resources/iconfile.icns
- name: Codesign executable
# In secrets:
# - MACOS_CERTIFICATE: the *.p12 Developer ID Certificate, encoded in base64
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index f5f50bcf..1dba1aef 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -191,11 +191,14 @@ jobs:
name: ${{ env.Title }}
files: Techmino.a${{ env.Version }}.AppImage
- #Android待更新
build-android:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
+ - uses: actions/setup-java@v2
+ with:
+ distribution: 'adopt'
+ java-version: '8'
- name: Install lua
run: |
sudo apt-get update -y
@@ -212,39 +215,62 @@ jobs:
run: |
Title=$(lua ./.github/workflows/getVersion.lua -updateTitle)
echo "Title=${Title}" >> $GITHUB_ENV
- - name: Download Apktool
- run: curl -OL https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.5.0.jar
- - name: Unpack and Repack
+ - name: Clone love-android
run: |
- curl -OL https://github.com/26F-Studio/Techmino/releases/download/v0.15.1/Techmino.apk
- java -jar ./apktool_2.5.0.jar d -s -o apk ./Techmino.apk
- 7z x ./apk/assets/game.love libAndroid -o.
- rm -rf ./apk/assets/game.love ./Techmino.apk
- 7z a -tzip ./apk/assets/game.love ./document ./libAndroid ./media ./parts ./Zframework ./conf.lua ./font.ttf ./main.lua ./version.lua
- python3 ./.github/workflows/updateVersion.py -T Android -C $(lua ./.github/workflows/getVersion.lua -code) -N $(lua ./.github/workflows/getVersion.lua -name)
- java -jar ./apktool_2.5.0.jar b -o apk ./Techmino.a${{ env.Version }}.apk
- - uses: 26F-Studio/sign-android-release@master
- name: Sign APK
- id: sign_app
- with:
- releaseDirectory: ./Techmino.a${{ env.Version }}.apk
- signingKeyBase64: ${{ secrets.SIGNING_KEY }}
- alias: ${{ secrets.ALIAS }}
- keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
- keyPassword: ${{ secrets.KEY_PASSWORD }}
- env:
- BUILD_TOOLS_VERSION: "30.0.2"
+ git clone --recurse-submodules https://github.com/26F-Studio/love-android
+ cd ./love-android
+ git checkout --recurse-submodules CI
+ - name: Download androidSDK
+ run: |
+ wget -O commandlinetools.zip https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
+ - name: Unpack androidSDK
+ run: |
+ unzip ./commandlinetools.zip
+ - name: Install SDK NDK
+ run: |
+ yes | ./cmdline-tools/bin/sdkmanager --sdk_root=. --install "platforms;android-30"
+ yes | ./cmdline-tools/bin/sdkmanager --sdk_root=. --install "ndk;21.3.6528147"
+ export ANDROID_HOME=$(pwd)
+ - name: Download ColdClear
+ run: |
+ curl -OL https://github.com/26F-Studio/cold_clear_ai_love2d_wrapper/releases/download/latest/android_aarch64.zip
+ curl -OL https://github.com/26F-Studio/cold_clear_ai_love2d_wrapper/releases/download/latest/android_armv7.zip
+ - name: Unpack ColdClear
+ run: |
+ 7z x ./android_aarch64.zip -oColdClear/android_aarch64
+ 7z x ./android_armv7.zip -oColdClear/android_armv7
+ - name: Pack Techmino
+ run: |
+ mkdir -p ./love-android/app/src/main/assets
+ mkdir -p ./love-android/app/libs/arm64-v8a
+ mkdir -p ./love-android/app/libs/armeabi-v7a
+ mv ./ColdClear/android_aarch64/love-11.3-android/lib/arm64-v8a/libcold_clear.so ./love-android/app/libs/arm64-v8a
+ mv ./ColdClear/android_armv7/love-11.3-android/lib/armeabi-v7a/libcold_clear.so ./love-android/app/libs/armeabi-v7a
+ mkdir -p ./libAndroid/arm64-v8a
+ mkdir -p ./libAndroid/armeabi-v7a
+ mv ./ColdClear/android_aarch64/libs/arm64-v8a/libCCloader.so ./libAndroid/arm64-v8a
+ mv ./ColdClear/android_armv7/libs/armeabi-v7a/libCCloader.so ./libAndroid/armeabi-v7a
+ 7z a -tzip ./love-android/app/src/main/assets/game.love ./document ./media ./parts ./Zframework ./libAndroid ./conf.lua ./font.ttf ./main.lua ./version.lua
+ echo "${{ secrets.SIGNING_KEY }}" | base64 -d > ./love-android/app/android.keystore
+ python3 ./.github/workflows/updateVersion.py -T AndroidRelease -C $(lua ./.github/workflows/getVersion.lua -code) -N $(lua ./.github/workflows/getVersion.lua -name) -S ${{ secrets.KEY_STORE_PASSWORD }} -A ${{ secrets.ALIAS }} -K ${{ secrets.KEY_PASSWORD }}
+ chmod 777 ./love-android/gradlew
+ cd ./love-android/
+ ./gradlew assembleRelease
+ mv ./app/build/outputs/apk/release/app-release.apk ./app/build/outputs/apk/release/Techmino.a${{ env.Version }}.apk
- name: Release
uses: softprops/action-gh-release@v1
with:
name: ${{ env.Title }}
- files: ${{steps.sign_app.outputs.signedReleaseFile}}
+ files: ./love-android/app/build/outputs/apk/release/Techmino.a${{ env.Version }}.apk
- #Android-mini待更新
build-android-mini:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
+ - uses: actions/setup-java@v2
+ with:
+ distribution: 'adopt'
+ java-version: '8'
- name: Install lua
run: |
sudo apt-get update -y
@@ -261,34 +287,54 @@ jobs:
run: |
Title=$(lua ./.github/workflows/getVersion.lua -updateTitle)
echo "Title=${Title}" >> $GITHUB_ENV
- - name: Download Apktool
- run: curl -OL https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.5.0.jar
- - name: Unpack and Repack
+ - name: Clone love-android
run: |
- curl -OL https://github.com/26F-Studio/Techmino/releases/download/v0.15.1/Techmino.apk
- java -jar ./apktool_2.5.0.jar d -s -o apk ./Techmino.apk
- 7z x ./apk/assets/game.love libAndroid -o.
- rm -rf ./apk/assets/game.love ./Techmino.apk
+ git clone --recurse-submodules https://github.com/26F-Studio/love-android
+ cd ./love-android
+ git checkout --recurse-submodules CI
+ - name: Download androidSDK
+ run: |
+ wget -O commandlinetools.zip https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
+ - name: Unpack androidSDK
+ run: |
+ unzip ./commandlinetools.zip
+ - name: Install SDK NDK
+ run: |
+ yes | ./cmdline-tools/bin/sdkmanager --sdk_root=. --install "platforms;android-30"
+ yes | ./cmdline-tools/bin/sdkmanager --sdk_root=. --install "ndk;21.3.6528147"
+ export ANDROID_HOME=$(pwd)
+ - name: Download ColdClear
+ run: |
+ curl -OL https://github.com/26F-Studio/cold_clear_ai_love2d_wrapper/releases/download/latest/android_aarch64.zip
+ curl -OL https://github.com/26F-Studio/cold_clear_ai_love2d_wrapper/releases/download/latest/android_armv7.zip
+ - name: Unpack ColdClear
+ run: |
+ 7z x ./android_aarch64.zip -oColdClear/android_aarch64
+ 7z x ./android_armv7.zip -oColdClear/android_armv7
+ - name: Pack Techmino
+ run: |
+ mkdir -p ./love-android/app/src/main/assets
+ mkdir -p ./love-android/app/libs/arm64-v8a
+ mkdir -p ./love-android/app/libs/armeabi-v7a
+ mv ./ColdClear/android_aarch64/love-11.3-android/lib/arm64-v8a/libcold_clear.so ./love-android/app/libs/arm64-v8a
+ mv ./ColdClear/android_armv7/love-11.3-android/lib/armeabi-v7a/libcold_clear.so ./love-android/app/libs/armeabi-v7a
+ mkdir -p ./libAndroid/arm64-v8a
+ mkdir -p ./libAndroid/armeabi-v7a
+ mv ./ColdClear/android_aarch64/libs/arm64-v8a/libCCloader.so ./libAndroid/arm64-v8a
+ mv ./ColdClear/android_armv7/libs/armeabi-v7a/libCCloader.so ./libAndroid/armeabi-v7a
rm -rf ./media/BGM ./media/SFX ./media/VOICE
- 7z a -tzip ./apk/assets/game.love ./document ./libAndroid ./media ./parts ./Zframework ./conf.lua ./font.ttf ./main.lua ./version.lua
- python3 ./.github/workflows/updateVersion.py -T Android -C $(lua ./.github/workflows/getVersion.lua -code) -N $(lua ./.github/workflows/getVersion.lua -name)
- java -jar ./apktool_2.5.0.jar b -o apk ./Techmino.a${{ env.Version }}.mini.apk
- - uses: 26F-Studio/sign-android-release@master
- name: Sign APK
- id: sign_app
- with:
- releaseDirectory: ./Techmino.a${{ env.Version }}.mini.apk
- signingKeyBase64: ${{ secrets.SIGNING_KEY }}
- alias: ${{ secrets.ALIAS }}
- keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
- keyPassword: ${{ secrets.KEY_PASSWORD }}
- env:
- BUILD_TOOLS_VERSION: "30.0.2"
+ 7z a -tzip ./love-android/app/src/main/assets/game.love ./document ./media ./parts ./Zframework ./libAndroid ./conf.lua ./font.ttf ./main.lua ./version.lua
+ echo "${{ secrets.SIGNING_KEY }}" | base64 -d > ./love-android/app/android.keystore
+ python3 ./.github/workflows/updateVersion.py -T AndroidRelease -C $(lua ./.github/workflows/getVersion.lua -code) -N $(lua ./.github/workflows/getVersion.lua -name) -S ${{ secrets.KEY_STORE_PASSWORD }} -A ${{ secrets.ALIAS }} -K ${{ secrets.KEY_PASSWORD }}
+ chmod 777 ./love-android/gradlew
+ cd ./love-android/
+ ./gradlew assembleRelease
+ mv ./app/build/outputs/apk/release/app-release.apk ./app/build/outputs/apk/release/Techmino.a${{ env.Version }}.mini.apk
- name: Release
uses: softprops/action-gh-release@v1
with:
name: ${{ env.Title }}
- files: ${{steps.sign_app.outputs.signedReleaseFile}}
+ files: ./love-android/app/build/outputs/apk/release/Techmino.a${{ env.Version }}.mini.apk
build-macOS:
runs-on: macos-10.15
@@ -368,6 +414,7 @@ jobs:
- name: Get ReleaseTitle
run: |
Title=$(lua ./.github/workflows/getVersion.lua -updateTitle)
+ echo "Title=${Title}" >> $GITHUB_ENV
- name: Pack Techmino
run: |
7z a -tzip ./Techmino.a${{ env.Version }}.love ./document ./media ./parts ./Zframework ./conf.lua ./font.ttf ./main.lua ./version.lua
@@ -388,14 +435,13 @@ jobs:
sudo apt-get install lua5.3 -y
- name: Get ReleaseTitle
run: |
- Title=lua ./.github/workflows/getVersion.lua -updateTitle
+ Title=$(lua ./.github/workflows/getVersion.lua -updateTitle)
echo "Title=${Title}" >> $GITHUB_ENV
- name: Get ReleaseNote
run: |
- Note=lua ./.github/workflows/getVersion.lua -updateNote
- echo "Note=${Note}" >> $GITHUB_ENV
+ lua ./.github/workflows/getVersion.lua -updateNote > updateNote.txt
- name: Release
uses: softprops/action-gh-release@v1
with:
name: ${{ env.Title }}
- body: ${{ env.Note }}
\ No newline at end of file
+ body_path: ./updateNote.txt
\ No newline at end of file
diff --git a/.github/workflows/updateVersion.py b/.github/workflows/updateVersion.py
index bc47dba1..397981dc 100644
--- a/.github/workflows/updateVersion.py
+++ b/.github/workflows/updateVersion.py
@@ -14,7 +14,6 @@ def updateVersion(args): #更新版本号
data = file.read()
if args.Hash != False:
data = data.replace('@DEV', f'@{args.Hash[0:4]}')
- updateConf()
else:
data = data.replace('@DEV', '')
file.seek(0)
@@ -24,25 +23,52 @@ def updateVersion(args): #更新版本号
def updateMacOS(args): #更新macOS打包信息
import datetime
- with open('./build/macOS/info.plist.template', 'r', encoding='utf-8') as template:
- template = ((template.read()).replace('@versionName', args.Name)).replace('@ThisYear', str(datetime.datetime.today().year))
- with open('./Techmino.app/Contents/info.plist', 'w+', encoding='utf-8') as file:
- file.write(template)
+ thisYear = str(datetime.datetime.today().year)
+ with open('./build/macOS/info.plist.template', 'r', encoding='utf-8') as file:
+ data = file.read()
+ data = data\
+ .replace('@versionName', args.Name)\
+ .replace('@thisYear', thisYear)
+ with open('./Techmino.app/Contents/info.plist', 'w+', encoding='utf-8') as file:
+ file.write(data)
def updateWindows(args): #更新Windows打包信息
Version = (args.Name).replace('V', '')
FileVersion = (f"{Version.replace('.', ',')},0")
- with open('./build/Windows/Techmino.rc.template', 'r', encoding='utf8') as templace:
- template = ((templace.read()).replace('@FileVersion', FileVersion)).replace('@Version', Version)
- with open('Techmino.rc', 'w+', encoding='utf8') as file:
- file.write(template)
-
-def updateAndroid(args): #更新Android打包信息
- import re
- with open('./apk/apktool.yml', 'r+', encoding='utf-8') as file:
+ with open('./build/Windows/Techmino.rc.template', 'r', encoding='utf8') as file:
data = file.read()
- data = re.sub("versionCode:.+", f"versionCode: '{args.Code}'", data)
- data = re.sub("versionName:.+", f"versionName: '{args.Name}'", data)
+ data = data\
+ .replace('@FileVersion', FileVersion)\
+ .replace('@Version', Version)
+ with open('Techmino.rc', 'w+', encoding='utf8') as file:
+ file.write(data)
+
+def updateAndroid(args, edition): #更新Android打包信息
+ if edition == 'Release':
+ appName = 'Techmino'
+ packageName = 'org.love2d.MrZ.Techmino'
+ edition = 'release'
+ elif edition == 'Snapshot':
+ appName = 'Techmino_Snapshot'
+ packageName = 'org.love2d.MrZ.Techmino.Snapshot'
+ edition = 'snapshot'
+ with open('./love-android/app/src/main/AndroidManifest.xml', "r+", encoding='utf-8') as file:
+ data = file.read()
+ data = data\
+ .replace('@appName', appName)\
+ .replace('@edition', edition)
+ file.seek(0)
+ file.truncate()
+ file.write(data)
+ with open("./love-android/app/build.gradle", "r+", encoding='utf-8') as file:
+ data = file.read()
+ data = data\
+ .replace('@packageName', packageName)\
+ .replace('@versionCode', args.Code)\
+ .replace('@versionName', args.Name)\
+ .replace('@storePassword', args.Store)\
+ .replace('@keyAlias', args.Alias)\
+ .replace('@keyPassword', args.Key)
file.seek(0)
file.truncate()
file.write(data)
@@ -53,6 +79,9 @@ if __name__ == '__main__':
parser.add_argument('-H', '--Hash', type=str, default = False, help = 'Github提交Hash')
parser.add_argument('-C', '--Code', type=str, default = False, help = 'versionCode')
parser.add_argument('-N', '--Name', type=str, default = False, help = 'versionName')
+ parser.add_argument('-S', '--Store', type=str, default = False, help = 'storePassword')
+ parser.add_argument('-A', '--Alias', type=str, default = False, help = 'keyAlias')
+ parser.add_argument('-K', '--Key', type=str, default = False, help = 'keyPassword')
args = parser.parse_args()
if args.Type == 'Conf':
updateConf()
@@ -62,5 +91,7 @@ if __name__ == '__main__':
updateWindows(args)
elif args.Type == 'macOS':
updateMacOS(args)
- elif args.Type == 'Android':
- updateAndroid(args)
\ No newline at end of file
+ elif args.Type == 'AndroidRelease':
+ updateAndroid(args, 'Release')
+ elif args.Type == 'AndroidSnapshot':
+ updateAndroid(args, 'Snapshot')
\ No newline at end of file
diff --git a/build/macOS/icon_snapshot.icns b/build/macOS/icon_snapshot.icns
new file mode 100644
index 00000000..d6c38d38
Binary files /dev/null and b/build/macOS/icon_snapshot.icns differ
diff --git a/build/macOS/info.plist.template b/build/macOS/info.plist.template
index 44b90389..3a8ee729 100644
--- a/build/macOS/info.plist.template
+++ b/build/macOS/info.plist.template
@@ -47,7 +47,7 @@
NSHighResolutionCapable
NSHumanReadableCopyright
- ©2020-@ThisYear 26F Studio, GNU LGPLv3.0
+ ©2020-@thisYear 26F Studio, GNU LGPLv3.0
NSPrincipalClass
NSApplication
NSSupportsAutomaticGraphicsSwitching