-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
44 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,46 @@ | ||
# Software Product Health Analyzer (SPHA) | ||
![SPHA Logo](docs/img/Software_Project_Health_Assistant_Secondary-Logo.png) | ||
|
||
## Code Style | ||
## About | ||
|
||
We use [ktfmt](https://github.com/facebook/ktfmt?tab=readme-ov-file) as a code style checker and reformater with the | ||
`kotlinlang` code style. | ||
SPHA is a fully automated tool suite that assesses and communicates all aspects | ||
of software product quality. It does so by combining data about your projects | ||
from sources like ticketing systems, and static analysis tools. For more details | ||
see [software-product.health](https://www.software-product.health). | ||
|
||
The [gradle plugin](https://github.com/cortinico/ktfmt-gradle#how-to-use-) is installed for all submodules through the | ||
conventions plugin. It adds two gradle tasks | ||
`./gradlew ktfmtCheck` and `./gradlew ktfmtFormat`. The gradle plugin is configured to use `kotlinlang`. | ||
ktfmt has an [IntelliJ plugin](https://plugins.jetbrains.com/plugin/14912-ktfmt) which automatically replaces IntelliJ's | ||
format command and applies ktfmt's formatting. The IntelliJ plugin must be configured to use `kotlinlang` under the | ||
plugin's settings. | ||
## SPHA Library | ||
|
||
This project contains SPHA's core library. Its main purpose is to calculate a products health score | ||
based on a given `KpiHierarchy` and `RawValueKPIs`. Further, it provides the possibility to transform | ||
tool results into our internal `RawValueKPI` format. The transformation is handled by dedicated tool | ||
adapters. | ||
With the [SPHA CLI Tool](https://www.github.com/fraunhofer-iem/spha-cli) we have created an executable tool using this | ||
library and showcasing its possibilities. | ||
A tool demo using our [GitHub Action](https://www.github.com/fraunhofer-iem/spha-action) can be | ||
found [here](https://www.github.com/fraunhofer-iem/spha-demo). | ||
|
||
## Installation | ||
|
||
SPHA is a 100% Kotlin project build with Gradle. You must have Kotlin installed on your | ||
system. To use Gradle either install it locally our use the included Gradle wrapper. | ||
We aim to always support the latest version of Kotlin and Gradle. | ||
|
||
To build the project using the wrapper run `./gradlew build`. | ||
|
||
## Usage | ||
|
||
SPHA is divided into three modules `core`, `adapter`, and `model` that are individually published. | ||
To include one of the components use `implementation("de.fraunhofer.iem:spha-XXX:VERSION")`. | ||
|
||
## Contribute | ||
|
||
You are welcome to contribute to SPHA. Please make sure you adhere to our | ||
[contributing](CONTRIBUTING.md) guidelines. | ||
First time contributors are asked to accept our | ||
[contributor license agreement (CLA)](CLA.md). | ||
For questions about the CLA please contact us at _SPHA(at)iem.fraunhofer.de_ or create an issue. | ||
|
||
## License | ||
|
||
Copyright (C) Fraunhofer IEM. | ||
Software Product Health Assistant (SPHA) and all its components are published under the MIT license. | ||
![IEM Logo](docs/img/Logo_iem.png) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.