载入中...
搜索中...
未找到
sdk_tools.h 文件参考
#include "common/Export.h"
#include "common/Result.h"
#include <string>
#include <vector>

浏览源代码.

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::cmd
 
namespace  eve::cmd::sdk
 

枚举

enum class  eve::cmd::sdk::Platform {
  eve::cmd::sdk::Win32 , eve::cmd::sdk::Linux , eve::cmd::sdk::Macosx , eve::cmd::sdk::Android ,
  eve::cmd::sdk::Ios , eve::cmd::sdk::Unknown
}
 平台集合(与仓库 Makefile 的 build/<platform> 目标一一对应)。 更多...
 

函数

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。
 
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::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。
 
bool eve::cmd::sdk::isAndroidSdkInstalled (const std::string &root)
 判断 Android SDK 是否已安装(cmdline-tools 的 sdkmanager 存在)。
 
eve::Result< void > eve::cmd::sdk::installEveSdk (Platform p)
 下载并安装 EVEngine 官方 <platform> SDK(zip 内 eve-sdk/<platform>/, 从 GitHub Release 按当前 eve 版本挑选),校验 SHA256 后落位到 <eveSdkInstallRoot()>/<platform>。
 
eve::Result< void > eve::cmd::sdk::installAndroidSdk ()
 自动下载并安装 Android 工具链:EVEngine 官方 android SDK + cmdline-tools / platform-tools / build-tools / platform + JDK 17 + Gradle。