Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
Signed-off-by: hoangtungdinh <11166240+hoangtungdinh@users.noreply.github.com>
  • Loading branch information
hoangtungdinh committed Oct 2, 2024
1 parent f03ce20 commit 0a068ac
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 15 deletions.
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

This project implements the [ASAM OpenScenario XML Checker Bundle](checker_bundle_doc.md).

**Disclaimer**: The current version is a release candidate. The first official release is expected to be in November.

- [asam-qc-openscenarioxml](#asam-qc-openscenarioxml)
- [Installation and usage](#installation-and-usage)
- [Installation using pip](#installation-using-pip)
Expand Down Expand Up @@ -208,3 +210,34 @@ You need to have pre-commit installed and install the hooks:
```
pre-commit install
```

**To implement a new checker**

1. Create a new Python module for each checker.
2. Specify the following global variables for the Python module

| Variable | Meaning |
| --- | --- |
| `CHECKER_ID` | The ID of the checker |
| `CHECKER_DESCRIPTION` | The description of the checker |
| `CHECKER_PRECONDITIONS` | A set of other checkers in which if any of them raise an issue, the current checker will be skipped |
| `RULE_UID` | The rule UID of the rule that the checker will check |

3. Implement the checker logic in the following function:

```python
def check_rule(checker_data: models.CheckerData) -> None:
pass
```

1. Register the checker module in the following function in [main.py](qc_openscenario/main.py).

```python
def run_checks(config: Configuration, result: Result) -> None:
...
# Add the following line to register your checker module
execute_checker(your_checker_module, checker_data)
...
```

All the checkers in this checker bundle are implemented in this way. Take a look at some of them before implementing your first checker.
4 changes: 2 additions & 2 deletions checker_bundle_doc.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@

# Checker bundle: xoscBundle

* Build version: 0.1.0
* Build version: v1.0.0-rc.1
* Description: OpenScenario checker bundle

## Parameters

* InputFile
* resultFile

## Checkers

Expand Down
2 changes: 1 addition & 1 deletion manifest_templates/windows_xosc_manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"name": "xoscBundle",
"exec_type": "executable",
"module_type": "checker_bundle",
"exec_command": "cd %ASAM_QC_FRAMEWORK_WORKING_DIR% && qc_openscenario -c %ASAM_QC_FRAMEWORK_CONFIG_FILE%"
"exec_command": "cd \"%ASAM_QC_FRAMEWORK_WORKING_DIR%\" && qc_openscenario -c \"%ASAM_QC_FRAMEWORK_CONFIG_FILE%\""
}
]
}
18 changes: 9 additions & 9 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "asam-qc-openscenarioxml"
version = "0.1.0"
version = "1.0.0rc1"
description = "This project implements the OpenScenario Checker for the ASAM Quality Checker project."
authors = ["Danilo Romano <danilo@ivex.ai>"]
license = "MPL-2.0"
Expand Down
2 changes: 1 addition & 1 deletion qc_openscenario/constants.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
BUNDLE_NAME = "xoscBundle"
BUNDLE_VERSION = "0.1.0"
BUNDLE_VERSION = "v1.0.0-rc.1"
1 change: 0 additions & 1 deletion qc_openscenario/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,6 @@ def main():
result = Result()
result.register_checker_bundle(
name=constants.BUNDLE_NAME,
build_date=datetime.today().strftime("%Y-%m-%d"),
description="OpenScenario checker bundle",
version=constants.BUNDLE_VERSION,
summary="",
Expand Down

0 comments on commit 0a068ac

Please sign in to comment.