multi-lang-build 0.2.10__tar.gz → 0.3.0__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.
Files changed (44) hide show
  1. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/PKG-INFO +38 -5
  2. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/README.md +37 -4
  3. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/pyproject.toml +1 -1
  4. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/__init__.py +1 -1
  5. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/cli.py +2 -0
  6. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/go_compiler.py +16 -1
  7. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/go_support/binary.py +2 -0
  8. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/go_support/module.py +4 -1
  9. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/go_support/tester.py +1 -0
  10. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/.gitignore +0 -0
  11. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/LICENSE +0 -0
  12. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/__init__.py +0 -0
  13. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/base.py +0 -0
  14. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/go_support/__init__.py +0 -0
  15. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/go_support/builder.py +0 -0
  16. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/go_support/cleaner.py +0 -0
  17. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/go_support/env.py +0 -0
  18. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/go_support/mirror.py +0 -0
  19. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/pnpm.py +0 -0
  20. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/pnpm_support/__init__.py +0 -0
  21. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/pnpm_support/executor.py +0 -0
  22. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/pnpm_support/project.py +0 -0
  23. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/python.py +0 -0
  24. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/python_support/__init__.py +0 -0
  25. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/python_support/cleaner.py +0 -0
  26. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/python_support/cli.py +0 -0
  27. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/python_support/detector.py +0 -0
  28. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/python_support/installer.py +0 -0
  29. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/compiler/python_support/venv.py +0 -0
  30. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/ide_register.py +0 -0
  31. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/mirror/__init__.py +0 -0
  32. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/mirror/cli.py +0 -0
  33. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/mirror/config.py +0 -0
  34. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/py.typed +0 -0
  35. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/register/support/__init__.py +0 -0
  36. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/register/support/claude.py +0 -0
  37. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/register/support/codebuddy.py +0 -0
  38. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/register/support/opencode.py +0 -0
  39. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/register/support/trae.py +0 -0
  40. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/src/multi_lang_build/types.py +0 -0
  41. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/tests/__init__.py +0 -0
  42. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/tests/conftest.py +0 -0
  43. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/tests/test_compiler.py +0 -0
  44. {multi_lang_build-0.2.10 → multi_lang_build-0.3.0}/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.2.10
3
+ Version: 0.3.0
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
@@ -253,16 +253,19 @@ pip install multi-lang-build[dev]
253
253
 
254
254
  ```bash
255
255
  # Go 项目构建(默认实时输出日志)
256
- go-build ./myproject --output ./bin/app --target server.go --mirror
256
+ multi-lang-build go ./myproject --output ./bin/app --mirror
257
+
258
+ # 指定入口文件编译(cmd 结构)
259
+ multi-lang-build go ./myproject --output ./bin/server --target ./cmd/server
257
260
 
258
261
  # 禁用实时输出
259
- go-build ./myproject --output ./bin/app --no-stream
262
+ multi-lang-build go ./myproject --output ./bin/app --no-stream
260
263
 
261
264
  # Python 项目构建
262
- python-build ./myproject --output ./dist --mirror
265
+ multi-lang-build python ./myproject --output ./dist --mirror
263
266
 
264
267
  # PNPM 项目构建
265
- pnpm-build ./myproject --output ./dist --mirror
268
+ multi-lang-build pnpm ./myproject --output ./dist --mirror
266
269
 
267
270
  # 注册到 IDE(默认 Claude Code)
268
271
  multi-lang-build register
@@ -400,6 +403,36 @@ for pkg in ["ui", "utils", "app"]:
400
403
 
401
404
  ---
402
405
 
406
+ ## 📋 更新日志
407
+
408
+ ### v0.3.0 (2026-02-03)
409
+
410
+ **✨ 新功能**
411
+ - 添加 `--target` CLI 参数,支持指定入口文件编译
412
+ - 构建时自动打印完整构建命令,方便排查问题
413
+ - 下载依赖时显示当前镜像配置信息
414
+ - `go mod tidy` 命令日志输出
415
+
416
+ **🔧 优化**
417
+ - 镜像故障转移机制改进
418
+ - 日志输出更加清晰
419
+
420
+ ### v0.2.9 (2026-01-XX)
421
+
422
+ **✨ 新功能**
423
+ - Go 镜像自动故障转移(goproxy.io → goproxy.cn → goproxy.vip.cn)
424
+ - Go 编译器模块化重构
425
+ - 添加进度日志
426
+
427
+ ### v0.2.0 (2025-09-XX)
428
+
429
+ **✨ 首次发布**
430
+ - 支持 Go、Python、PNPM 多语言构建
431
+ - 镜像加速功能
432
+ - IDE 集成注册
433
+
434
+ ---
435
+
403
436
  <p align="center">
404
437
  用 ❤️ 构建 | 让多语言开发更简单
405
438
  </p>
@@ -224,16 +224,19 @@ pip install multi-lang-build[dev]
224
224
 
225
225
  ```bash
