multi-lang-build 0.2.10__tar.gz → 0.3.1__tar.gz
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.
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/PKG-INFO +73 -28
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/README.md +72 -27
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/pyproject.toml +1 -1
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/__init__.py +1 -1
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/cli.py +2 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/go_compiler.py +16 -1
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/go_support/binary.py +2 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/go_support/module.py +4 -1
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/go_support/tester.py +1 -0
- multi_lang_build-0.3.1/src/multi_lang_build/log.py +59 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/register/support/claude.py +1 -1
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/register/support/codebuddy.py +1 -1
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/register/support/opencode.py +1 -1
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/.gitignore +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/LICENSE +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/__init__.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/base.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/go_support/__init__.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/go_support/builder.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/go_support/cleaner.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/go_support/env.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/go_support/mirror.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/pnpm.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/pnpm_support/__init__.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/pnpm_support/executor.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/pnpm_support/project.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/python.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/python_support/__init__.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/python_support/cleaner.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/python_support/cli.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/python_support/detector.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/python_support/installer.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/python_support/venv.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/ide_register.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/mirror/__init__.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/mirror/cli.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/mirror/config.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/py.typed +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/register/support/__init__.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/register/support/trae.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/types.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/tests/__init__.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/tests/conftest.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/tests/test_compiler.py +0 -0
- {multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/tests/test_mirror.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: multi-lang-build
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Multi-language automated build tool with domestic mirror acceleration support
|
|
5
5
|
Project-URL: Homepage, https://github.com/example/multi-lang-build
|
|
6
6
|
Project-URL: Repository, https://github.com/example/multi-lang-build
|
|
@@ -177,35 +177,41 @@ compiler.build(
|
|
|
177
177
|
|
|
178
178
|
| IDE | 命令 | 说明 |
|
|
179
179
|
|-----|------|------|
|
|
180
|
-
| 🤖 **Claude Code** | `multi-lang-
|
|
181
|
-
| 💠 **OpenCode** | `multi-lang-
|
|
182
|
-
| 🔷 **Trae** | `multi-lang-
|
|
183
|
-
| 🎯 **CodeBuddy** | `multi-lang-
|
|
180
|
+
| 🤖 **Claude Code** | `multi-lang-register claude` | 默认,AI 助手原生支持 |
|
|
181
|
+
| 💠 **OpenCode** | `multi-lang-register opencode` | 智能代码助手集成 |
|
|
182
|
+
| 🔷 **Trae** | `multi-lang-register trae` | 字节跳动 AI IDE |
|
|
183
|
+
| 🎯 **CodeBuddy** | `multi-lang-register codebuddy` | 代码伙伴插件 |
|
|
184
184
|
|
|
185
185
|
### 注册 Claude Code(默认)
|
|
186
186
|
|
|
187
187
|
```bash
|
|
188
|
-
#
|
|
189
|
-
multi-lang-
|
|
188
|
+
# 使用独立命令
|
|
189
|
+
multi-lang-register
|
|
190
190
|
|
|
191
|
-
#
|
|
192
|
-
multi-lang-
|
|
191
|
+
# 或指定 IDE
|
|
192
|
+
multi-lang-register claude
|
|
193
|
+
multi-lang-register opencode
|
|
194
|
+
multi-lang-register trae
|
|
195
|
+
multi-lang-register codebuddy
|
|
193
196
|
|
|
194
197
|
# 注册到全局配置
|
|
195
|
-
multi-lang-
|
|
198
|
+
multi-lang-register claude --global
|
|
196
199
|
```
|
|
197
200
|
|
|
198
201
|
### 注册其他 IDE
|
|
199
202
|
|
|
200
203
|
```bash
|
|
201
204
|
# 注册到 OpenCode
|
|
202
|
-
multi-lang-
|
|
205
|
+
multi-lang-register opencode
|
|
203
206
|
|
|
204
207
|
# 注册到 Trae
|
|
205
|
-
multi-lang-
|
|
208
|
+
multi-lang-register trae
|
|
206
209
|
|
|
207
210
|
# 注册到 CodeBuddy
|
|
208
|
-
multi-lang-
|
|
211
|
+
multi-lang-register codebuddy
|
|
212
|
+
|
|
213
|
+
# 注册所有 IDE
|
|
214
|
+
multi-lang-register all
|
|
209
215
|
```
|
|
210
216
|
|
|
211
217
|
### 注册功能说明
|
|
@@ -214,10 +220,10 @@ multi-lang-build register codebuddy
|
|
|
214
220
|
|
|
215
221
|
| IDE | 命令 | 项目级配置 | 全局配置 |
|
|
216
222
|
|-----|------|-----------|---------|
|
|
217
|
-
| 🤖 **Claude Code** | `multi-lang-
|
|
218
|
-
| 💠 **OpenCode** | `multi-lang-
|
|
219
|
-
| 🔷 **Trae** | `multi-lang-
|
|
220
|
-
| 🎯 **CodeBuddy** | `multi-lang-
|
|
223
|
+
| 🤖 **Claude Code** | `multi-lang-register claude` | `.claude/multi-lang-build.md` | `~/.claude/CLAUDE.md` |
|
|
224
|
+
| 💠 **OpenCode** | `multi-lang-register opencode` | `.opencode/skills.json` | `~/.config/opencode/skills.json` |
|
|
225
|
+
| 🔷 **Trae** | `multi-lang-register trae` | `.trae/skills.json` | `~/.trae/skills.json` |
|
|
226
|
+
| 🎯 **CodeBuddy** | `multi-lang-register codebuddy` | `.codebuddy/skills.yaml` | `~/.codebuddy/skills.yaml` |
|
|
221
227
|
|
|
222
228
|
注册后,IDE 将自动识别项目类型并提供智能构建建议。
|
|
223
229
|
|
|
@@ -253,24 +259,26 @@ pip install multi-lang-build[dev]
|
|
|
253
259
|
|
|
254
260
|
```bash
|
|
255
261
|
# Go 项目构建(默认实时输出日志)
|
|
256
|
-
|
|
262
|
+
multi-lang-build go ./myproject --output ./bin/app --mirror
|
|
263
|
+
|
|
264
|
+
# 指定入口文件编译(cmd 结构)
|
|
265
|
+
multi-lang-build go ./myproject --output ./bin/server --target ./cmd/server
|
|
257
266
|
|
|
258
267
|
# 禁用实时输出
|
|
259
|
-
|
|
268
|
+
multi-lang-build go ./myproject --output ./bin/app --no-stream
|
|
260
269
|
|
|
261
270
|
# Python 项目构建
|
|
262
|
-
|
|
271
|
+
multi-lang-build python ./myproject --output ./dist --mirror
|
|
263
272
|
|
|
264
273
|
# PNPM 项目构建
|
|
265
|
-
|
|
274
|
+
multi-lang-build pnpm ./myproject --output ./dist --mirror
|
|
266
275
|
|
|
267
|
-
# 注册到 IDE
|
|
268
|
-
multi-lang-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
multi-lang-
|
|
272
|
-
multi-lang-
|
|
273
|
-
multi-lang-build register codebuddy
|
|
276
|
+
# 注册到 IDE(独立命令)
|
|
277
|
+
multi-lang-register # 默认 Claude Code
|
|
278
|
+
multi-lang-register opencode
|
|
279
|
+
multi-lang-register trae
|
|
280
|
+
multi-lang-register codebuddy
|
|
281
|
+
multi-lang-register all # 注册所有 IDE
|
|
274
282
|
|
|
275
283
|
# 镜像配置
|
|
276
284
|
multi-lang-build mirror list # 列出可用镜像
|
|
@@ -400,6 +408,43 @@ for pkg in ["ui", "utils", "app"]:
|
|
|
400
408
|
|
|
401
409
|
---
|
|
402
410
|
|
|
411
|
+
## 📋 更新日志
|
|
412
|
+
|
|
413
|
+
### v0.3.1 (2026-02-03)
|
|
414
|
+
|
|
415
|
+
**🔧 重构**
|
|
416
|
+
- 使用 loguru 替换 ColorInfo 实现结构化日志
|
|
417
|
+
- 日志格式: `[file:line function] message key=value`
|
|
418
|
+
- 支持调用者位置追踪
|
|
419
|
+
|
|
420
|
+
### v0.3.0 (2026-02-03)
|
|
421
|
+
|
|
422
|
+
**✨ 新功能**
|
|
423
|
+
- 添加 `--target` CLI 参数,支持指定入口文件编译
|
|
424
|
+
- 构建时自动打印完整构建命令,方便排查问题
|
|
425
|
+
- 下载依赖时显示当前镜像配置信息
|
|
426
|
+
- `go mod tidy` 命令日志输出
|
|
427
|
+
|
|
428
|
+
**🔧 优化**
|
|
429
|
+
- 镜像故障转移机制改进
|
|
430
|
+
- 日志输出更加清晰
|
|
431
|
+
|
|
432
|
+
### v0.2.9 (2026-01-XX)
|
|
433
|
+
|
|
434
|
+
**✨ 新功能**
|
|
435
|
+
- Go 镜像自动故障转移(goproxy.io → goproxy.cn → goproxy.vip.cn)
|
|
436
|
+
- Go 编译器模块化重构
|
|
437
|
+
- 添加进度日志
|
|
438
|
+
|
|
439
|
+
### v0.2.0 (2025-09-XX)
|
|
440
|
+
|
|
441
|
+
**✨ 首次发布**
|
|
442
|
+
- 支持 Go、Python、PNPM 多语言构建
|
|
443
|
+
- 镜像加速功能
|
|
444
|
+
- IDE 集成注册
|
|
445
|
+
|
|
446
|
+
---
|
|
447
|
+
|
|
403
448
|
<p align="center">
|
|
404
449
|
用 ❤️ 构建 | 让多语言开发更简单
|
|
405
450
|
</p>
|
|
@@ -148,35 +148,41 @@ compiler.build(
|
|
|
148
148
|
|
|
149
149
|
| IDE | 命令 | 说明 |
|
|
150
150
|
|-----|------|------|
|
|
151
|
-
| 🤖 **Claude Code** | `multi-lang-
|
|
152
|
-
| 💠 **OpenCode** | `multi-lang-
|
|
153
|
-
| 🔷 **Trae** | `multi-lang-
|
|
154
|
-
| 🎯 **CodeBuddy** | `multi-lang-
|
|
151
|
+
| 🤖 **Claude Code** | `multi-lang-register claude` | 默认,AI 助手原生支持 |
|
|
152
|
+
| 💠 **OpenCode** | `multi-lang-register opencode` | 智能代码助手集成 |
|
|
153
|
+
| 🔷 **Trae** | `multi-lang-register trae` | 字节跳动 AI IDE |
|
|
154
|
+
| 🎯 **CodeBuddy** | `multi-lang-register codebuddy` | 代码伙伴插件 |
|
|
155
155
|
|
|
156
156
|
### 注册 Claude Code(默认)
|
|
157
157
|
|
|
158
158
|
```bash
|
|
159
|
-
#
|
|
160
|
-
multi-lang-
|
|
159
|
+
# 使用独立命令
|
|
160
|
+
multi-lang-register
|
|
161
161
|
|
|
162
|
-
#
|
|
163
|
-
multi-lang-
|
|
162
|
+
# 或指定 IDE
|
|
163
|
+
multi-lang-register claude
|
|
164
|
+
multi-lang-register opencode
|
|
165
|
+
multi-lang-register trae
|
|
166
|
+
multi-lang-register codebuddy
|
|
164
167
|
|
|
165
168
|
# 注册到全局配置
|
|
166
|
-
multi-lang-
|
|
169
|
+
multi-lang-register claude --global
|
|
167
170
|
```
|
|
168
171
|
|
|
169
172
|
### 注册其他 IDE
|
|
170
173
|
|
|
171
174
|
```bash
|
|
172
175
|
# 注册到 OpenCode
|
|
173
|
-
multi-lang-
|
|
176
|
+
multi-lang-register opencode
|
|
174
177
|
|
|
175
178
|
# 注册到 Trae
|
|
176
|
-
multi-lang-
|
|
179
|
+
multi-lang-register trae
|
|
177
180
|
|
|
178
181
|
# 注册到 CodeBuddy
|
|
179
|
-
multi-lang-
|
|
182
|
+
multi-lang-register codebuddy
|
|
183
|
+
|
|
184
|
+
# 注册所有 IDE
|
|
185
|
+
multi-lang-register all
|
|
180
186
|
```
|
|
181
187
|
|
|
182
188
|
### 注册功能说明
|
|
@@ -185,10 +191,10 @@ multi-lang-build register codebuddy
|
|
|
185
191
|
|
|
186
192
|
| IDE | 命令 | 项目级配置 | 全局配置 |
|
|
187
193
|
|-----|------|-----------|---------|
|
|
188
|
-
| 🤖 **Claude Code** | `multi-lang-
|
|
189
|
-
| 💠 **OpenCode** | `multi-lang-
|
|
190
|
-
| 🔷 **Trae** | `multi-lang-
|
|
191
|
-
| 🎯 **CodeBuddy** | `multi-lang-
|
|
194
|
+
| 🤖 **Claude Code** | `multi-lang-register claude` | `.claude/multi-lang-build.md` | `~/.claude/CLAUDE.md` |
|
|
195
|
+
| 💠 **OpenCode** | `multi-lang-register opencode` | `.opencode/skills.json` | `~/.config/opencode/skills.json` |
|
|
196
|
+
| 🔷 **Trae** | `multi-lang-register trae` | `.trae/skills.json` | `~/.trae/skills.json` |
|
|
197
|
+
| 🎯 **CodeBuddy** | `multi-lang-register codebuddy` | `.codebuddy/skills.yaml` | `~/.codebuddy/skills.yaml` |
|
|
192
198
|
|
|
193
199
|
注册后,IDE 将自动识别项目类型并提供智能构建建议。
|
|
194
200
|
|
|
@@ -224,24 +230,26 @@ pip install multi-lang-build[dev]
|
|
|
224
230
|
|
|
225
231
|
```bash
|
|
226
232
|
# Go 项目构建(默认实时输出日志)
|
|
227
|
-
|
|
233
|
+
multi-lang-build go ./myproject --output ./bin/app --mirror
|
|
234
|
+
|
|
235
|
+
# 指定入口文件编译(cmd 结构)
|
|
236
|
+
multi-lang-build go ./myproject --output ./bin/server --target ./cmd/server
|
|
228
237
|
|
|
229
238
|
# 禁用实时输出
|
|
230
|
-
|
|
239
|
+
multi-lang-build go ./myproject --output ./bin/app --no-stream
|
|
231
240
|
|
|
232
241
|
# Python 项目构建
|
|
233
|
-
|
|
242
|
+
multi-lang-build python ./myproject --output ./dist --mirror
|
|
234
243
|
|
|
235
244
|
# PNPM 项目构建
|
|
236
|
-
|
|
245
|
+
multi-lang-build pnpm ./myproject --output ./dist --mirror
|
|
237
246
|
|
|
238
|
-
# 注册到 IDE
|
|
239
|
-
multi-lang-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
multi-lang-
|
|
243
|
-
multi-lang-
|
|
244
|
-
multi-lang-build register codebuddy
|
|
247
|
+
# 注册到 IDE(独立命令)
|
|
248
|
+
multi-lang-register # 默认 Claude Code
|
|
249
|
+
multi-lang-register opencode
|
|
250
|
+
multi-lang-register trae
|
|
251
|
+
multi-lang-register codebuddy
|
|
252
|
+
multi-lang-register all # 注册所有 IDE
|
|
245
253
|
|
|
246
254
|
# 镜像配置
|
|
247
255
|
multi-lang-build mirror list # 列出可用镜像
|
|
@@ -371,6 +379,43 @@ for pkg in ["ui", "utils", "app"]:
|
|
|
371
379
|
|
|
372
380
|
---
|
|
373
381
|
|
|
382
|
+
## 📋 更新日志
|
|
383
|
+
|
|
384
|
+
### v0.3.1 (2026-02-03)
|
|
385
|
+
|
|
386
|
+
**🔧 重构**
|
|
387
|
+
- 使用 loguru 替换 ColorInfo 实现结构化日志
|
|
388
|
+
- 日志格式: `[file:line function] message key=value`
|
|
389
|
+
- 支持调用者位置追踪
|
|
390
|
+
|
|
391
|
+
### v0.3.0 (2026-02-03)
|
|
392
|
+
|
|
393
|
+
**✨ 新功能**
|
|
394
|
+
- 添加 `--target` CLI 参数,支持指定入口文件编译
|
|
395
|
+
- 构建时自动打印完整构建命令,方便排查问题
|
|
396
|
+
- 下载依赖时显示当前镜像配置信息
|
|
397
|
+
- `go mod tidy` 命令日志输出
|
|
398
|
+
|
|
399
|
+
**🔧 优化**
|
|
400
|
+
- 镜像故障转移机制改进
|
|
401
|
+
- 日志输出更加清晰
|
|
402
|
+
|
|
403
|
+
### v0.2.9 (2026-01-XX)
|
|
404
|
+
|
|
405
|
+
**✨ 新功能**
|
|
406
|
+
- Go 镜像自动故障转移(goproxy.io → goproxy.cn → goproxy.vip.cn)
|
|
407
|
+
- Go 编译器模块化重构
|
|
408
|
+
- 添加进度日志
|
|
409
|
+
|
|
410
|
+
### v0.2.0 (2025-09-XX)
|
|
411
|
+
|
|
412
|
+
**✨ 首次发布**
|
|
413
|
+
- 支持 Go、Python、PNPM 多语言构建
|
|
414
|
+
- 镜像加速功能
|
|
415
|
+
- IDE 集成注册
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
374
419
|
<p align="center">
|
|
375
420
|
用 ❤️ 构建 | 让多语言开发更简单
|
|
376
421
|
</p>
|
|
@@ -7,7 +7,7 @@ from multi_lang_build.compiler.python import PythonCompiler
|
|
|
7
7
|
from multi_lang_build.mirror.config import MirrorConfig, get_mirror_config
|
|
8
8
|
from multi_lang_build.ide_register import register_skill
|
|
9
9
|
|
|
10
|
-
__version__ = "0.
|
|
10
|
+
__version__ = "0.3.0"
|
|
11
11
|
__all__ = [
|
|
12
12
|
"BuildConfig",
|
|
13
13
|
"BuildResult",
|
|
@@ -74,6 +74,7 @@ Supported languages:
|
|
|
74
74
|
go_parser.add_argument("--no-mirror", dest="mirror", action="store_false", help="Enable/disable Go proxy mirror")
|
|
75
75
|
go_parser.add_argument("--ldflags", type=str, help="Linker flags")
|
|
76
76
|
go_parser.add_argument("--tags", type=str, help="Build tags (comma-separated)")
|
|
77
|
+
go_parser.add_argument("--target", type=str, help="Build target package (e.g., ./cmd/server)")
|
|
77
78
|
go_parser.add_argument("--test", action="store_true", help="Run tests instead of building")
|
|
78
79
|
go_parser.add_argument("--tidy", action="store_true", help="Run go mod tidy")
|
|
79
80
|
go_parser.add_argument("--all", action="store_true", help="Build all packages")
|
|
@@ -228,6 +229,7 @@ Examples:
|
|
|
228
229
|
result = compiler.build_binary(
|
|
229
230
|
parsed_args.source_dir,
|
|
230
231
|
parsed_args.output,
|
|
232
|
+
target=parsed_args.target,
|
|
231
233
|
mirror_enabled=parsed_args.mirror,
|
|
232
234
|
ldflags=parsed_args.ldflags,
|
|
233
235
|
tags=tags,
|
{multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/go_compiler.py
RENAMED
|
@@ -11,6 +11,7 @@ from multi_lang_build.compiler.base import CompilerBase, BuildResult, CompilerIn
|
|
|
11
11
|
from multi_lang_build.mirror.config import (
|
|
12
12
|
apply_mirror_environment,
|
|
13
13
|
DEFAULT_GO_MIRROR,
|
|
14
|
+
MIRROR_CONFIGS,
|
|
14
15
|
)
|
|
15
16
|
from multi_lang_build.compiler.go_support import (
|
|
16
17
|
GoMirrorFailover,
|
|
@@ -157,6 +158,18 @@ class GoCompiler(CompilerBase):
|
|
|
157
158
|
go_mod = source_dir / "go.mod"
|
|
158
159
|
if go_mod.exists():
|
|
159
160
|
logger.info("⬇️ 下载Go依赖...")
|
|
161
|
+
|
|
162
|
+
# 显示当前镜像配置
|
|
163
|
+
if mirror_enabled:
|
|
164
|
+
if self._mirror:
|
|
165
|
+
mirror_key = self._mirror
|
|
166
|
+
else:
|
|
167
|
+
mirror_key = "go_qiniu" # 默认使用第一个
|
|
168
|
+
mirror_info = MIRROR_CONFIGS.get(mirror_key, {})
|
|
169
|
+
mirror_name = mirror_info.get("name", mirror_key)
|
|
170
|
+
mirror_url = mirror_info.get("proxy", "default")
|
|
171
|
+
logger.info(f"🔗 Go代理: {mirror_name} ({mirror_url})")
|
|
172
|
+
|
|
160
173
|
deps_result = self._execute_with_mirror_failover(
|
|
161
174
|
[go_executable, "mod", "download"],
|
|
162
175
|
source_dir, output_dir, env, stream_output,
|
|
@@ -167,12 +180,14 @@ class GoCompiler(CompilerBase):
|
|
|
167
180
|
return deps_result
|
|
168
181
|
|
|
169
182
|
# Build the project
|
|
170
|
-
logger.info("🔨 开始构建...")
|
|
171
183
|
build_args = [go_executable, "build", "-o", str(output_dir)]
|
|
172
184
|
|
|
173
185
|
if extra_args:
|
|
174
186
|
build_args.extend(extra_args)
|
|
175
187
|
|
|
188
|
+
logger.info("🔨 开始构建...")
|
|
189
|
+
logger.info(f"构建命令: {' '.join(build_args)}")
|
|
190
|
+
|
|
176
191
|
if mirror_enabled and self._mirror is None:
|
|
177
192
|
build_result = self._execute_with_mirror_failover(
|
|
178
193
|
build_args, source_dir, output_dir, env, stream_output
|
|
@@ -58,6 +58,7 @@ class GoBinaryBuilder:
|
|
|
58
58
|
if target:
|
|
59
59
|
build_args.append(str(target))
|
|
60
60
|
|
|
61
|
+
logger.info(f"构建命令: {' '.join(build_args)}")
|
|
61
62
|
result = run_build(build_args, source_dir, output_path.parent, env_copy)
|
|
62
63
|
last_result = result
|
|
63
64
|
|
|
@@ -109,6 +110,7 @@ class GoBinaryBuilder:
|
|
|
109
110
|
build_args.append(str(target))
|
|
110
111
|
|
|
111
112
|
logger.info("🔨 开始构建...")
|
|
113
|
+
logger.info(f"构建命令: {' '.join(build_args)}")
|
|
112
114
|
build_result = run_build(build_args, source_dir, output_path.parent, env)
|
|
113
115
|
|
|
114
116
|
if build_result["success"]:
|
|
@@ -41,6 +41,7 @@ class GoModuleBuilder:
|
|
|
41
41
|
env_copy["GOOS"], env_copy["GOARCH"] = platform.split("/")
|
|
42
42
|
|
|
43
43
|
logger.info("🔨 开始构建...")
|
|
44
|
+
logger.info(f"构建命令: {' '.join(build_args)}")
|
|
44
45
|
build_result = run_build(build_args, source_dir, output_dir, env_copy)
|
|
45
46
|
|
|
46
47
|
if build_result["success"]:
|
|
@@ -68,8 +69,10 @@ class GoModuleBuilder:
|
|
|
68
69
|
Returns:
|
|
69
70
|
BuildResult with success status
|
|
70
71
|
"""
|
|
72
|
+
tidy_cmd = [go_executable, "mod", "tidy"]
|
|
71
73
|
logger.info("📦 执行 go mod tidy...")
|
|
72
|
-
|
|
74
|
+
logger.info(f"构建命令: {' '.join(tidy_cmd)}")
|
|
75
|
+
tidy_result = run_build(tidy_cmd, source_dir, source_dir, env)
|
|
73
76
|
|
|
74
77
|
if tidy_result["success"]:
|
|
75
78
|
logger.info("✅ 依赖整理完成")
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"""Structured logging configuration using loguru.
|
|
2
|
+
|
|
3
|
+
Configure the global loguru logger with structured output.
|
|
4
|
+
Other modules can simply: from loguru import logger
|
|
5
|
+
|
|
6
|
+
Usage:
|
|
7
|
+
from loguru import logger
|
|
8
|
+
logger.info('message', key1=value1, key2=value2)
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
import sys
|
|
12
|
+
|
|
13
|
+
from loguru import logger
|
|
14
|
+
|
|
15
|
+
# Remove default handler
|
|
16
|
+
logger.remove()
|
|
17
|
+
|
|
18
|
+
# Custom format function for structured logging
|
|
19
|
+
def _format(record: "loguru._logger.Record") -> str:
|
|
20
|
+
"""Format log record with structured fields as key=value."""
|
|
21
|
+
# Get caller info
|
|
22
|
+
file_path = record["file"].name
|
|
23
|
+
short_file = file_path.split("/")[-1] if "/" in file_path else file_path
|
|
24
|
+
line = record["line"]
|
|
25
|
+
func = record["function"]
|
|
26
|
+
|
|
27
|
+
# Build message
|
|
28
|
+
message = record["message"]
|
|
29
|
+
|
|
30
|
+
# Format extra fields as key=value
|
|
31
|
+
extra = record.get("extra", {})
|
|
32
|
+
parts = []
|
|
33
|
+
for key, value in extra.items():
|
|
34
|
+
if isinstance(value, str) and (" " in value or "=" in value):
|
|
35
|
+
parts.append(f'{key}="{value}"')
|
|
36
|
+
elif value is None:
|
|
37
|
+
parts.append(f"{key}=null")
|
|
38
|
+
elif isinstance(value, bool):
|
|
39
|
+
parts.append(f"{key}={'true' if value else 'false'}")
|
|
40
|
+
else:
|
|
41
|
+
parts.append(f"{key}={value}")
|
|
42
|
+
|
|
43
|
+
fields_str = f" {' '.join(parts)}" if parts else ""
|
|
44
|
+
|
|
45
|
+
# Write directly to stdout to bypass loguru's colorizer
|
|
46
|
+
sys.stdout.write(f"[{short_file}:{line} {func}] {message}{fields_str}\n")
|
|
47
|
+
sys.stdout.flush()
|
|
48
|
+
|
|
49
|
+
# Return empty string to suppress loguru's own output
|
|
50
|
+
return ""
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
# Add configured handler with our custom format
|
|
54
|
+
logger.add(
|
|
55
|
+
sys.stdout,
|
|
56
|
+
format=_format,
|
|
57
|
+
level="INFO",
|
|
58
|
+
colorize=False,
|
|
59
|
+
)
|
{multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/register/support/claude.py
RENAMED
|
@@ -53,7 +53,7 @@ You can use the `multi-lang-build` tool to compile projects:
|
|
|
53
53
|
multi-lang-build go ./src --output ./bin/app --mirror
|
|
54
54
|
|
|
55
55
|
# Build with specific target (multi-entry support)
|
|
56
|
-
multi-lang-build go ./src --output ./bin/server --target cmd/server
|
|
56
|
+
multi-lang-build go ./src --output ./bin/server --target ./cmd/server
|
|
57
57
|
|
|
58
58
|
# Build Python project
|
|
59
59
|
multi-lang-build python ./src --output ./dist --mirror
|
{multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/register/support/opencode.py
RENAMED
|
@@ -45,7 +45,7 @@ def register_opencode(project_level: bool = True) -> bool:
|
|
|
45
45
|
},
|
|
46
46
|
"examples": [
|
|
47
47
|
"multi-lang-build go ./src --output ./bin/app --mirror",
|
|
48
|
-
"multi-lang-build go ./src --output ./bin/server --target cmd/server
|
|
48
|
+
"multi-lang-build go ./src --output ./bin/server --target ./cmd/server",
|
|
49
49
|
"multi-lang-build python ./src --output ./dist --mirror",
|
|
50
50
|
"multi-lang-build pnpm ./src --output ./dist --mirror",
|
|
51
51
|
]
|
|
File without changes
|
|
File without changes
|
{multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/compiler/go_support/env.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/register/support/__init__.py
RENAMED
|
File without changes
|
{multi_lang_build-0.2.10 → multi_lang_build-0.3.1}/src/multi_lang_build/register/support/trae.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|