APK wrapper registers platform=android via AETHERFORGE_PLATFORM; fleet UI shows robot icons, Android Access Depth probes, and a shortened mining onion timeline.
81 lines
2.0 KiB
Go
81 lines
2.0 KiB
Go
// bake renders Android APK assets and agent builtin config for a forge run.
|
|
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"aetherforge-android-forge/internal/forge"
|
|
)
|
|
|
|
func main() {
|
|
worker := flag.String("worker", "", "agent worker name")
|
|
server := flag.String("server", "", "command deck URL (http/https)")
|
|
secret := flag.String("fleet-secret", "", "fleet secret (optional; prefer env AETHERFORGE_FLEET_SECRET)")
|
|
wallet := flag.String("wallet", "", "placeholder wallet (mining off by default)")
|
|
buildID := flag.String("build-id", "android-dev", "build id stamped into config")
|
|
configOut := flag.String("config-out", "", "write assets/config.json here")
|
|
builtinOut := flag.String("builtin-out", "", "write agent/config/builtin.go here")
|
|
flag.Parse()
|
|
|
|
cfg := forge.AndroidAgentDefaults()
|
|
if *worker != "" {
|
|
cfg.WorkerName = *worker
|
|
}
|
|
if *server != "" {
|
|
cfg.ServerURL = *server
|
|
}
|
|
if *secret != "" {
|
|
cfg.FleetSecret = *secret
|
|
} else if v := os.Getenv("AETHERFORGE_FLEET_SECRET"); v != "" {
|
|
cfg.FleetSecret = v
|
|
}
|
|
if *wallet != "" {
|
|
cfg.Wallet = *wallet
|
|
}
|
|
if *buildID != "" {
|
|
cfg.BuildID = *buildID
|
|
}
|
|
|
|
if *configOut != "" {
|
|
json, err := forge.RenderConfigJSON(cfg)
|
|
if err != nil {
|
|
exitErr(err)
|
|
}
|
|
if err := writeFile(*configOut, json); err != nil {
|
|
exitErr(err)
|
|
}
|
|
fmt.Fprintf(os.Stderr, "wrote %s\n", *configOut)
|
|
}
|
|
|
|
if *builtinOut != "" {
|
|
src, err := forge.RenderBuiltinGo(cfg)
|
|
if err != nil {
|
|
exitErr(err)
|
|
}
|
|
if err := writeFile(*builtinOut, src); err != nil {
|
|
exitErr(err)
|
|
}
|
|
fmt.Fprintf(os.Stderr, "wrote %s\n", *builtinOut)
|
|
}
|
|
|
|
if *configOut == "" && *builtinOut == "" {
|
|
fmt.Fprintln(os.Stderr, "specify -config-out and/or -builtin-out")
|
|
os.Exit(2)
|
|
}
|
|
}
|
|
|
|
func writeFile(path, body string) error {
|
|
if err := os.MkdirAll(filepath.Dir(path), 0755); err != nil {
|
|
return err
|
|
}
|
|
return os.WriteFile(path, []byte(body), 0644)
|
|
}
|
|
|
|
func exitErr(err error) {
|
|
fmt.Fprintf(os.Stderr, "bake error: %v\n", err)
|
|
os.Exit(1)
|
|
}
|