build-one-cc-file
Build a single C++ file. Use when a single .cc file needs to be compiled to check for errors.
소스 정보
- 저장소
- apache/impala
- 최근 소스 활동
- 2026년 8월 17일 17:22
- 감지된 SKILL.md 언어
- 영어
- 스타
- 1,292
- 포크
- 561
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
파일 탐색기
2 개 파일SKILL.md 표시 중
SKILL.md
소스 지침 · 읽기 전용 미리보기- name
- build-one-cc-file
- description
- Build a single C++ file. Use when a single .cc file needs to be compiled to check for errors.
- license
- Apache-2.0
- metadata
- {"version":"1.0"}
## Build One C++ File
Use this skill when needing to compile one `*.cc` C++ file to check for errors.
This provides a fast validation path without building the entire project.
## Deterministic Rules
- MUST run only from `${IMPALA_HOME}`.
- MUST configure the environment in the same shell session before building:
`export IMPALA_HOME=<git_repo_root> && cd "${IMPALA_HOME}" && source "${IMPALA_HOME}/bin/impala-config.sh" && source "${IMPALA_HOME}/bin/set-classpath.sh"`
- MUST use `.agents/skills/build-one-cc-file/scripts/omake.sh` as the only build command
path.
- MUST NOT use the agent's compile tool, Ninja, or direct CMake/Ninja invocation.
## Available Scripts
- `.agents/skills/build-one-cc-file/scripts/omake.sh [--dry-run] <input>` — builds the
single object file for one C++ source.
- Accepts a bare basename (`rpc-trace`).
- `--dry-run`: prints the resolved `make` command on stdout and exits 0. Does not build.
- Without `--dry-run`: runs the `make` command; exits 0 on success, non-zero on failure.
- If no build target is found: exits non-zero (grep failure propagated via `set -e`).
## Input Contract
Pass exactly one argument: the source basename only.
- Input MUST be one token with no path separators.
- Input MUST NOT include a directory path.
- If input ends with `.cc`, strip `.cc` and continue.
- Basename MUST match this pattern: `[A-Za-z0-9_-]+`
- If validation fails, stop and request corrected input.
Examples:
- Correct: `.agents/skills/build-one-cc-file/scripts/omake.sh rpc-trace`
- Incorrect: `.agents/skills/build-one-cc-file/scripts/omake.sh be/src/rpc/rpc-trace.cc`
- Incorrect: `.agents/skills/build-one-cc-file/scripts/omake.sh rpc-trace.cc`
If starting from a path like `be/src/rpc/rpc-trace.cc`, convert it to `rpc-trace`
before invocation.
## Execution Procedure
1. Preflight and setup:
- Ensure current directory is `${IMPALA_HOME}`.
- Ensure environment configuration has run in the current shell session.
2. First attempt MUST use dry-run:
- Run: `.agents/skills/build-one-cc-file/scripts/omake.sh --dry-run <basename>`
- If dry-run fails, stop and report failure details.
3. Execute real build after successful dry-run:
- Run: `.agents/skills/build-one-cc-file/scripts/omake.sh <basename>`
## Ambiguity Handling
If basename collision occurs (multiple candidate source files map to the same basename),
do not guess.
- MUST ask the user to clarify which source path to use.
- MUST wait for clarification before running the real build command.
## Failure and Retry Policy
On any failure:
- MUST report the exact command run.
- MUST report exit code.
- MUST report the first non-empty line from stderr; if stderr is empty, first stdout line
containing "error:"
Retry behavior:
- MUST analyze the failure first.
- MUST attempt a concrete fix (for example corrected basename input or environment setup).
- MAY retry the real build (step 3) once after analysis and fix attempt.
- MUST NOT perform blind repeated retries.
## Success Output Contract
On success, report:
- Normalized basename used.
- Dry-run command and result.
- Real build command and result.
- Final exit code and success confirmation.
GitHub에서 보기