diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f2c4927..fa9c3a7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,5 +1,4 @@ name: Build - on: push: paths: @@ -12,37 +11,35 @@ on: workflow_dispatch: jobs: - build: - - strategy: - matrix: - configuration: [Debug, Release, Snapshot, BETA, ReleaseUpdate] - + name: Build runs-on: windows-latest - + strategy: + matrix: + configuration: [Debug, Release] steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set Describe shell: bash run: | - Describe=`git describe --tags --always` - echo "Describe=$Describe" >> $GITHUB_ENV - + describe=`git describe --tags --always` + echo "describe=$describe" >> $GITHUB_ENV - name: Setup MSBuild.exe uses: microsoft/setup-msbuild@v2 with: msbuild-architecture: x64 - + - name: Replace + run: | + (gc "Plain Craft Launcher 2\Modules\ModSecret.vb") -replace 'Public Const OAuthClientId As String = ""', 'Public Const OAuthClientId As String = "${{ secrets.CLIENT_ID }}"' | Out-File "Plain Craft Launcher 2\Modules\ModSecret.vb" + (gc "Plain Craft Launcher 2\Modules\ModSecret.vb") -replace 'Public Const CurseForgeAPIKey As String = ""', 'Public Const CurseForgeAPIKey As String = "${{ secrets.CURSEFORGE_API_KEY }}"' | Out-File "Plain Craft Launcher 2\Modules\ModSecret.vb" + (gc "Plain Craft Launcher 2\Modules\Base\ModBase.vb") -replace 'Public Const CommitHash As String = ""', 'Public Const CommitHash As String = "${{ github.sha }}"' | Out-File "Plain Craft Launcher 2\Modules\Base\ModBase.vb" - name: Build run: msbuild "Plain Craft Launcher 2\Plain Craft Launcher 2.vbproj" -p:Configuration=${{ matrix.configuration }} - - name: Upload a Build Artifact uses: actions/upload-artifact@v4 with: - name: ${{ matrix.configuration }} ${{ env.Describe }} + name: ${{ matrix.configuration }} ${{ env.describe }} path: Plain Craft Launcher 2\obj\${{ matrix.configuration }}\Plain Craft Launcher 2.exe diff --git a/Plain Craft Launcher 2/Application.xaml.vb b/Plain Craft Launcher 2/Application.xaml.vb index 2ee8be9..b3e296c 100644 --- a/Plain Craft Launcher 2/Application.xaml.vb +++ b/Plain Craft Launcher 2/Application.xaml.vb @@ -105,7 +105,7 @@ Public Class Application '日志初始化 LogStart() '添加日志 - Log($"[Start] 程序版本:{VersionDisplayName} ({VersionCode})") + Log($"[Start] 程序版本:{VersionDisplayName} ({VersionCode}){If(CommitHash <> "", $",Commit Hash:{CommitHash}", "")}") Log($"[Start] 识别码:{UniqueAddress}{If(ThemeCheckOne(9), ",已解锁反馈主题", "")}") Log($"[Start] 程序路径:{PathWithName}") Log($"[Start] 系统编码:{Encoding.Default} ({Encoding.Default.CodePage}, GBK={IsGBKEncoding})") diff --git a/Plain Craft Launcher 2/Modules/Base/ModBase.vb b/Plain Craft Launcher 2/Modules/Base/ModBase.vb index 994dfaa..4538e22 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModBase.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModBase.vb @@ -13,6 +13,7 @@ Public Module ModBase '下列版本信息由更新器自动修改 Public Const VersionBaseName As String = "2.8.6" '不含分支前缀的显示用版本名 Public Const VersionStandardCode As String = "2.8.6." & VersionBranchCode '标准格式的四段式版本号 + Public Const CommitHash As String = "" 'Commit Hash #If BETA Then Public Const VersionCode As Integer = 336 'Release #Else diff --git a/Plain Craft Launcher 2/Modules/ModSecret.vb b/Plain Craft Launcher 2/Modules/ModSecret.vb index 00b26c0..99092f8 100644 --- a/Plain Craft Launcher 2/Modules/ModSecret.vb +++ b/Plain Craft Launcher 2/Modules/ModSecret.vb @@ -12,6 +12,8 @@ Friend Module ModSecret Public Const RegFolder As String = "PCLDebug" '用于微软登录的 ClientId Public Const OAuthClientId As String = "" + 'CurseForge API Key + Public Const CurseForgeAPIKey As String = "" Friend Sub SecretOnApplicationStart() '提升 UI 线程优先级 @@ -44,7 +46,7 @@ Friend Module ModSecret End If '开源版本提示 MyMsgBox($"该版本中无法使用以下特性: -- CurseForge API 调用:需要你自行申请 API Key,然后添加到 SecretHeadersSign 方法中 +- CurseForge API 调用:需要你自行申请 API Key,然后添加到 ModSecret.vb 的开头 - 正版登录:需要你自行申请 Client ID,然后添加到 ModSecret.vb 的开头 - 更新与联网通知:避免滥用隐患 - 主题切换:这是需要赞助解锁的纪念性质的功能,别让赞助者太伤心啦…… @@ -107,7 +109,7 @@ Friend Module ModSecret Client.Headers("User-Agent") = "PCL2/" & VersionStandardCode End If Client.Headers("Referer") = "http://" & VersionCode & ".pcl2.open.server/" - '如果你有 CurseForge API Key,请添加到 Headers 中,以恢复对 CurseForge 的访问 + Client.Headers("x-api-key") = CurseForgeAPIKey End Sub ''' ''' 设置 Headers 的 UA、Referer。 @@ -121,7 +123,7 @@ Friend Module ModSecret Request.UserAgent = "PCL2/" & VersionStandardCode End If Request.Referer = "http://" & VersionCode & ".pcl2.open.server/" - '如果你有 CurseForge API Key,请添加到 Headers 中,以恢复对 CurseForge 的访问 + Request.Headers("x-api-key") = CurseForgeAPIKey End Sub #End Region