Metadata-Version: 2.4
Name: bmw-lobster-core
Version: 1.0.1
Summary: Lightweight Open BMW Software Traceability Evidence Report
Home-page: https://github.com/bmw-software-engineering/lobster
Author: Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
Author-email: philipp.wullstein-kammler@bmw.de
License: GNU Affero General Public License v3
Project-URL: Bug Tracker, https://github.com/bmw-software-engineering/lobster/issues
Project-URL: Documentation, https://github.com/pages/bmw-software-engineering/lobster/
Project-URL: Source Code, https://github.com/bmw-software-engineering/lobster
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Topic :: Documentation
Classifier: Topic :: Software Development
Requires-Python: >=3.7, <4
Description-Content-Type: text/markdown
Requires-Dist: Markdown~=3.7
Requires-Dist: PyYAML>=6.0
Requires-Dist: yamale>=6.0.0
Requires-Dist: GitPython>=3.1.30
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# LOBSTER

The **L**ightweight **O**pen **B**MW **S**oftware **T**raceability
**E**vidence **R**eport allows you to demonstrate software traceability
and requirements coverage, which is essential for meeting standards
such as ISO 26262.

This package contains the core LOBSTER tools: the basic API and tools
for generating reports.

## Tools

You can generate a report linking everything together with `lobster-report`.
The report is in JSON, but you can generate more readable versions of it
with additional tools:

* `lobster-online-report`:
  Postprocess a `*.lobster` report to contain GitHub references instead of local file
  references.
  Repository information must partly be provided as configuration parameters, and is partly retrieved by calling the `git` tool.
  Note that the tool only works in combination with submodules if the `.gitmodules` file of the repository uses HTTPS urls instead of SSH.

  If your `.gitmodules` looks like this, you can use this tool:

  ```ini
  [submodule "farm-with-palms"]
    path = coconut/farm
    url = ../farm-with-palms
    branch = .
  ```

  But if your file contains URLs ending on `.git`, you cannot use this tool.
  It will build invalid URLs.

* `lobster-online-report-nogit`:
  This tool is similar to `lobster-online-report`, but it does not
  call the `git` tool to obtain information about the repository.
  Instead, it relies solely on information provided by the user through
  command line arguments.
  The user has to provide
  - the git hash,
  - the remote repository URL,
  - the local path to the repository.
  
  The tool then replaces local paths in a given LOBSTER report file
  with URLs to the corresponding files in the remote repository.
  
  This tool is handy when `lobster-online-report` cannot be used.
  This could be the case in a continuous integration (CI) system where
  access to `git` is restricted for security reasons.
  Imagine a CI job that runs with high credentials.
  It could be important to prevent manipulations of the git history by the CI job,
  and as a consequence access to `git` is restricted for the job runner.
* `lobster-html-report`: Generate an HTML report
* `lobster-ci-report`: Generate a compiler-message like output, useful for CI

## Requirements
`lobster-online-report` needs `git 1.7.8` or higher to support git submodules.

## Copyright & License information

The copyright holder of LOBSTER is the Bayerische Motoren Werke
Aktiengesellschaft (BMW AG), and LOBSTER is published under the [GNU
Affero General Public License, Version
3](https://github.com/bmw-software-engineering/lobster/blob/main/LICENSE.md).

Several LOBSTER tools rely on other tools to process data and extract
tracing tags. These tools are run-time (but not link or program)
dependencies. Their copyright and license is as follows:

The LOBSTER HTML report generator `lobster-html-report` includes some
of the [Feather Icons](https://feathericons.com) in the report it
generates. The Feather Icons are licensed under the [MIT
License](https://github.com/feathericons/feather/blob/master/LICENSE).

The LOBSTER HTML report generator `lobster-html-report` uses `dot`
from the [graphviz project](https://graphviz.org/) to produce some of
the pictures it includes in the report it generates. Graphviz is
licensed under the [Common Public License, Version
1.0](https://graphviz.org/license).
