.license-asciidoc: image: gitlab.exxcellent.de:4567/gilden/ci/exxcellent-license-tools stage: verify interruptible: true variables: BOM_FILE: bom.json ALLOWED_LICENSES: valid-licenses.txt LICENSE_ADOC_FILE: licenses.adoc INVALID_LICENSE_ADOC_FILE: invalid-licenses.adoc NUMBER_OF_ALLOWED_FAILURES: 0 script: # If bom-file does not exist, search for it in default-maven directory - > if [[ ! -f "$BOM_FILE" && -f "$BACKEND_DIR/target/bom.json" ]]; then export BOM_FILE=$BACKEND_DIR/target/bom.json fi # If bom-file does not exist, search for it in default-gradle directory - > if [[ ! -f "$BOM_FILE" && -f "$BACKEND_DIR/build/reports/bom.json" ]]; then export BOM_FILE=$BACKEND_DIR/build/reports/bom.json fi - export NUMBER_OF_INVALID_LICENSES=0 - export INVALID_BOM_FILE=invalid-bom.json - licenseBom2Adoc --bom $BOM_FILE --adoc $LICENSE_ADOC_FILE - > if [ -f "$ALLOWED_LICENSES" ]; then checkLicenseBom --bom $BOM_FILE --targetBom $INVALID_BOM_FILE --license $ALLOWED_LICENSES || NUMBER_OF_INVALID_LICENSES=$? fi - > if [ "$NUMBER_OF_INVALID_LICENSES" -gt "$NUMBER_OF_ALLOWED_FAILURES" ]; then echo "Invalid licenses found. Number of invalid license ${NUMBER_OF_INVALID_LICENSES}". See invalid-licenses file in artifacts. licenseBom2Adoc --bom $INVALID_BOM_FILE --adoc $INVALID_LICENSE_ADOC_FILE exit 1 else echo "All licenses valid" fi artifacts: when: always expire_in: 2 weeks paths: - $LICENSE_ADOC_FILE - $INVALID_LICENSE_ADOC_FILE