{"id":47795016,"url":"https://github.com/eclipse-score/module_template","last_synced_at":"2026-04-03T16:13:51.876Z","repository":{"id":281820016,"uuid":"945543165","full_name":"eclipse-score/module_template","owner":"eclipse-score","description":"C++ \u0026 Rust Bazel Template Repository","archived":false,"fork":false,"pushed_at":"2026-03-31T08:59:44.000Z","size":4006,"stargazers_count":2,"open_issues_count":10,"forks_count":15,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-03-31T10:31:14.663Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://eclipse-score.github.io/module_template","language":"Starlark","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eclipse-score.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-09T17:10:22.000Z","updated_at":"2026-03-31T08:55:41.000Z","dependencies_parsed_at":"2025-04-09T09:27:56.091Z","dependency_job_id":"c3083a2e-6485-4488-a2fb-19d2c5e77717","html_url":"https://github.com/eclipse-score/module_template","commit_stats":null,"previous_names":["eclipse-score/module_template"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/eclipse-score/module_template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-score%2Fmodule_template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-score%2Fmodule_template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-score%2Fmodule_template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-score%2Fmodule_template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclipse-score","download_url":"https://codeload.github.com/eclipse-score/module_template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-score%2Fmodule_template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31362716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T15:19:21.178Z","status":"ssl_error","status_checked_at":"2026-04-03T15:19:20.670Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-03T16:13:51.158Z","updated_at":"2026-04-03T16:13:51.867Z","avatar_url":"https://github.com/eclipse-score.png","language":"Starlark","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n*******************************************************************************\nCopyright (c) 2026 Contributors to the Eclipse Foundation\n\nSee the NOTICE file(s) distributed with this work for additional\ninformation regarding copyright ownership.\n\nThis program and the accompanying materials are made available under the\nterms of the Apache License Version 2.0 which is available at\nhttps://www.apache.org/licenses/LICENSE-2.0\n\nSPDX-License-Identifier: Apache-2.0\n*******************************************************************************\n--\u003e\n\n# C++ \u0026 Rust Bazel Template Repository\n\nThis repository serves as a **template** for setting up **C++ and Rust projects** using **Bazel**.\nIt provides a **standardized project structure**, ensuring best practices for:\n\n- **Build configuration** with Bazel.\n- **Testing** (Component and Feature Integration Tests).\n- **Documentation** setup.\n- **CI/CD workflows**.\n- **Development environment** configuration.\n\n---\n\n## 📂 Project Structure\n\n| File/Folder                         | Description                                       |\n| ----------------------------------- | ------------------------------------------------- |\n| `README.md`                         | Short description \u0026 build instructions            |\n| `src/`                              | Source files and Unit Tests for the module        |\n| `tests/`                            | Component and Feature Integration Tests (CIT\u0026FIT) |\n| `examples/`                         | Example files used for guidance                   |\n| `docs/`                             | Documentation (Doxygen for C++ / mdBook for Rust) |\n| `.github/workflows/`                | CI/CD pipelines                                   |\n| `.vscode/`                          | Recommended VS Code settings                      |\n| `.bazelrc`, `MODULE.bazel`, `BUILD` | Bazel configuration \u0026 settings                    |\n| `project_config.bzl`                | Project-specific metadata for Bazel macros        |\n| `LICENSE.md`                        | Licensing information                             |\n| `CONTRIBUTION.md`                   | Contribution guidelines                           |\n\n---\n\n## 🚀 Getting Started\n\n### 1️⃣ Clone the Repository\n\n```sh\ngit clone https://github.com/eclipse-score/YOUR_PROJECT.git\ncd YOUR_PROJECT\n```\n\n### 2️⃣ Build the Examples of module\n\n\u003e DISCLAIMER: Depending what module implements, it's possible that different\n\u003e configuration flags needs to be set on command line.\n\nTo build all targets of the module the following command can be used:\n\n```sh\nbazel build //src/...\n```\n\nThis command will instruct Bazel to build all targets that are under Bazel\npackage `src/`. The ideal solution is to provide single target that builds\nartifacts, for example:\n\n```sh\nbazel build //src/\u003cmodule_name\u003e:release_artifacts\n```\n\nwhere `:release_artifacts` is filegroup target that collects all release\nartifacts of the module.\n\n\u003e NOTE: This is just proposal, the final decision is on module maintainer how\n\u003e the module code needs to be built.\n\n### 3️⃣ Run Tests\n\nAll tests:\n\n```sh\nbazel test //...\n```\n\nUnit tests:\n\n```sh\nbazel test //src/...\n```\n\nComponent / Feature integration tests:\n\n```sh\nbazel test //tests/...\n```\n\n---\n\n## 🛠 Tools \u0026 Linters\n\nThe template integrates **tools and linters** from **centralized repositories** to ensure consistency across projects.\n\n- **C++:** `clang-tidy`, `cppcheck`, `Google Test`\n- **Rust:** `clippy`, `rustfmt`, `Rust Unit Tests`\n- **CI/CD:** GitHub Actions for automated builds and tests\n\n---\n\n## 📖 Documentation\n\n- A **centralized docs structure** is planned.\n\n---\n\n## ⚙️ `project_config.bzl`\n\nThis file defines project-specific metadata used by Bazel macros, such as `dash_license_checker`.\n\n### 📌 Purpose\n\nIt provides structured configuration that helps determine behavior such as:\n\n- Source language type (used to determine license check file format)\n- Safety level or other compliance info (e.g. ASIL level)\n\n### 📄 Example Content\n\n```python\nPROJECT_CONFIG = {\n    \"asil_level\": \"QM\",  # or \"ASIL-A\", \"ASIL-B\", etc.\n    \"source_code\": [\"cpp\", \"rust\"]  # Languages used in the module\n}\n```\n\n### 🔧 Use Case\n\nWhen used with macros like `dash_license_checker`, it allows dynamic selection of file types\n (e.g., `cargo`, `requirements`) based on the languages declared in `source_code`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-score%2Fmodule_template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclipse-score%2Fmodule_template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-score%2Fmodule_template/lists"}