工具/软件:
大家好-
我们看到不同的构建环境如何识别我们的 MSP430 工程工作区时会出现一些奇怪的行为。 我们 目前有一个 支持 CCS 20.2.0 的多根工作区。 各个工程目录具有工程元数据文件、但顶层工作区仅包含一个.theia-workspace 文件。 下面是工程布局的简化列表:
/tmp/workspace ├── BOOTLOADER │ ├── .ccsproject │ ├── .cproject │ ├── .gitignore │ ├── .launches │ ├── .project │ └── .settings ├── SHARED │ ├── .ccsproject │ ├── .cproject │ ├── .gitignore │ ├── .launches │ ├── .project │ └── .settings ├── APP │ ├── .ccsproject │ ├── .cproject │ ├── .gitignore │ ├── .launches │ ├── .project │ └── .settings └── msp430.theia-workspace
我们的开发团队使用 macOS、他们可以在 IDE 内部或通过使用以下命令指向.theia-workspace 文件来构建该文件:
ccs-server-cli.sh -workspace /tmp/workspace -application projectBuild -ccs.workspace
我们的 CI 构建环境是 运行 Ubuntu 的 Docker 容器、同一命令无法在工作区中找到任何工程。
# ================================================================================ # [Fri Jun 27 14:44:42 UTC 2025]: CCS headless build starting... # ---------------------------------------- # -------------------------------------------------------------------------------- # [Fri Jun 27 14:44:42 UTC 2025]: CCS headless build complete - 0 out of 0 projects have errors
相反、我们需要首先在每个单独的工程上运行 importProject。
ccs-server-cli.sh -workspace /tmp/workspace -application projectImport -ccs.location BOOTLOADER ccs-server-cli.sh -workspace /tmp/workspace -application projectImport -ccs.location SHARED ccs-server-cli.sh -workspace /tmp/workspace -application projectImport -ccs.location APP
之后、build 命令成功而不会出现问题。 但是、导入命令不会对工作区文件系统进行任何更改。 因此、我无法确定允许编译的更改、因此我们需要对工作区进行哪些更改、以确保编译可以立即在 CI 环境中运行而无需额外导入。
我们应该如何修改工作区、以便更好地理解 CLI 构建、因为.theia-workspace 文件似乎并不完全足够?