Skip to content

Commit 1bfb09c

Browse files
committed
refactor: merge to new gradle kts and new project configs
1 parent 7d7e204 commit 1bfb09c

File tree

2 files changed

+17
-141
lines changed

2 files changed

+17
-141
lines changed

public/project-template.zip

1.24 KB
Binary file not shown.

src/transaction.js

Lines changed: 17 additions & 141 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)