eclipse-score / eclipse-score/score

`hedron_compile_commands` upstream abadonment

Open
#3,098 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Starlark
Stars
109
Forks
105
Avg merge
1d 9h
Merged PRs (30d)
24

Description

### What

This tool is used for generation of `compile_commands.json`, a file required by most IDEs for C++ tooling.
[Original version](https://github.com/hedronvision/bazel-compile-commands-extractor) is now abandoned and lacks the support for Bazel 8.6.0. This was mitigated in `baselibs` by providing a [repo-local patch](https://github.com/eclipse-score/baselibs/blob/main/patches/hedron_compile_commands_env_vars.patch).

There's a [fork that is being actively maintained](https://github.com/hedronvision/bazel-compile-commands-extractor), but it cannot be used as a drop-in replacement due to dependency issues.
As @MaximilianSoerenPollak observed [here](https://github.com/orgs/eclipse-score/discussions/434#discussioncomment-17546009) this is due to fork expecting `rules_python` in version >2.x.
Updating it would in turn break `score_docs_as_code`.

### Acceptance Criteria (DoD)

- `rules_python` is updated to >2.x.
- `score_docs_as_code` are using `rules_python` in updated version.
- Fork of a tool is used in repositories in place of abandoned version.

### How

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with baselibs/patches/hedron_compile_commands_env_vars.patch and the dependency declarations used by score_docs_as_code. Compare the maintained fork's rules_python requirements with the current setup and determine the affected repositories. Done means rules_python is updated, score_docs_as_code uses that version, and repositories use the maintained fork instead of the abandoned tool.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
build-system, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.