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.
This project contains SPHA's command line tool, a wrapper around our
core library. The CLI-tool can transform
tool results
into RawValueKpis
, calculate
a given KpiHierarchy
based on RawValueKpis
, and
generate a human-readable report.
A tool demo using our GitHub Action can be
found here.
The easiest way to get started with SPHA is by using the included docker image. To
build it locally run docker build -t TAG_NAME .
. Afterward, you can run the container
with docker run TAG_NAME
. The default command will print the --help
statement that
further explains how to use SPHA.
This repository contains a prebuild version of SPHA's docker image. To use it just run
docker pull ghcr.io/fraunhofer-iem/spha-cli:latest
and then run docker run fraunhofer-iem/spha-cli
.
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
.
./gradlew run
executes SPHA. We use CLIKT as a command line framework, see their
documentation on how to
interact with CLIKT based tools. By default, it will print the --help
output that further explains
how to use SPHA.
After successfully building SPHA you can generally use one of the following three commands:
transform
- transforms a given tool result into our internalRawValueKpi
formatcalculate
- calculates a givenKpiHierarchy
by combining it withRawValueKpi
report
- generates a human-readable report from a givenKpiResultHierarchy
For the most up-to-date documentation of each command run --help
.
You are welcome to contribute to SPHA. Please make sure you adhere to our
contributing guidelines.
First time contributors are asked to accept our
contributor license agreement (CLA).
For questions about the CLA please contact us at SPHA(at)iem.fraunhofer.de or create an issue.
Copyright (C) Fraunhofer IEM.
Software Product Health Assistant (SPHA) and all its components are published under the MIT license.