@@ -12,10 +12,10 @@ group = "com.cppcxy"
1212
1313// 版本配置
1414object Versions {
15- const val emmyluaAnalyzer = " 0.10 .0"
15+ const val emmyluaAnalyzer = " 0.11 .0"
1616 const val emmyDebugger = " 1.8.6"
1717 const val jvm = " 17"
18- const val ideaSDK = " 2024.3.2.1 "
18+ const val ideaSDK = " 2025.2 "
1919}
2020
2121// 构建数据配置
@@ -48,21 +48,29 @@ version = "${Versions.emmyluaAnalyzer}.${runnerNumber}-IDEA${buildVersion}"
4848object DownloadUrls {
4949 private const val emmyluaAnalyzerProjectUrl = " https://github.com/CppCXY/emmylua-analyzer-rust"
5050 private const val emmyDebuggerProjectUrl = " https://github.com/EmmyLua/EmmyLuaDebugger"
51-
51+
52+ // GitHub 镜像配置
53+ private val githubMirror = System .getProperty(" github.mirror" ) ? : " "
54+ private fun applyMirror (url : String ): String {
55+ return if (githubMirror.isNotEmpty() && url.startsWith(" https://github.com/" )) {
56+ url.replace(" https://github.com/" , githubMirror)
57+ } else url
58+ }
59+
5260 val emmyluaAnalyzer = arrayOf(
5361 " $emmyluaAnalyzerProjectUrl /releases/download/${Versions .emmyluaAnalyzer} /emmylua_ls-win32-x64.zip" ,
5462 " $emmyluaAnalyzerProjectUrl /releases/download/${Versions .emmyluaAnalyzer} /emmylua_ls-linux-x64.tar.gz" ,
5563 " $emmyluaAnalyzerProjectUrl /releases/download/${Versions .emmyluaAnalyzer} /emmylua_ls-darwin-arm64.tar.gz" ,
5664 " $emmyluaAnalyzerProjectUrl /releases/download/${Versions .emmyluaAnalyzer} /emmylua_ls-darwin-x64.tar.gz"
57- )
58-
65+ ).map { applyMirror(it) }.toTypedArray()
66+
5967 val emmyDebugger = arrayOf(
6068 " $emmyDebuggerProjectUrl /releases/download/${Versions .emmyDebugger} /darwin-arm64.zip" ,
6169 " $emmyDebuggerProjectUrl /releases/download/${Versions .emmyDebugger} /darwin-x64.zip" ,
6270 " $emmyDebuggerProjectUrl /releases/download/${Versions .emmyDebugger} /linux-x64.zip" ,
6371 " $emmyDebuggerProjectUrl /releases/download/${Versions .emmyDebugger} /win32-x64.zip" ,
6472 " $emmyDebuggerProjectUrl /releases/download/${Versions .emmyDebugger} /win32-x86.zip"
65- )
73+ ).map { applyMirror(it) }.toTypedArray()
6674}
6775
6876// ============= 任务配置 =============
@@ -71,7 +79,7 @@ object DownloadUrls {
7179val downloadEmmyLuaAnalyzer by tasks.registering(Download ::class ) {
7280 group = " build setup"
7381 description = " Download Emmy Lua Analyzer for all platforms"
74-
82+
7583 src(DownloadUrls .emmyluaAnalyzer)
7684 dest(" temp/analyzer" )
7785 overwrite(false )
@@ -81,7 +89,7 @@ val downloadEmmyLuaAnalyzer by tasks.registering(Download::class) {
8189val downloadEmmyDebugger by tasks.registering(Download ::class ) {
8290 group = " build setup"
8391 description = " Download Emmy Debugger for all platforms"
84-
92+
8593 src(DownloadUrls .emmyDebugger)
8694 dest(" temp/debugger" )
8795 overwrite(false )
@@ -91,10 +99,10 @@ val downloadEmmyDebugger by tasks.registering(Download::class) {
9199val extractDependencies by tasks.registering(Copy ::class ) {
92100 group = " build setup"
93101 description = " Extract downloaded Emmy dependencies"
94-
102+
95103 dependsOn(downloadEmmyLuaAnalyzer, downloadEmmyDebugger)
96104 duplicatesStrategy = DuplicatesStrategy .WARN
97-
105+
98106 // 解压语言服务器
99107 from(zipTree(" temp/analyzer/emmylua_ls-win32-x64.zip" )) {
100108 into(" server/win32-x64" )
@@ -108,7 +116,7 @@ val extractDependencies by tasks.registering(Copy::class) {
108116 from(tarTree(" temp/analyzer/emmylua_ls-darwin-x64.tar.gz" )) {
109117 into(" server/darwin-x64" )
110118 }
111-
119+
112120 // 解压调试器
113121 from(zipTree(" temp/debugger/win32-x86.zip" )) {
114122 into(" debugger/windows/x86" )
@@ -125,23 +133,23 @@ val extractDependencies by tasks.registering(Copy::class) {
125133 from(zipTree(" temp/debugger/linux-x64.zip" )) {
126134 into(" debugger/linux" )
127135 }
128-
136+
129137 destinationDir = file(" temp/extracted" )
130138}
131139
132140// 安装依赖到资源目录
133141val installDependencies by tasks.registering(Copy ::class ) {
134142 group = " build setup"
135143 description = " Install Emmy dependencies to resources directory"
136-
144+
137145 dependsOn(extractDependencies)
138146 duplicatesStrategy = DuplicatesStrategy .WARN
139-
147+
140148 // 复制语言服务器
141149 from(" temp/extracted/server" ) {
142150 into(" server" )
143151 }
144-
152+
145153 // 复制调试器核心文件
146154 listOf (
147155 Triple (" temp/extracted/debugger/windows/x64" , " emmy_core.dll" , " debugger/emmy/windows/x64" ),
@@ -155,21 +163,39 @@ val installDependencies by tasks.registering(Copy::class) {
155163 into(targetPath)
156164 }
157165 }
158-
166+
159167 destinationDir = file(" src/main/resources" )
160168}
161169
162170// 清理任务
163171val cleanDependencies by tasks.registering(Delete ::class ) {
164172 group = " build setup"
165173 description = " Clean downloaded and extracted dependencies"
166-
174+
167175 delete(" temp" )
168176}
169177
170178// ============= 仓库配置 =============
171179repositories {
180+ // 添加阿里云镜像仓库优先使用
181+ maven {
182+ url = uri(" https://maven.aliyun.com/repository/central" )
183+ name = " AliyunMavenCentral"
184+ }
185+ maven {
186+ url = uri(" https://maven.aliyun.com/repository/gradle-plugin" )
187+ name = " AliyunGradlePlugin"
188+ }
189+ maven {
190+ url = uri(" https://maven.aliyun.com/repository/google" )
191+ name = " AliyunGoogle"
192+ }
193+
194+ // 保留原有仓库作为备用
172195 mavenCentral()
196+ google()
197+ gradlePluginPortal()
198+
173199 intellijPlatform {
174200 defaultRepositories()
175201 }
@@ -263,6 +289,7 @@ tasks {
263289 from(" src/main/resources/debugger" ) {
264290 into(" debugger" )
265291 }
292+
266293 }
267294
268295 // 清理任务
0 commit comments