{ // 使用 VS Code 任务将构建与打包拆分,支持单步或一键串行执行 "version": "2.0.0", "tasks": [ { "label": "mvn: build to workspace .m2", "type": "shell", "command": "mvn", "args": [ "-am", "-DskipTests", "clean", "install", "-Dmaven.repo.local=${workspaceFolder}\\.m2\\repo" ], "options": { "cwd": "${workspaceFolder}" }, "group": "build", "problemMatcher": [] }, { "label": "prep: ensure dist", "type": "shell", "command": "cmd", "args": [ "/c", "if not exist \"dist\" mkdir \"dist\" & del /q \"dist\\*.zip\" 2>nul" ], "options": { "cwd": "${workspaceFolder}" }, "problemMatcher": [] }, { "label": "zip: geekxd subfolders -> dist (7z)", "type": "shell", "command": "cmd", "args": [ "/c", "if exist \".m2\\repo\\com\\datai\\geekxd\" (for /d %D in (\".m2\\repo\\com\\datai\\geekxd\\*\") do 7z a -tzip \"dist\\%~nD.zip\" \"%~fD\\*\" -y) else (echo Base path not found: .m2\\repo\\com\\datai\\geekxd & exit /b 1)" ], "options": { "cwd": "${workspaceFolder}" }, "problemMatcher": [] }, { "label": "构建minilib并打包到dist", "dependsOn": [ "mvn: build to workspace .m2", "prep: ensure dist", "zip: geekxd subfolders -> dist (7z)" ], "dependsOrder": "sequence", "group": { "kind": "build", "isDefault": true } } ] }