1+ import org.jackhuang.hmcl.gradle.ci.GitHubActionUtils
2+ import org.jackhuang.hmcl.gradle.ci.JenkinsUtils
13import org.jackhuang.hmcl.gradle.mod.ParseModDataTask
4+ import org.jackhuang.hmcl.gradle.utils.PropertiesUtils
25import java.net.URI
36import java.nio.file.FileSystems
47import java.nio.file.Files
@@ -12,38 +15,44 @@ plugins {
1215 alias(libs.plugins.shadow)
1316}
1417
15- val isOfficial = System .getenv( " HMCL_SIGNATURE_KEY " ) != null
16- || ( System .getenv( " GITHUB_REPOSITORY_OWNER " ) == " HMCL-dev " && System .getenv( " GITHUB_BASE_REF " )
17- .isNullOrEmpty())
18+ val projectConfig = PropertiesUtils .load(rootProject.file( " config/project.properties " ).toPath())
19+
20+ val isOfficial = JenkinsUtils . IS_ON_CI || GitHubActionUtils . IS_ON_OFFICIAL_REPO
1821
19- val buildNumber = System .getenv(" BUILD_NUMBER" )?.toInt().let { number ->
20- val offset = System .getenv(" BUILD_NUMBER_OFFSET" )?.toInt() ? : 0
21- if (number != null ) {
22- (number - offset).toString()
23- } else {
24- val shortCommit = System .getenv(" GITHUB_SHA" )?.lowercase()?.substring(0 , 7 )
25- val prefix = if (isOfficial) " dev" else " unofficial"
26- if (! shortCommit.isNullOrEmpty()) " $prefix -$shortCommit " else " SNAPSHOT"
27- }
28- }
29- val versionRoot = System .getenv(" VERSION_ROOT" ) ? : " 3.6"
3022val versionType = System .getenv(" VERSION_TYPE" ) ? : if (isOfficial) " nightly" else " unofficial"
23+ val versionRoot = System .getenv(" VERSION_ROOT" ) ? : projectConfig.getProperty(" versionRoot" ) ? : " 3"
3124
3225val microsoftAuthId = System .getenv(" MICROSOFT_AUTH_ID" ) ? : " "
3326val microsoftAuthSecret = System .getenv(" MICROSOFT_AUTH_SECRET" ) ? : " "
3427val curseForgeApiKey = System .getenv(" CURSEFORGE_API_KEY" ) ? : " "
3528
36- val launcherExe = System .getenv(" HMCL_LAUNCHER_EXE" )
29+ val launcherExe = System .getenv(" HMCL_LAUNCHER_EXE" ) ? : " "
3730
38- version = " $versionRoot .$buildNumber "
31+ val buildNumber = System .getenv(" BUILD_NUMBER" )?.toInt()
32+ if (buildNumber != null ) {
33+ version = if (JenkinsUtils .IS_ON_CI && versionType == " dev" ) {
34+ " $versionRoot .0.$buildNumber "
35+ } else {
36+ " $versionRoot .$buildNumber "
37+ }
38+ } else {
39+ val shortCommit = System .getenv(" GITHUB_SHA" )?.lowercase()?.substring(0 , 7 )
40+ version = if (shortCommit.isNullOrBlank()) {
41+ " $versionRoot .SNAPSHOT"
42+ } else if (isOfficial) {
43+ " $versionRoot .dev-$shortCommit "
44+ } else {
45+ " $versionRoot .unofficial-$shortCommit "
46+ }
47+ }
3948
4049dependencies {
4150 implementation(project(" :HMCLCore" ))
4251 implementation(" libs:JFoenix" )
4352 implementation(libs.twelvemonkeys.imageio.webp)
4453 implementation(libs.java.info)
4554
46- if (launcherExe == null ) {
55+ if (launcherExe.isBlank() ) {
4756 implementation(libs.hmclauncher)
4857 }
4958}
@@ -162,7 +171,7 @@ tasks.shadowJar {
162171 }
163172 }
164173
165- if (launcherExe != null ) {
174+ if (launcherExe.isNotBlank() ) {
166175 into(" assets" ) {
167176 from(file(launcherExe))
168177 }
0 commit comments