https://github.com/eclipse-score/tooling
Tooling for Eclipse S-CORE
https://github.com/eclipse-score/tooling
Last synced: 3 months ago
JSON representation
Tooling for Eclipse S-CORE
- Host: GitHub
- URL: https://github.com/eclipse-score/tooling
- Owner: eclipse-score
- License: apache-2.0
- Created: 2025-02-20T07:49:46.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-02-12T17:42:54.000Z (5 months ago)
- Last Synced: 2026-02-13T01:14:20.026Z (5 months ago)
- Language: Starlark
- Size: 13.6 MB
- Stars: 5
- Watchers: 6
- Forks: 16
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Notice: NOTICE
Awesome Lists containing this project
README
# Score Tooling
A unified Bazel module containing development tools and utilities for building, testing, and maintaining code quality.
## Quick Start
Add this module to your `MODULE.bazel`:
```starlark
bazel_dep(name = "score_tooling", version = "1.0.0")
```
## Available Tools
Each tool maintains its own documentation and examples in their respective subdirectories.
See the individual README files for detailed usage instructions and configuration options.
| Tool | Description | Documentation |
|------|-------------|---------------|
| **cli_helper** | Command-line interface utilities | [README](cli_helper/README.md) |
| **cr_checker** | Code review and compliance checking | [README](cr_checker/README.md) |
| **dash** | Eclipse Dash license scanning | [README](dash/README.md) |
| **format_checker** | Code formatting validation | [README](format_checker/README.md) |
| **python_basics** | Python development utilities and testing | [README](python_basics/README.md) |
| **starpls** | Starlark language server support | [README](starpls/README.md) |
| **tools** | Formatters & Linters | [README](tools/README.md) |
| **coverage** | Ferrocene Rust coverage workflow | [README](coverage/README.md) |
## Usage Examples
Load tools in your `BUILD` files:
```starlark
load("@score_tooling//:defs.bzl", "score_py_pytest")
load("@score_tooling//:defs.bzl", "cli_tool")
load("@score_tooling//coverage:coverage.bzl", "rust_coverage_report")
```
Create a repo-local coverage target:
```starlark
rust_coverage_report(
name = "rust_coverage",
bazel_configs = [
"ferrocene-x86_64-linux",
"ferrocene-coverage",
],
query = 'kind("rust_test", //...)',
min_line_coverage = "80",
)
```
Then run:
```bash
bazel run //:rust_coverage -- --min-line-coverage 80
```
## Upgrading from separate MODULES
If you are still using separate module imports and want to upgrade to the new version.
Here are two examples to showcase how to do this.
```
load("@score_python_basics//:defs.bzl", "score_py_pytest") => load("@score_tooling//:defs.bzl", "score_py_pytest")
load("@score_cr_checker//:cr_checker.bzl", "copyright_checker") => load("@score_tooling//:defs.bzl", "copyright_checker")
```
All things inside of 'tooling' can now be imported from `@score_tooling//:defs.bzl`.
The available import targets are:
- score_virtualenv
- score_py_pytest
- dash_license_checker
- copyright_checker
- cli_helper
- use_format_targets
- setup_starpls
- rust_coverage_report
## Format the tooling repository
```bash
bazel run //:format.fix
```