载入中...
搜索中...
未找到
#include "cmdline/sdk_tools.h"#include "cmdline/Sha256.h"#include "common/config.h"#include <cstdlib>#include <filesystem>#include <fstream>#include <iostream>#include <limits>#include <sstream>#include <zlib.h>#include <unistd.h>#include <sys/wait.h>命名空间 | |
| namespace | eve |
| Build metadata (engine git commit, build time, third-party version). | |
| namespace | eve::cmd |
| namespace | eve::cmd::sdk |
函数 | |
| Platform | eve::cmd::sdk::parsePlatform (const std::string &name) |
| 解析平台名(大小写不敏感,含常用别名:windows/win、mac/macos/osx 等)。 | |
| std::string | eve::cmd::sdk::platformName (Platform p) |
| 平台规范名(用于 Makefile 目标名)。 | |
| std::string | eve::cmd::sdk::getEnv (const std::string &name, const std::string &def="") |
| 读取环境变量;未设置时返回 def。 | |
| void | eve::cmd::sdk::setEnv (const std::string &name, const std::string &value) |
| 设置当前进程的环境变量(不持久化到系统)。 | |
| std::string | eve::cmd::sdk::sdkVersionTag () |
| 当前 eve 版本对应的发布 tag(v0.1.0-dev → v0.1.0)。 可用 EVE_SDK_TAG 覆盖(dev 构建 / 测试)。解析失败时返回空串。 | |
| std::string | eve::cmd::sdk::eveSdkInstallRoot () |
| EVEngine 官方 SDK 安装根目录(Windows: LOCALAPPDATA%/EVEngine/sdk, POSIX: $XDG_DATA_HOME/EVEngine/sdk),可用 EVE_SDK_INSTALL_ROOT 覆盖。 各平台 SDK 安装在 <root>/<platform> 下。 | |
| std::string | eve::cmd::sdk::eveSdkBaseUrl () |
| 官方 SDK 下载基址(GitHub Release 对应 tag),可用 EVE_SDK_BASE_URL 覆盖(镜像 / 测试,如 file://...)。 | |
| std::string | eve::cmd::sdk::fileSha256 (const std::string &path) |
| 流式计算文件的 SHA-256(小写十六进制);保留失败返回空串的既有契约。 | |
| std::string | eve::cmd::sdk::findSdkRoot (const std::string &sdkArg) |
定位 EVEngine SDK 根目录:–sdk 参数 > $EVENGINE_SDK > 可执行文件 所在位置的 ../(<sdk>/bin/eve)> 当前目录 > eve get 安装的 SDK。 | |
| eve::Result< void > | eve::cmd::sdk::installEveSdk (Platform p) |
| 下载并安装 EVEngine 官方 <platform> SDK(zip 内 eve-sdk/<platform>/, 从 GitHub Release 按当前 eve 版本挑选),校验 SHA256 后落位到 <eveSdkInstallRoot()>/<platform>。 | |
| std::string | eve::cmd::sdk::sdkTargetPlatform (const std::string &sdkRoot) |
| 读取 <sdk>/share/eve/TARGET_PLATFORM(该 SDK 面向的目标平台)。 | |
| std::string | eve::cmd::sdk::androidSdkRoot () |
| 解析 Android SDK 根目录:EVENGINE_ANDROID_SDK / ANDROID_SDK_ROOT / ANDROID_HOME,最后回落到平台默认位置(Windows: LOCALAPPDATA%/Android/Sdk)。 | |
| void | eve::cmd::sdk::applyEnvFile (const std::string &path) |
| 读取 KEY=VALUE 环境文件;只应用当前进程尚未设置的变量。 | |
| int | eve::cmd::sdk::runShell (const std::string &cmd) |
| 通过系统 shell 执行命令并返回退出码(POSIX 下归一化 WEXITSTATUS)。 | |
| bool | eve::cmd::sdk::isAndroidSdkInstalled (const std::string &root) |
| 判断 Android SDK 是否已安装(cmdline-tools 的 sdkmanager 存在)。 | |
| eve::Result< void > | eve::cmd::sdk::installAndroidSdk () |
| 自动下载并安装 Android 工具链:EVEngine 官方 android SDK + cmdline-tools / platform-tools / build-tools / platform + JDK 17 + Gradle。 | |
| bool | eve::cmd::sdk::copyTree (const std::string &from, const std::string &to, const std::vector< std::string > &skipDirs={}) |
| 递归复制目录,跳过指定名称的子目录(如 build/.gradle)。 | |
| bool | eve::cmd::sdk::copyTreeContents (const std::string &from, const std::string &to) |
| 把 from 目录的内容(不含 from 本身)复制到 to。 | |