Commit graph

11 commits

Author SHA1 Message Date
Snider
8ec644b017 Align go-build module path with RFC 2026-04-15 11:50:20 +01:00
Snider
4bd91a639d feat(build): C++ builder — Makefile + plain CMake + Conan+CMake fallback
- cpp.go: three build modes
  - Makefile present → existing managed make configure/build/package flow
  - Plain CMake → native cmake configure + build, artifact collection from
    per-target dir with build-tree fallback
  - CMake + conanfile.py/txt → conan install before cmake
- cpp_test.go: regression for all three modes incl. cross-builds

Fills the gap where CMake projects without the managed Makefile pipeline were
detected but unbuildable.

Verified: go test ./... passes

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-14 21:53:38 +01:00
Snider
ab822ae807 feat(build): Wails v3 frontend prebuild + Conan preflight for C++ builds
- wails.go: v3 fallback path runs configured frontend prebuild before wails3
  — Deno/npm frontends now apply on v3 projects without Taskfile fallback
- cpp.go: preflight Conan alongside make with clear install-error message
- release.yml: provision Conan via actions/setup-python when CMakeLists.txt present

Verified: go test ./... passed

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-14 17:36:04 +01:00
Snider
35d0242adf feat(build): centralised cache env propagation + Wails v2 obfuscation
- pkg/build/env.go (new): central cache-aware subprocess env helper so
  GOCACHE and GOMODCACHE flow consistently through every shelled
  builder — Wails v2/v3, Taskfile, Apple Wails, Node, PHP, Rust, Docs,
  Docker, LinuxKit, C++ make
- builders/wails.go: Wails v2 builds now honour cfg.Obfuscate and pass
  -obfuscated (was silently ignored)
- Wails v2/v3, Taskfile, Apple regressions added to assert env + flag

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-14 15:30:49 +01:00
Virgil
5a7973d086 fix(build): propagate build env to external builders 2026-04-01 16:02:09 +00:00
Snider
febe858942 fix(ax): replace banned os imports and add usage example comments
- Remove `os` import from internal/ax/ax.go; replace os.Getwd() with
  syscall.Getwd(), os.MkdirAll() with coreio.Local.EnsureDir(), and
  os.Chmod() with syscall.Chmod()
- Remove `os` import from pkg/sdk/generators/typescript_test.go;
  replace os.PathListSeparator and os.Getenv() with core.Env("PS")
  and core.Env("PATH")
- Replace all "Usage example: call/declare ... from integrating code"
  placeholder comments with concrete code examples across 45 files
  covering build, release, sdk, signing, publishers, builders, and cmd

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 18:33:36 +01:00
Virgil
750a4d0ce0 chore(ax): resolve remaining builder and signer runtimes 2026-03-30 05:37:28 +00:00
Virgil
7aa4e5486d chore(ax): finish v0.8.0 polish pass
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-26 17:41:53 +00:00
Snider
bb64608120 refactor(module): migrate module path to dappco.re/go/core/build
Update go.mod module declaration, all require lines, and .go import
paths from forge.lthn.ai to dappco.re. Dependencies updated: core
v0.5.0, log v0.1.0, io v0.2.0. Replace directives added for local
module resolution. forge.lthn.ai/core/cli and go-inference retained
at old paths (not yet migrated).

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 01:53:16 +00:00
Snider
d0e22f76e1 refactor: replace remaining fmt.Errorf/errors.New with coreerr.E()
Replace all fmt.Errorf and errors.New calls across 32 production files
with coreerr.E("caller.Method", "message", err) from go-log, matching
the convention already established in publishers/scoop.go and
publishers/homebrew.go.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 21:03:21 +00:00
Snider
b2edc2d26d refactor: restructure build/release/sdk into pkg/ layout
Moves build/, release/, sdk/ into pkg/ following Go convention.
Updates import paths in cmd/ci and cmd/sdk.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 09:30:02 +00:00
Renamed from build/builders/cpp.go (Browse further)