@buaa_smat/hometrans 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +141 -124
- package/agents/build-fixer.md +1 -0
- package/agents/code-review-fix.md +1 -0
- package/agents/code-reviewer.md +1 -0
- package/agents/logic-coding.md +1 -0
- package/agents/logic-context-builder.md +1 -0
- package/agents/review-fixer.md +1 -0
- package/agents/self-test-fixer.md +1 -0
- package/agents/self-tester.md +260 -233
- package/agents/spec-generator.md +1 -0
- package/agents/test-tools/autotest/README.md +223 -0
- package/agents/test-tools/autotest/config.yaml.example +58 -0
- package/agents/test-tools/autotest/pyproject.toml +16 -0
- package/agents/test-tools/autotest/report_tool.py +759 -0
- package/agents/test-tools/autotest/self_test_runner.py +773 -0
- package/agents/test-tools/autotest/testcases_schema.md +143 -0
- package/agents/test-tools/autotest/testcases_tool.py +215 -0
- package/agents/test-tools/autotest/uv.lock +3156 -0
- package/agents/test-tools/harmony_autotest-0.1.0-py3-none-any.whl +0 -0
- package/agents/test-tools/hypium-6.1.0.210-py3-none-any.whl +0 -0
- package/agents/test-tools/hypium_mcp-0.6.5-py3-none-any.whl +0 -0
- package/agents/test-tools/xdevice-6.1.0.210-py3-none-any.whl +0 -0
- package/agents/test-tools/xdevice_devicetest-6.1.0.210-py3-none-any.whl +0 -0
- package/agents/test-tools/xdevice_ohos-6.1.0.210-py3-none-any.whl +0 -0
- package/dist/cli/config-store.js +27 -2
- package/dist/cli/config.js +17 -6
- package/dist/cli/index.js +3 -2
- package/dist/cli/init.js +135 -22
- package/dist/cli/mcp.js +2 -2
- package/dist/context/index.js +165 -69
- package/package.json +59 -60
- package/skills/code-dev-review-fix/SKILL.md +279 -0
- package/skills/code-dev-review-fix-workspace/evals/evals.json +56 -0
- package/skills/code-dev-review-fix-workspace/iteration-1/routing-results.md +23 -0
- package/skills/convert_pipeline/SKILL.md +423 -439
- package/skills/hmos-resources-convert/SKILL.md +623 -0
- package/skills/hmos-resources-convert/evals/evals.json +171 -0
- package/skills/hmos-resources-convert/references/conversion-rules.md +663 -0
- package/skills/hmos-resources-convert/references/dependency-analysis-rules.md +388 -0
- package/skills/hmos-resources-convert/references/resource-mapping-rules.md +457 -0
- package/skills/hmos-resources-convert/references/xml-drawable-to-svg-rules.md +513 -0
- package/skills/hmos-resources-convert/template/AppScope/app.json5 +10 -0
- package/skills/hmos-resources-convert/template/AppScope/resources/base/element/string.json +8 -0
- package/skills/hmos-resources-convert/template/AppScope/resources/base/media/background.png +0 -0
- package/skills/hmos-resources-convert/template/AppScope/resources/base/media/foreground.png +0 -0
- package/skills/hmos-resources-convert/template/AppScope/resources/base/media/layered_image.json +7 -0
- package/skills/hmos-resources-convert/template/build-profile.json5 +42 -0
- package/skills/hmos-resources-convert/template/code-linter.json5 +32 -0
- package/skills/hmos-resources-convert/template/entry/build-profile.json5 +33 -0
- package/skills/hmos-resources-convert/template/entry/hvigorfile.ts +6 -0
- package/skills/hmos-resources-convert/template/entry/obfuscation-rules.txt +23 -0
- package/skills/hmos-resources-convert/template/entry/oh-package.json5 +10 -0
- package/skills/hmos-resources-convert/template/entry/src/main/ets/entryability/EntryAbility.ets +48 -0
- package/skills/hmos-resources-convert/template/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets +16 -0
- package/skills/hmos-resources-convert/template/entry/src/main/ets/pages/Index.ets +23 -0
- package/skills/hmos-resources-convert/template/entry/src/main/module.json5 +55 -0
- package/skills/hmos-resources-convert/template/entry/src/main/resources/base/element/color.json +8 -0
- package/skills/hmos-resources-convert/template/entry/src/main/resources/base/element/float.json +8 -0
- package/skills/hmos-resources-convert/template/entry/src/main/resources/base/element/string.json +16 -0
- package/skills/hmos-resources-convert/template/entry/src/main/resources/base/media/background.png +0 -0
- package/skills/hmos-resources-convert/template/entry/src/main/resources/base/media/foreground.png +0 -0
- package/skills/hmos-resources-convert/template/entry/src/main/resources/base/media/layered_image.json +7 -0
- package/skills/hmos-resources-convert/template/entry/src/main/resources/base/media/startIcon.png +0 -0
- package/skills/hmos-resources-convert/template/entry/src/main/resources/base/profile/backup_config.json +3 -0
- package/skills/hmos-resources-convert/template/entry/src/main/resources/base/profile/main_pages.json +5 -0
- package/skills/hmos-resources-convert/template/entry/src/main/resources/dark/element/color.json +8 -0
- package/skills/hmos-resources-convert/template/entry/src/mock/mock-config.json5 +2 -0
- package/skills/hmos-resources-convert/template/entry/src/ohosTest/ets/test/Ability.test.ets +35 -0
- package/skills/hmos-resources-convert/template/entry/src/ohosTest/ets/test/List.test.ets +5 -0
- package/skills/hmos-resources-convert/template/entry/src/ohosTest/module.json5 +16 -0
- package/skills/hmos-resources-convert/template/entry/src/test/List.test.ets +5 -0
- package/skills/hmos-resources-convert/template/entry/src/test/LocalUnit.test.ets +33 -0
- package/skills/hmos-resources-convert/template/hvigor/hvigor-config.json5 +23 -0
- package/skills/hmos-resources-convert/template/hvigorfile.ts +6 -0
- package/skills/hmos-resources-convert/template/oh-package-lock.json5 +28 -0
- package/skills/hmos-resources-convert/template/oh-package.json5 +10 -0
- package/skills/hmos-resources-convert/tools/apktool.bat +85 -0
- package/skills/hmos-resources-convert/tools/apktool_3.0.1.jar +0 -0
- package/skills/hmos-ui-align/SKILL.md +182 -0
- package/skills/hmos-ui-align/config-example.json +11 -0
- package/skills/hmos-ui-align/config.json +11 -0
- package/skills/hmos-ui-align/diff_analysis.md +53 -0
- package/skills/hmos-ui-align/page_align.md +62 -0
- package/skills/hmos-ui-align/readme.md +231 -0
- package/skills/hmos-ui-align/references/Comparison_Template.md +2 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243/@Link/350/243/205/351/245/260/345/231/250/357/274/232/347/210/266/345/255/220/345/217/214/345/220/221/345/220/214/346/255/245.md +648 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243/@Observed/350/243/205/351/245/260/345/231/250/345/222/214@ObjectLink/350/243/205/351/245/260/345/231/250/357/274/232/345/265/214/345/245/227/347/261/273/345/257/271/350/261/241/345/261/236/346/200/247/345/217/230/345/214/226.md +2089 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243/@Prop/350/243/205/351/245/260/345/231/250/357/274/232/347/210/266/345/255/220/345/215/225/345/220/221/345/220/214/346/255/245.md +1033 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243/@Provide/350/243/205/351/245/260/345/231/250/345/222/214@Consume/350/243/205/351/245/260/345/231/250/357/274/232/344/270/216/345/220/216/344/273/243/347/273/204/344/273/266/345/217/214/345/220/221/345/220/214/346/255/245.md +1183 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243/@State/350/243/205/351/245/260/345/231/250/357/274/232/347/273/204/344/273/266/345/206/205/347/212/266/346/200/201.md +576 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243/@Track/350/243/205/351/245/260/345/231/250/357/274/232class/345/257/271/350/261/241/345/261/236/346/200/247/347/272/247/346/233/264/346/226/260.md +297 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243/@Watch/350/243/205/351/245/260/345/231/250/357/274/232/347/212/266/346/200/201/345/217/230/351/207/217/346/233/264/346/224/271/351/200/232/347/237/245.md +395 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243/AppStorage/357/274/232/345/272/224/347/224/250/345/205/250/345/261/200/347/232/204UI/347/212/266/346/200/201/345/255/230/345/202/250.md +903 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243/Environment/357/274/232/350/256/276/345/244/207/347/216/257/345/242/203/346/237/245/350/257/242.md +106 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243/LocalStorage/357/274/232/351/241/265/351/235/242/347/272/247UI/347/212/266/346/200/201/345/255/230/345/202/250.md +1178 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243/MVVM/346/250/241/345/274/217V1.md +911 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243/MVVM/346/250/241/345/274/217/357/274/210V1/357/274/211.md +911 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243/PersistentStorage/357/274/232/346/214/201/344/271/205/345/214/226/345/255/230/345/202/250UI/347/212/266/346/200/201.md +355 -0
- package/skills/hmos-ui-align/references/MVVM/345/274/200/345/217/221/346/226/207/346/241/243//347/256/241/347/220/206/345/272/224/347/224/250/346/213/245/346/234/211/347/232/204/347/212/266/346/200/201/346/246/202/350/277/260.md +11 -0
- package/skills/hmos-ui-align/references/UI_Analysis_Template.md +4 -0
- package/skills/hmos-ui-align/references/android-to-harmonyOS-ui-atomic-component-mapping-reference.md +2535 -0
- package/skills/hmos-ui-align/references/android-to-harmonyOS-ui-interaction-mapping-reference.md +555 -0
- package/skills/hmos-ui-align/references/android-to-harmonyOS-ui-layout-mapping-reference.md +117 -0
- package/skills/hmos-ui-align/scripts/app_feature_verify.py +443 -0
- package/skills/hmos-ui-align/scripts/navigation-capure.md +37 -0
- package/skills/hmos-ui-align/scripts/page_capture.py +592 -0
- package/skills/hmos-ui-align-batch/SKILL.md +99 -0
- package/skills/hmos-ui-align-batch/references/conversion-procedure.md +180 -0
- package/skills/hmos-ui-align-batch/references/mappings/android-to-harmonyOS-ui-atomic-component-mapping-reference.md +2535 -0
- package/skills/hmos-ui-align-batch/references/mappings/android-to-harmonyOS-ui-interaction-mapping-reference.md +555 -0
- package/skills/hmos-ui-align-batch/references/mappings/android-to-harmonyOS-ui-layout-mapping-reference.md +117 -0
- package/skills/hmos-ui-align-batch/references/mvvm/@Link/350/243/205/351/245/260/345/231/250/357/274/232/347/210/266/345/255/220/345/217/214/345/220/221/345/220/214/346/255/245.md +648 -0
- package/skills/hmos-ui-align-batch/references/mvvm/@Observed/350/243/205/351/245/260/345/231/250/345/222/214@ObjectLink/350/243/205/351/245/260/345/231/250/357/274/232/345/265/214/345/245/227/347/261/273/345/257/271/350/261/241/345/261/236/346/200/247/345/217/230/345/214/226.md +2089 -0
- package/skills/hmos-ui-align-batch/references/mvvm/@Prop/350/243/205/351/245/260/345/231/250/357/274/232/347/210/266/345/255/220/345/215/225/345/220/221/345/220/214/346/255/245.md +1033 -0
- package/skills/hmos-ui-align-batch/references/mvvm/@Provide/350/243/205/351/245/260/345/231/250/345/222/214@Consume/350/243/205/351/245/260/345/231/250/357/274/232/344/270/216/345/220/216/344/273/243/347/273/204/344/273/266/345/217/214/345/220/221/345/220/214/346/255/245.md +1183 -0
- package/skills/hmos-ui-align-batch/references/mvvm/@State/350/243/205/351/245/260/345/231/250/357/274/232/347/273/204/344/273/266/345/206/205/347/212/266/346/200/201.md +576 -0
- package/skills/hmos-ui-align-batch/references/mvvm/@Track/350/243/205/351/245/260/345/231/250/357/274/232class/345/257/271/350/261/241/345/261/236/346/200/247/347/272/247/346/233/264/346/226/260.md +297 -0
- package/skills/hmos-ui-align-batch/references/mvvm/@Watch/350/243/205/351/245/260/345/231/250/357/274/232/347/212/266/346/200/201/345/217/230/351/207/217/346/233/264/346/224/271/351/200/232/347/237/245.md +395 -0
- package/skills/hmos-ui-align-batch/references/mvvm/AppStorage/357/274/232/345/272/224/347/224/250/345/205/250/345/261/200/347/232/204UI/347/212/266/346/200/201/345/255/230/345/202/250.md +903 -0
- package/skills/hmos-ui-align-batch/references/mvvm/Environment/357/274/232/350/256/276/345/244/207/347/216/257/345/242/203/346/237/245/350/257/242.md +106 -0
- package/skills/hmos-ui-align-batch/references/mvvm/LocalStorage/357/274/232/351/241/265/351/235/242/347/272/247UI/347/212/266/346/200/201/345/255/230/345/202/250.md +1178 -0
- package/skills/hmos-ui-align-batch/references/mvvm/MVVM/346/250/241/345/274/217/357/274/210V1/357/274/211.md +911 -0
- package/skills/hmos-ui-align-batch/references/mvvm/PersistentStorage/357/274/232/346/214/201/344/271/205/345/214/226/345/255/230/345/202/250UI/347/212/266/346/200/201.md +355 -0
- package/skills/hmos-ui-align-batch/references/mvvm//347/256/241/347/220/206/345/272/224/347/224/250/346/213/245/346/234/211/347/232/204/347/212/266/346/200/201/346/246/202/350/277/260.md +11 -0
- package/skills/hmos-ui-align-batch/scripts/android_parse_fast.py +1606 -0
- package/skills/self-test/SKILL.md +369 -0
- package/skills/self-test/readme.md +309 -0
- package/skills/spec-generator-skill/SKILL.md +332 -0
- package/skills/spec-generator-skill/references/android-platform-tokens.md +105 -0
- package/skills/spec-generator-skill/references/spec-sample-1.md +78 -0
- package/skills/spec-generator-skill/references/spec-sample-2.md +58 -0
- package/skills/spec-generator-skill/references/spec-sample-3.md +116 -0
- package/skills/spec-generator-skill/references/step4-report-template.md +33 -0
- package/agents/self-test-setup.md +0 -165
- package/dist/context/resources/sdkConfig.json +0 -24
- package/src/context/resources/sdkConfig.json +0 -24
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "hmos-resources-convert",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "I have an Android project at D:\\cc_workspace\\test_android_project and I need to convert all its resources to a HarmonyOS project. Please create the HarmonyOS project at D:\\cc_workspace\\test_harmony_output_1 and convert all resources.",
|
|
7
|
+
"expected_output": "A HarmonyOS project initialized from the template with all convertible Android resources migrated: strings/colors/dimens converted to JSON format in element/, images copied to media/ with proper qualifier directories (hdpi->ldpi, xhdpi->xldpi), Arabic and Chinese strings in qualified directories (ar/element/, zh_CN/element/), night mode colors in dark/element/, raw files in rawfile/, fonts in rawfile/fonts/, unmappable resources (layouts, XML drawables, anims) logged in report. The report should include a dependency map showing inter-resource references and their satisfaction status.",
|
|
8
|
+
"files": [],
|
|
9
|
+
"assertions": [
|
|
10
|
+
{
|
|
11
|
+
"name": "string_json_exists",
|
|
12
|
+
"type": "file_exists",
|
|
13
|
+
"description": "base/element/string.json exists with all 5 strings from values/strings.xml",
|
|
14
|
+
"path": "D:\\cc_workspace\\test_harmony_output_1\\entry\\src\\main\\resources\\base\\element\\string.json"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "color_json_format",
|
|
18
|
+
"type": "content_check",
|
|
19
|
+
"description": "color.json has correct HarmonyOS format with #AARRGGBB (6-digit colors get ff prefix)",
|
|
20
|
+
"path": "D:\\cc_workspace\\test_harmony_output_1\\entry\\src\\main\\resources\\base\\element\\color.json"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "float_json_units",
|
|
24
|
+
"type": "content_check",
|
|
25
|
+
"description": "float.json converts sp->fp and dp->vp correctly",
|
|
26
|
+
"path": "D:\\cc_workspace\\test_harmony_output_1\\entry\\src\\main\\resources\\base\\element\\float.json"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "arabic_qualifier_dir",
|
|
30
|
+
"type": "dir_exists",
|
|
31
|
+
"description": "Arabic strings are in ar/element/ directory",
|
|
32
|
+
"path": "D:\\cc_workspace\\test_harmony_output_1\\entry\\src\\main\\resources\\ar"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "chinese_qualifier_dir",
|
|
36
|
+
"type": "dir_exists",
|
|
37
|
+
"description": "Chinese strings are in zh_CN/element/ directory",
|
|
38
|
+
"path": "D:\\cc_workspace\\test_harmony_output_1\\entry\\src\\main\\resources\\zh_CN"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "hdpi_to_ldpi_mapping",
|
|
42
|
+
"type": "dir_exists",
|
|
43
|
+
"description": "drawable-hdpi images mapped to ldpi/media/ directory",
|
|
44
|
+
"path": "D:\\cc_workspace\\test_harmony_output_1\\entry\\src\\main\\resources\\ldpi\\media"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "dark_mode_colors",
|
|
48
|
+
"type": "file_exists",
|
|
49
|
+
"description": "Night mode colors placed in dark/element/color.json",
|
|
50
|
+
"path": "D:\\cc_workspace\\test_harmony_output_1\\entry\\src\\main\\resources\\dark\\element\\color.json"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "rawfile_copy",
|
|
54
|
+
"type": "file_exists",
|
|
55
|
+
"description": "Raw files copied to rawfile/",
|
|
56
|
+
"path": "D:\\cc_workspace\\test_harmony_output_1\\entry\\src\\main\\resources\\rawfile\\config.json"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "report_generated",
|
|
60
|
+
"type": "content_check",
|
|
61
|
+
"description": "A conversion report is generated showing mappings, unmappable resources (layout, anim, XML drawable), and verification results"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "dependency_map_in_report",
|
|
65
|
+
"type": "content_check",
|
|
66
|
+
"description": "Report includes a 'Resource Dependency Map' section listing resource dependencies and their satisfaction status"
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": 2,
|
|
72
|
+
"prompt": "Please convert the Android project resources at D:\\cc_workspace\\GSYVideoPlayer-master to HarmonyOS format. Create the HarmonyOS project at D:\\cc_workspace\\test_harmony_output_2. This project has drawable-xhdpi images, multiple mipmap density folders, raw files, and various values resources. Make sure to analyze resource dependencies — some XML drawables reference colors that may come from library dependencies.",
|
|
73
|
+
"expected_output": "A HarmonyOS project with GSYVideoPlayer's resources converted. The dependency analysis should identify that XML drawables like dialog_btn_bg.xml reference @color/btn_rect_alpha and @color/transparent. The report should show a dependency map with satisfaction status. If colors like btn_rect_alpha are not found in the source values/, the skill should attempt APK build + decompilation to recover them. xhdpi drawables in xldpi/media/, mipmap icons at various densities converted to media/ with qualifier dirs, values (strings, colors, dimens) converted to element JSON, raw files in rawfile/.",
|
|
74
|
+
"files": [],
|
|
75
|
+
"assertions": [
|
|
76
|
+
{
|
|
77
|
+
"name": "project_initialized",
|
|
78
|
+
"type": "file_exists",
|
|
79
|
+
"description": "HarmonyOS project structure exists with entry module",
|
|
80
|
+
"path": "D:\\cc_workspace\\test_harmony_output_2\\entry\\src\\main\\resources\\base"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "xhdpi_drawable_converted",
|
|
84
|
+
"type": "dir_exists",
|
|
85
|
+
"description": "drawable-xhdpi resources mapped to xldpi/media/",
|
|
86
|
+
"path": "D:\\cc_workspace\\test_harmony_output_2\\entry\\src\\main\\resources\\xldpi\\media"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "strings_converted",
|
|
90
|
+
"type": "file_exists",
|
|
91
|
+
"description": "strings.xml converted to string.json in base/element/",
|
|
92
|
+
"path": "D:\\cc_workspace\\test_harmony_output_2\\entry\\src\\main\\resources\\base\\element\\string.json"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "colors_converted",
|
|
96
|
+
"type": "file_exists",
|
|
97
|
+
"description": "colors.xml converted to color.json",
|
|
98
|
+
"path": "D:\\cc_workspace\\test_harmony_output_2\\entry\\src\\main\\resources\\base\\element\\color.json"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"name": "dependency_map_exists",
|
|
102
|
+
"type": "content_check",
|
|
103
|
+
"description": "Report contains a dependency map section showing references from drawable XMLs (e.g., dialog_btn_bg.xml → @color/btn_rect_alpha)"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "dependency_satisfaction_tracked",
|
|
107
|
+
"type": "content_check",
|
|
108
|
+
"description": "Each dependency in the map has a satisfaction status (satisfied/unsatisfied)"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "report_has_unmappable",
|
|
112
|
+
"type": "content_check",
|
|
113
|
+
"description": "Report shows layout files as unmappable but still documents their resource dependencies"
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": 3,
|
|
119
|
+
"prompt": "I need to migrate my Android app resources to HarmonyOS. The Android project is at D:\\cc_workspace\\test_android_project. Please output the HarmonyOS project at D:\\cc_workspace\\test_harmony_output_3. Make sure to handle the qualifier directories correctly - I have drawable-hdpi, drawable-xhdpi, values-ar, values-zh-rCN, and values-night folders that all need proper mapping. Also analyze all resource dependencies and include the dependency mapping in the report.",
|
|
120
|
+
"expected_output": "Same as eval 1 but with extra emphasis on qualifier mapping correctness and dependency analysis. All qualifier directories should be correctly mapped. The report must include a resource dependency map showing all inter-resource references found in XML files (including layout XMLs for documentation purposes), with satisfaction status for each dependency.",
|
|
121
|
+
"files": [],
|
|
122
|
+
"assertions": [
|
|
123
|
+
{
|
|
124
|
+
"name": "hdpi_mapped_to_ldpi",
|
|
125
|
+
"type": "dir_exists",
|
|
126
|
+
"description": "drawable-hdpi mapped to ldpi (HarmonyOS ldpi covers 160-240 DPI range, matching Android hdpi ~240)",
|
|
127
|
+
"path": "D:\\cc_workspace\\test_harmony_output_3\\entry\\src\\main\\resources\\ldpi\\media"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "xhdpi_mapped_to_xldpi",
|
|
131
|
+
"type": "dir_exists",
|
|
132
|
+
"description": "drawable-xhdpi mapped to xldpi (HarmonyOS xldpi covers 240-320 DPI range, matching Android xhdpi ~320)",
|
|
133
|
+
"path": "D:\\cc_workspace\\test_harmony_output_3\\entry\\src\\main\\resources\\xldpi\\media"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "arabic_in_ar_dir",
|
|
137
|
+
"type": "dir_exists",
|
|
138
|
+
"description": "values-ar mapped to ar/element/",
|
|
139
|
+
"path": "D:\\cc_workspace\\test_harmony_output_3\\entry\\src\\main\\resources\\ar\\element"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "chinese_in_zh_CN_dir",
|
|
143
|
+
"type": "dir_exists",
|
|
144
|
+
"description": "values-zh-rCN mapped to zh_CN/element/",
|
|
145
|
+
"path": "D:\\cc_workspace\\test_harmony_output_3\\entry\\src\\main\\resources\\zh_CN\\element"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"name": "night_in_dark_dir",
|
|
149
|
+
"type": "dir_exists",
|
|
150
|
+
"description": "values-night mapped to dark/element/",
|
|
151
|
+
"path": "D:\\cc_workspace\\test_harmony_output_3\\entry\\src\\main\\resources\\dark\\element"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "dependency_map_in_report",
|
|
155
|
+
"type": "content_check",
|
|
156
|
+
"description": "Report includes a 'Resource Dependency Map' section with dependencies extracted from all XML resources"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"name": "layout_dependencies_documented",
|
|
160
|
+
"type": "content_check",
|
|
161
|
+
"description": "Layout XML files (which are not converted) still have their resource dependencies documented in the dependency map"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"name": "comprehensive_report",
|
|
165
|
+
"type": "content_check",
|
|
166
|
+
"description": "Report includes qualifier mapping section, dependency map section, and verification results with dependency satisfaction summary"
|
|
167
|
+
}
|
|
168
|
+
]
|
|
169
|
+
}
|
|
170
|
+
]
|
|
171
|
+
}
|