|
18 | 18 | }, |
19 | 19 | }, |
20 | 20 | { |
21 | | - "label": "Build Docs", |
22 | | - "command": "sphinx-build", |
23 | | - "args": ["-T", "-E", "${workspaceFolder}/docs", "${workspaceFolder}/.docs_build"], |
| 21 | + "label": "Build Package", |
| 22 | + "detail": "Builds the package as a wheel file in the dist/ directory", |
24 | 23 | "type": "shell", |
| 24 | + "problemMatcher": [], |
| 25 | + "command": "uv", |
| 26 | + "args": ["build", "--wheel"], |
25 | 27 | "presentation": |
26 | 28 | { |
27 | | - "echo": true, |
28 | 29 | "reveal": "always", |
| 30 | + "clear": true, |
29 | 31 | "focus": false, |
30 | 32 | "panel": "shared", |
31 | | - "showReuseMessage": false, |
32 | | - "clear": true |
33 | 33 | }, |
34 | 34 | }, |
35 | 35 | { |
36 | | - "label": "Auto Build Docs", |
37 | | - "command": "sphinx-autobuild", |
38 | | - "args": ["-T", "-E", "${workspaceFolder}/docs", "${workspaceFolder}/.docs_build", "--port", "9999"], |
| 36 | + "label": "Build Docker Image", |
| 37 | + "detail": "Builds the Docker image for the application", |
| 38 | + "dependsOn": "Build Package", |
| 39 | + "type": "shell", |
| 40 | + "problemMatcher": [], |
| 41 | + "command": "docker", |
| 42 | + "args": [ |
| 43 | + "build", |
| 44 | + "-t", "acockburn/appdaemon:local-dev", |
| 45 | + // "-f", "Dockerfile.uv", |
| 46 | + "${workspaceFolder}" |
| 47 | + ], |
| 48 | + "presentation": |
| 49 | + { |
| 50 | + "reveal": "always", |
| 51 | + "clear": true, |
| 52 | + "focus": false, |
| 53 | + "panel": "shared", |
| 54 | + }, |
| 55 | + }, |
| 56 | + { |
| 57 | + "label": "Build Multi-Platform Docker Images", |
| 58 | + "detail": "Builds Docker images for multiple platforms and analyzes their sizes", |
| 59 | + "type": "shell", |
| 60 | + "problemMatcher": [], |
| 61 | + "command": "${workspaceFolder}/scripts/multiplatform-docker-build.sh", |
| 62 | + "group": "build", |
| 63 | + "presentation": |
| 64 | + { |
| 65 | + "reveal": "always", |
| 66 | + "clear": true, |
| 67 | + "focus": true, |
| 68 | + "panel": "shared", |
| 69 | + }, |
| 70 | + }, |
| 71 | + { |
| 72 | + "label": "Build Docs", |
| 73 | + "detail": "Builds the docs into a self-contained set of HTML files using Sphinx", |
39 | 74 | "type": "shell", |
| 75 | + "problemMatcher": [], |
| 76 | + "command": "uv", |
| 77 | + "args": [ |
| 78 | + "run", "--extra", "doc", |
| 79 | + "sphinx-build", "-T", "-E", |
| 80 | + "${workspaceFolder}/docs", |
| 81 | + "${workspaceFolder}/.docs_build" |
| 82 | + ], |
40 | 83 | "presentation": |
41 | 84 | { |
42 | 85 | "echo": true, |
43 | 86 | "reveal": "always", |
44 | 87 | "focus": false, |
45 | 88 | "panel": "shared", |
46 | | - "showReuseMessage": false, |
| 89 | + "showReuseMessage": true, |
47 | 90 | "clear": true |
48 | 91 | }, |
49 | 92 | }, |
50 | 93 | { |
51 | | - "label": "Build Package", |
| 94 | + "label": "Auto Build Docs", |
| 95 | + "detail": "Runs the Sphinx documentation server on localhost:9999 with live reloading.", |
| 96 | + "type": "process", |
| 97 | + "problemMatcher": [], |
52 | 98 | "command": "uv", |
53 | | - "args": ["build"], |
54 | | - "type": "shell", |
| 99 | + "args": [ |
| 100 | + "run", "--extra", "doc", |
| 101 | + "sphinx-autobuild", "-T", "-E", |
| 102 | + "${workspaceFolder}/docs", |
| 103 | + "${workspaceFolder}/.docs_build", |
| 104 | + "--port", "9999", |
| 105 | + "--watch", "${workspaceFolder}/appdaemon", |
| 106 | + "--watch", "${workspaceFolder}/tests", |
| 107 | + ], |
55 | 108 | "presentation": |
56 | 109 | { |
57 | 110 | "echo": true, |
58 | 111 | "reveal": "always", |
59 | 112 | "focus": false, |
60 | 113 | "panel": "shared", |
61 | | - "showReuseMessage": false, |
| 114 | + "showReuseMessage": true, |
62 | 115 | "clear": true |
63 | 116 | }, |
64 | 117 | }, |
65 | 118 | { |
66 | 119 | "label": "Build Runtime Requirements", |
67 | | - "command": "uv", |
68 | | - "args": ["pip", "compile", "--resolver=backtracking", "--upgrade", "pyproject.toml"], |
69 | 120 | "type": "shell", |
| 121 | + "problemMatcher": [], |
| 122 | + "command": "uv", |
| 123 | + "args": ["pip", "compile", "--upgrade", "pyproject.toml"], |
70 | 124 | "presentation": |
71 | 125 | { |
72 | 126 | "echo": true, |
73 | 127 | "reveal": "always", |
74 | 128 | "focus": false, |
75 | 129 | "panel": "shared", |
76 | | - "showReuseMessage": false, |
| 130 | + "group": "requirements", |
| 131 | + "showReuseMessage": true, |
77 | 132 | "clear": true |
78 | 133 | }, |
79 | 134 | }, |
80 | 135 | { |
81 | 136 | "label": "Build Dev Requirements", |
82 | | - "command": "uv", |
83 | | - "args": ["pip", "compile", "--extra=dev", "--output-file=dev-requirements.txt", "--resolver=backtracking", "--upgrade", "pyproject.toml"], |
84 | 137 | "type": "shell", |
| 138 | + "problemMatcher": [], |
| 139 | + "command": "uv", |
| 140 | + "args": [ |
| 141 | + "pip", "compile", |
| 142 | + "--extra=dev", |
| 143 | + "--output-file=dev-requirements.txt", |
| 144 | + "--upgrade", "pyproject.toml" |
| 145 | + ], |
85 | 146 | "presentation": |
86 | 147 | { |
87 | 148 | "echo": true, |
88 | 149 | "reveal": "always", |
89 | 150 | "focus": false, |
90 | 151 | "panel": "shared", |
91 | | - "showReuseMessage": false, |
| 152 | + "group": "requirements", |
| 153 | + "showReuseMessage": true, |
92 | 154 | "clear": true |
93 | 155 | }, |
94 | 156 | }, |
95 | 157 | { |
96 | 158 | "label": "Build Doc Requirements", |
97 | | - "command": "uv", |
98 | | - "args": ["pip", "compile", "--extra=doc", "--output-file=doc-requirements.txt", "--resolver=backtracking", "--upgrade", "pyproject.toml"], |
99 | 159 | "type": "shell", |
| 160 | + "problemMatcher": [], |
| 161 | + "command": "uv", |
| 162 | + "args": [ |
| 163 | + "pip", "compile", |
| 164 | + "--extra=doc", |
| 165 | + "--output-file=doc-requirements.txt", |
| 166 | + "--upgrade", "pyproject.toml" |
| 167 | + ], |
100 | 168 | "presentation": |
101 | 169 | { |
102 | 170 | "echo": true, |
103 | 171 | "reveal": "always", |
104 | 172 | "focus": false, |
105 | 173 | "panel": "shared", |
106 | | - "showReuseMessage": false, |
| 174 | + "group": "requirements", |
| 175 | + "showReuseMessage": true, |
107 | 176 | "clear": true |
108 | 177 | }, |
109 | 178 | }, |
110 | 179 | { |
111 | | - "label": "Build All Requirements", |
112 | | - "dependsOn": ["Build Runtime Requirements", "Build Dev Requirements", "Build Doc Requirements"] |
| 180 | + "label": "Build All Requirements Files", |
| 181 | + "detail": "Resolves all the dependencies into requirements files.", |
| 182 | + "dependsOn": ["Build Runtime Requirements", "Build Dev Requirements", "Build Doc Requirements"], |
| 183 | + "problemMatcher": [], |
113 | 184 | }, |
114 | 185 | { |
115 | 186 | "label": "Install Dependencies", |
116 | | - "command": "pip", |
117 | | - "args": ["install", "-r", "requirements.txt", "-r", "doc-requirements.txt", "-r", "dev-requirements.txt"], |
| 187 | + "detail": "Installs all the dependencies, including dev and doc extras", |
118 | 188 | "type": "shell", |
| 189 | + "problemMatcher": [], |
| 190 | + "command": "uv", |
| 191 | + "args": ["sync", "--all-extras"], |
119 | 192 | "presentation": |
120 | 193 | { |
121 | 194 | "echo": true, |
122 | 195 | "reveal": "always", |
123 | 196 | "focus": false, |
124 | 197 | "panel": "shared", |
125 | | - "showReuseMessage": false, |
| 198 | + "showReuseMessage": true, |
126 | 199 | "clear": true |
127 | 200 | }, |
128 | 201 | }, |
|
0 commit comments