🔧 build(lsp-server): 构建产物迁出 OneDrive 至 /var/tmp
lsp-server ci / build-and-test (push) Failing after 1s
lsp-server ci / build-and-test (push) Failing after 1s
将默认构建目录从项目内 lsp-server/build/clang-linux 改为跨机器 固定绝对路径 /var/tmp/tsl-devkit,避免 OneDrive 同步构建产物。 - .clangd: CompilationDatabase 指向新路径 - conanfile.txt: Linux/交叉编译命令统一到 /var/tmp,补齐 cross 段 /Release - AGENT_RULES.local.md: 更新构建/验证目录,补充 Windows 交叉编译段 - tech-context.md: 更新运行测试目录
This commit is contained in:
+26
-8
@@ -39,28 +39,46 @@
|
||||
|
||||
## 构建与验证
|
||||
|
||||
默认 Linux 构建目录:`lsp-server/build/clang-linux/Release`
|
||||
默认 Linux 构建目录:`/var/tmp/tsl-devkit/clang-linux/Release`
|
||||
(跨机器固定绝对路径,不在项目内构建)
|
||||
|
||||
- 构建前置:
|
||||
|
||||
```bash
|
||||
CONAN_HOME=/tmp/conan-home conan install lsp-server \
|
||||
CONAN_HOME=/var/tmp/tsl-devkit/conan-home conan install lsp-server \
|
||||
-pr:h=lsp-server/conan/profiles/linux-x86_64-clang \
|
||||
-pr:b=lsp-server/conan/profiles/linux-x86_64-clang \
|
||||
-of lsp-server/build/clang-linux/Release \
|
||||
-of /var/tmp/tsl-devkit/clang-linux \
|
||||
--build=missing
|
||||
|
||||
cmake -S lsp-server -B lsp-server/build/clang-linux/Release -G Ninja \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$PWD/lsp-server/build/clang-linux/Release/generators/conan_toolchain.cmake \
|
||||
cmake -S lsp-server -B /var/tmp/tsl-devkit/clang-linux/Release -G Ninja \
|
||||
-DCMAKE_TOOLCHAIN_FILE=/var/tmp/tsl-devkit/clang-linux/Release/generators/conan_toolchain.cmake \
|
||||
-DBUILD_TESTS=ON
|
||||
```
|
||||
|
||||
- AST / 解析改动至少执行:
|
||||
`ctest --test-dir lsp-server/build/clang-linux/Release -R 'test_ast|test_tree_sitter' --output-on-failure`
|
||||
`ctest --test-dir /var/tmp/tsl-devkit/clang-linux/Release -R 'test_ast|test_tree_sitter' --output-on-failure`
|
||||
- Provider / 协议改动至少执行:
|
||||
`ctest --test-dir lsp-server/build/clang-linux/Release -R 'test_provider|test_lsp_any|request_json' --output-on-failure`
|
||||
`ctest --test-dir /var/tmp/tsl-devkit/clang-linux/Release -R 'test_provider|test_lsp_any|request_json' --output-on-failure`
|
||||
- 语义 / 符号改动至少执行:
|
||||
`ctest --test-dir lsp-server/build/clang-linux/Release -R 'test_semantic|test_symbol' --output-on-failure`
|
||||
`ctest --test-dir /var/tmp/tsl-devkit/clang-linux/Release -R 'test_semantic|test_symbol' --output-on-failure`
|
||||
|
||||
Windows 交叉编译目录:`/var/tmp/tsl-devkit/clang-cross/Release`
|
||||
(仅出包用,不跑测试,`-DBUILD_TESTS=OFF`)
|
||||
|
||||
```bash
|
||||
CONAN_HOME=/var/tmp/tsl-devkit/conan-home conan install lsp-server \
|
||||
-pr:b=lsp-server/conan/profiles/linux-x86_64-clang \
|
||||
-pr:h=lsp-server/conan/profiles/windows-x86_64-clang-cross \
|
||||
-of /var/tmp/tsl-devkit/clang-cross \
|
||||
--build=missing
|
||||
|
||||
cmake -S lsp-server -B /var/tmp/tsl-devkit/clang-cross/Release -G Ninja \
|
||||
-DCMAKE_TOOLCHAIN_FILE=/var/tmp/tsl-devkit/clang-cross/Release/generators/conan_toolchain.cmake \
|
||||
-DBUILD_TESTS=OFF
|
||||
|
||||
cmake --build /var/tmp/tsl-devkit/clang-cross/Release --target tsl-server
|
||||
```
|
||||
|
||||
## Playbook 对齐规则
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
CompileFlags:
|
||||
CompilationDatabase: build/clang-linux/Release
|
||||
CompilationDatabase: /var/tmp/tsl-devkit/clang-linux/Release
|
||||
|
||||
---
|
||||
If:
|
||||
|
||||
@@ -17,13 +17,15 @@ fmt/*:header_only=True
|
||||
cmake_layout
|
||||
|
||||
# 使用 Clang+libc++ 构建(Ninja generator):
|
||||
# 构建产物统一放到 /var/tmp/tsl-devkit 下(跨机器固定绝对路径,
|
||||
# .clangd 的 CompilationDatabase 指向同一位置)。
|
||||
#
|
||||
# Linux 环境(build/clang-linux):
|
||||
# CONAN_HOME=/tmp/conan-home conan install . -pr:h=conan/profiles/linux-x86_64-clang -pr:b=conan/profiles/linux-x86_64-clang -of build/clang-linux --build=missing
|
||||
# cmake -S . -B build/clang-linux/Release -DCMAKE_TOOLCHAIN_FILE=$PWD/build/clang-linux/Release/generators/conan_toolchain.cmake -DBUILD_TESTS=ON
|
||||
# cmake --build build/clang-linux/Release --target tsl-server
|
||||
# Linux 环境(/var/tmp/tsl-devkit/clang-linux):
|
||||
# CONAN_HOME=/var/tmp/tsl-devkit/conan-home conan install . -pr:h=conan/profiles/linux-x86_64-clang -pr:b=conan/profiles/linux-x86_64-clang -of /var/tmp/tsl-devkit/clang-linux --build=missing
|
||||
# cmake -S . -B /var/tmp/tsl-devkit/clang-linux/Release -DCMAKE_TOOLCHAIN_FILE=/var/tmp/tsl-devkit/clang-linux/Release/generators/conan_toolchain.cmake -DBUILD_TESTS=ON
|
||||
# cmake --build /var/tmp/tsl-devkit/clang-linux/Release --target tsl-server
|
||||
#
|
||||
# Windows 交叉编译(build/clang-cross):
|
||||
# CONAN_HOME=/tmp/conan-home conan install . -pr:b=conan/profiles/linux-x86_64-clang -pr:h=conan/profiles/windows-x86_64-clang-cross -of build/clang-cross --build=missing
|
||||
# cmake -S . -B build/clang-cross -DCMAKE_TOOLCHAIN_FILE=$PWD/build/clang-cross/Release/generators/conan_toolchain.cmake -DBUILD_TESTS=OFF
|
||||
# cmake --build build/clang-cross --target tsl-server
|
||||
# Windows 交叉编译(/var/tmp/tsl-devkit/clang-cross):
|
||||
# CONAN_HOME=/var/tmp/tsl-devkit/conan-home conan install . -pr:b=conan/profiles/linux-x86_64-clang -pr:h=conan/profiles/windows-x86_64-clang-cross -of /var/tmp/tsl-devkit/clang-cross --build=missing
|
||||
# cmake -S . -B /var/tmp/tsl-devkit/clang-cross/Release -DCMAKE_TOOLCHAIN_FILE=/var/tmp/tsl-devkit/clang-cross/Release/generators/conan_toolchain.cmake -DBUILD_TESTS=OFF
|
||||
# cmake --build /var/tmp/tsl-devkit/clang-cross/Release --target tsl-server
|
||||
|
||||
@@ -45,7 +45,7 @@ tsl-devkit/
|
||||
**运行测试**:
|
||||
|
||||
```bash
|
||||
ctest --test-dir lsp-server/build/clang-linux/Release --output-on-failure
|
||||
ctest --test-dir /var/tmp/tsl-devkit/clang-linux/Release --output-on-failure
|
||||
npm --prefix vscode run compile
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user