@@ -105,91 +105,6 @@ const transaction = {
105105 } ) ;
106106 return finalCode ;
107107 } ,
108- /**
109- * 注入依赖 - 适用于 'build.gradle' 文件
110- * @param origCode 原始代码
111- * @param dependencies 依赖内容数组
112- * @return string
113- */
114- implement : ( origCode , ...dependencies ) => {
115- if ( dependencies . length <= 0 ) return ;
116- let finalCode = origCode ;
117- dependencies . forEach ( ( value ) => {
118- finalCode = finalCode . concat ( value . type , codeFiles . space ( 1 ) , '\'' ,
119- value . groupId , ':' , value . artifactId , ':' , value . version , '\'\n' , codeFiles . space ( 4 ) ) ;
120- } ) ;
121- return finalCode ;
122- } ,
123- 'build.gradle' : {
124- dependencies : {
125- androidXposed : {
126- type : 'compileOnly' ,
127- groupId : 'de.robv.android.xposed' ,
128- artifactId : 'api' ,
129- version : '82'
130- } ,
131- yukiHookApiApi : {
132- type : 'implementation' ,
133- groupId : 'com.highcapable.yukihookapi' ,
134- artifactId : 'api' ,
135- version : configs . projectDependencies . yukiHookApiVersion
136- } ,
137- yukiHookApiKsp : {
138- type : 'ksp' ,
139- groupId : 'com.highcapable.yukihookapi' ,
140- artifactId : 'ksp-xposed' ,
141- version : configs . projectDependencies . yukiHookApiVersion
142- } ,
143- drawabletoolbox : {
144- type : 'implementation' ,
145- groupId : 'com.github.duanhong169' ,
146- artifactId : 'drawabletoolbox' ,
147- version : '1.0.7'
148- } ,
149- androidxCoreKtx : {
150- type : 'implementation' ,
151- groupId : 'androidx.core' ,
152- artifactId : 'core-ktx' ,
153- version : '1.10.1'
154- } ,
155- appcompat : {
156- type : 'implementation' ,
157- groupId : 'androidx.appcompat' ,
158- artifactId : 'appcompat' ,
159- version : '1.6.1'
160- } ,
161- material : {
162- type : 'implementation' ,
163- groupId : 'com.google.android.material' ,
164- artifactId : 'material' ,
165- version : '1.9.0'
166- } ,
167- constraintlayout : {
168- type : 'implementation' ,
169- groupId : 'androidx.constraintlayout' ,
170- artifactId : 'constraintlayout' ,
171- version : '2.1.4'
172- } ,
173- junit : {
174- type : 'testImplementation' ,
175- groupId : 'junit' ,
176- artifactId : 'junit' ,
177- version : '4.13.2'
178- } ,
179- androidxTestExt : {
180- type : 'androidTestImplementation' ,
181- groupId : 'androidx.test.ext' ,
182- artifactId : 'junit' ,
183- version : '1.1.5'
184- } ,
185- androidxTestEspresso : {
186- type : 'androidTestImplementation' ,
187- groupId : 'androidx.test.espresso' ,
188- artifactId : 'espresso-core' ,
189- version : '3.5.1'
190- }
191- }
192- } ,
193108 'AndroidManifest.xml' : {
194109 newXSharePrefs : ( isEnabled ) => ( '<meta-data\n' +
195110 codeFiles . space ( 12 ) + 'android:name="xposedsharedprefs"\n' +
@@ -227,6 +142,16 @@ const transaction = {
227142 }
228143 } ;
229144
145+ /**
146+ * Settings 插件命名空间
147+ */
148+ const settingsPlugins = {
149+ // TODO SweetDependency 和 SweetProperty 暂时不支持自动获取版本
150+ // 后期合并到 IDEA 插件后再做这里的更新
151+ sweetDependencyVersion : '1.0.2' ,
152+ sweetPropertyVersion : '1.0.3'
153+ }
154+
230155 /**
231156 * 更新创建进度显示
232157 * @param progress 当前进度
@@ -359,65 +284,19 @@ const transaction = {
359284 codeFiles [ 'HookEntry.kt' ] . configs . enableYChannel ( configs . yukiHookApiConfig . enableYChannel === 1 ) ) ;
360285 hookEntryConfigsCode = hookEntryConfigsCode . trim ( ) ;
361286 if ( hookEntryConfigsCode === '' ) hookEntryConfigsCode = '// Your code here.' ;
362- let gradleDependenciesCode = '' ;
363- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
364- codeFiles [ 'build.gradle' ] . dependencies . androidXposed ) ;
365- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
366- codeFiles [ 'build.gradle' ] . dependencies . yukiHookApiApi ) ;
367- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
368- codeFiles [ 'build.gradle' ] . dependencies . yukiHookApiKsp ) ;
369- switch ( configs . basicConfig . moduleCompoment ) {
370- case 0 :
371- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
372- codeFiles [ 'build.gradle' ] . dependencies . drawabletoolbox ) ;
373- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
374- codeFiles [ 'build.gradle' ] . dependencies . androidxCoreKtx ) ;
375- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
376- codeFiles [ 'build.gradle' ] . dependencies . appcompat ) ;
377- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
378- codeFiles [ 'build.gradle' ] . dependencies . material ) ;
379- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
380- codeFiles [ 'build.gradle' ] . dependencies . constraintlayout ) ;
381- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
382- codeFiles [ 'build.gradle' ] . dependencies . junit ) ;
383- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
384- codeFiles [ 'build.gradle' ] . dependencies . androidxTestExt ) ;
385- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
386- codeFiles [ 'build.gradle' ] . dependencies . androidxTestEspresso ) ;
387- break ;
388- case 1 :
389- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
390- codeFiles [ 'build.gradle' ] . dependencies . androidxCoreKtx ) ;
391- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
392- codeFiles [ 'build.gradle' ] . dependencies . appcompat ) ;
393- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
394- codeFiles [ 'build.gradle' ] . dependencies . material ) ;
395- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
396- codeFiles [ 'build.gradle' ] . dependencies . constraintlayout ) ;
397- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
398- codeFiles [ 'build.gradle' ] . dependencies . junit ) ;
399- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
400- codeFiles [ 'build.gradle' ] . dependencies . androidxTestExt ) ;
401- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
402- codeFiles [ 'build.gradle' ] . dependencies . androidxTestEspresso ) ;
403- break ;
404- case 2 :
405- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
406- codeFiles [ 'build.gradle' ] . dependencies . junit ) ;
407- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
408- codeFiles [ 'build.gradle' ] . dependencies . androidxTestExt ) ;
409- gradleDependenciesCode = codeFiles . implement ( gradleDependenciesCode ,
410- codeFiles [ 'build.gradle' ] . dependencies . androidxTestEspresso ) ;
411- break ;
412- }
413- gradleDependenciesCode = gradleDependenciesCode . trim ( ) ;
414- fileSystem . replaces ( targetPath , [ 'gradle' , 'properties' , 'kt' , 'xml' ] , [
287+ fileSystem . replaces ( targetPath , [ 'gradle.kts' , 'properties' , 'kt' , 'xml' , 'yaml' ] , [
415288 {
416289 placeholder : '{GRADLE_PAPER}' ,
417290 value : configs . projectDependencies . gradlePaper
418291 } , {
419292 placeholder : '{GRADLE_PROPERTIES_DATE}' ,
420293 value : dateTime . cstTime ( )
294+ } , {
295+ placeholder : '{SWEETDEPENDENCY_VERSION}' ,
296+ value : settingsPlugins . sweetDependencyVersion
297+ } , {
298+ placeholder : '{SWEETPROPERTY_VERSION}' ,
299+ value : settingsPlugins . sweetPropertyVersion
421300 } , {
422301 placeholder : '{AGP_VERSION}' ,
423302 value : configs . projectDependencies . androidGradlePluginVersion
@@ -457,9 +336,6 @@ const transaction = {
457336 } , {
458337 placeholder : '{SCOPE_ITEMS}' ,
459338 value : moduleScopesCode
460- } , {
461- placeholder : '{GRADLE_DEPENDENCIES}' ,
462- value : gradleDependenciesCode
463339 } , {
464340 placeholder : '{YUKIHOOKAPI_MODULE_ACTIVE_STATUS}' ,
465341 value : moduleActiveStatusCode
0 commit comments