226
226
  # Go 项目构建(默认实时输出日志)
227
- go-build ./myproject --output ./bin/app --target server.go --mirror
227
+ multi-lang-build go ./myproject --output ./bin/app --mirror
228
+
229
+ # 指定入口文件编译(cmd 结构)
230
+ multi-lang-build go ./myproject --output ./bin/server --target ./cmd/server
228
231
 
229
232
  # 禁用实时输出
230
- go-build ./myproject --output ./bin/app --no-stream
233
+ multi-lang-build go ./myproject --output ./bin/app --no-stream
231
234
 
232
235
  # Python 项目构建
233
- python-build ./myproject --output ./dist --mirror
236
+ multi-lang-build python ./myproject --output ./dist --mirror
234
237
 
235
238
  # PNPM 项目构建
236
- pnpm-build ./myproject --output ./dist --mirror
239
+ multi-lang-build pnpm ./myproject --output ./dist --mirror
237
240
 
238
241
  # 注册到 IDE(默认 Claude Code)
239
242
  multi-lang-build register
@@ -371,6 +374,36 @@ for pkg in ["ui", "utils", "app"]:
371
374
 
372
375
  ---
373
376
 
377
+ ## 📋 更新日志
378
+
379
+ ### v0.3.0 (2026-02-03)
380
+
381
+ **✨ 新功能**
382
+ - 添加 `--target` CLI 参数,支持指定入口文件编译
383
+ - 构建时自动打印完整构建命令,方便排查问题
384
+ - 下载依赖时显示当前镜像配置信息
385
+ - `go mod tidy` 命令日志输出
386
+
387
+ **🔧 优化**
388
+ - 镜像故障转移机制改进
389
+ - 日志输出更加清晰
390
+
391
+ ### v0.2.9 (2026-01-XX)
392
+
393
+ **✨ 新功能**
394
+ - Go 镜像自动故障转移(goproxy.io → goproxy.cn → goproxy.vip.cn)
395
+ - Go 编译器模块化重构
396
+ - 添加进度日志
397
+
398
+ ### v0.2.0 (2025-09-XX)
399
+
400
+ **✨ 首次发布**
401
+ - 支持 Go、Python、PNPM 多语言构建
402
+ - 镜像加速功能
403
+ - IDE 集成注册
404
+
405
+ ---
406
+
374
407
  <p align="center">
375
408
  用 ❤️ 构建 | 让多语言开发更简单
376
409
  </p>
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "multi-lang-build"
7
- version = "0.2.10"
7
+ version = "0.3.0"
8
8
  description = "Multi-language automated build tool with domestic mirror acceleration support"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -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.2.10"
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,
@@ -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
- tidy_result = run_build([go_executable, "mod", "tidy"], source_dir, source_dir, env)
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("✅ 依赖整理完成")
@@ -49,6 +49,7 @@ class GoTester:
49
49
  test_args.append("./...")
50
50
 
51
51
  logger.info("🧪 开始运行测试...")
52
+ logger.info(f"构建命令: {' '.join(test_args)}")
52
53
 
53
54
  if run_build:
54
55
  result = run_build(test_args, source_dir, source_dir, env)