Commit 040365fa authored by Maximilian Dolling's avatar Maximilian Dolling
Browse files

Merge branch '62-fix-build-and-gitleaks-errors' into 'master'

Resolve "fix build and gitleaks errors"

Closes #62

See merge request !59
parents cee7e5ac e55a2eaf
...@@ -13,6 +13,7 @@ stages: ...@@ -13,6 +13,7 @@ stages:
variables: variables:
DOCKER_DST_IMAGE_NAME: software-quality-assurance DOCKER_DST_IMAGE_NAME: software-quality-assurance
SQA_VERSION: '0.6.0' SQA_VERSION: '0.6.0'
GIT_SUBMODULE_STRATEGY: recursive
include: include:
- local: .gitlab/ci/build-deploy.gitlab-ci.yml - local: .gitlab/ci/build-deploy.gitlab-ci.yml
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
lint:Python: lint:Python:
stage: lint stage: lint
image: gitext.gfz-potsdam.de:5000/software/services/fair/software-quality-assurance/software-quality-assurance:latest-dep-dev image: gitext.gfz-potsdam.de:5000/id2/software/services/fair/software-quality-assurance/software-quality-assurance:latest-dep-dev
before_script: before_script:
- pip install pylint - pip install pylint
script: script:
......
...@@ -10,10 +10,10 @@ test:sqa-dev: ...@@ -10,10 +10,10 @@ test:sqa-dev:
dependencies: dependencies:
- build-deploy:dev - build-deploy:dev
script: script:
- sqa --test --repository_dir "$CI_PROJECT_DIR" run - cp "$CI_PROJECT_DIR/tests/test_project/QUALITY.md" "$CI_PROJECT_DIR/tests/test_project/test_report.md"
- tail -n +7 tests/test_report.md > tests/tmp_test_report.md - sqa --test --repository_dir "$CI_PROJECT_DIR/tests/test_project" run
- IS_CHK_SUM=$(sha512sum QUALITY.md | awk '{ print $1 }') - IS_CHK_SUM=$(sha512sum "$CI_PROJECT_DIR/tests/test_project/QUALITY.md" | awk '{ print $1 }')
- PASS_CHK_SUM=$(sha512sum tests/tmp_test_report.md | awk '{ print $1 }') - PASS_CHK_SUM=$(sha512sum "$CI_PROJECT_DIR/tests/test_project/test_report.md" | awk '{ print $1 }')
- > - >
if [ "$IS_CHK_SUM" != "$PASS_CHK_SUM" ]; then if [ "$IS_CHK_SUM" != "$PASS_CHK_SUM" ]; then
echo "Generated report does not equal the test template" echo "Generated report does not equal the test template"
...@@ -25,16 +25,15 @@ test:sqa-dev: ...@@ -25,16 +25,15 @@ test:sqa-dev:
changes: changes:
- "build/**/*" - "build/**/*"
- "src/**/*" - "src/**/*"
- "tests/testfiles/**/*" - "tests/test_project/**/*"
- "tests/unittests/**/*" - "tests/unittests/**/*"
- "tests/test_report.md"
- ".sqa/**/*" - ".sqa/**/*"
- ".gitlab/ci/test.gitlab-ci.yml" - ".gitlab/ci/test.gitlab-ci.yml"
artifacts: artifacts:
paths: paths:
- meta - "$CI_PROJECT_DIR/tests/test_project/meta"
- tests/tmp_test_report.md - "$CI_PROJECT_DIR/tests/test_project/test_report.md"
- QUALITY.md - "$CI_PROJECT_DIR/tests/test_project/QUALITY.md"
when: on_failure when: on_failure
expire_in: 1 day expire_in: 1 day
...@@ -46,10 +45,10 @@ test:sqa-production: ...@@ -46,10 +45,10 @@ test:sqa-production:
dependencies: dependencies:
- build-deploy:production - build-deploy:production
script: script:
- sqa --test --repository_dir "$CI_PROJECT_DIR" run - cp "$CI_PROJECT_DIR/tests/test_project/QUALITY.md" "$CI_PROJECT_DIR/tests/test_project/test_report.md"
- tail -n +7 tests/test_report.md > tests/tmp_test_report.md - sqa --test --repository_dir "$CI_PROJECT_DIR/tests/test_project" run
- IS_CHK_SUM=$(sha512sum QUALITY.md | awk '{ print $1 }') - IS_CHK_SUM=$(sha512sum "$CI_PROJECT_DIR/tests/test_project/QUALITY.md" | awk '{ print $1 }')
- PASS_CHK_SUM=$(sha512sum tests/tmp_test_report.md | awk '{ print $1 }') - PASS_CHK_SUM=$(sha512sum "$CI_PROJECT_DIR/tests/test_project/test_report.md" | awk '{ print $1 }')
- > - >
if [ "$IS_CHK_SUM" != "$PASS_CHK_SUM" ]; then if [ "$IS_CHK_SUM" != "$PASS_CHK_SUM" ]; then
echo "Generated report does not equal the test template" echo "Generated report does not equal the test template"
...@@ -61,16 +60,15 @@ test:sqa-production: ...@@ -61,16 +60,15 @@ test:sqa-production:
changes: changes:
- "build/**/*" - "build/**/*"
- "src/**/*" - "src/**/*"
- "tests/testfiles/**/*" - "tests/test_project/**/*"
- "tests/unittests/**/*" - "tests/unittests/**/*"
- "tests/test_report.md"
- ".sqa/**/*" - ".sqa/**/*"
- ".gitlab/ci/test.gitlab-ci.yml" - ".gitlab/ci/test.gitlab-ci.yml"
artifacts: artifacts:
paths: paths:
- meta - "$CI_PROJECT_DIR/tests/test_project/meta"
- tests/tmp_test_report.md - "$CI_PROJECT_DIR/tests/test_project/test_report.md"
- Quality.md - "$CI_PROJECT_DIR/tests/test_project/QUALITY.md"
when: on_failure when: on_failure
expire_in: 1 day expire_in: 1 day
......
[submodule "tests/test_project"]
path = tests/test_project
url = https://git.gfz-potsdam.de/id2/software/services/fair/sqa_test_project.git
...@@ -24,4 +24,4 @@ igittigitt = "*" ...@@ -24,4 +24,4 @@ igittigitt = "*"
orderedset = "*" orderedset = "*"
[requires] [requires]
python_version = "3.8" python_version = "3.9"
This diff is collapsed.
...@@ -24,5 +24,7 @@ ...@@ -24,5 +24,7 @@
# You can find a copy of the license in the LICENSES folder. # You can find a copy of the license in the LICENSES folder.
# If not, see <http://www.gnu.org/licenses/>. # If not, see <http://www.gnu.org/licenses/>.
GO111MODULE=on go build github.com/zricethezav/gitleaks/v5 GO111MODULE=on go get github.com/zricethezav/gitleaks/v7
mv gitleaks /usr/bin/ ls -lisa
\ No newline at end of file mv /root/go/bin/gitleaks /usr/bin/
rm -rf /root/go
#
# These requirements were autogenerated by pipenv
# To regenerate from the project's Pipfile, run:
#
# pipenv lock --requirements
#
-i https://pypi.org/simple -i https://pypi.org/simple
attrs==20.2.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' attrs==20.3.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
backrefs==4.5; python_version >= '3.5'
binaryornot==0.4.4 binaryornot==0.4.4
boolean.py==3.8 boolean.py==3.8
bracex==2.0.1; python_version >= '3.5' bracex==2.1.1; python_full_version >= '3.6.0'
certifi==2020.6.20 certifi==2020.12.5
chardet==3.0.4 chardet==4.0.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
cli-exit-tools==1.1.8; python_full_version >= '3.6.0' cli-exit-tools==1.1.8; python_full_version >= '3.6.0'
click==7.1.2 click==7.1.2
contextlib2==0.6.0.post1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' contextlib2==0.6.0.post1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
gitdb==4.0.5; python_version >= '3.4' gitdb==4.0.7; python_version >= '3.4'
gitpython==3.1.9 gitpython==3.1.14
idna==2.10; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' idna==2.10; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
igittigitt==2.0.3 igittigitt==2.0.4
jinja2==2.11.2; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' jinja2==2.11.3; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
license-expression==1.2 license-expression==1.2
markupsafe==1.1.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' markupsafe==1.1.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
orderedset==2.0.3 orderedset==2.0.3
python-debian==0.1.38 python-debian==0.1.39
pyyaml==5.3.1 pyyaml==5.4.1
requests==2.24.0 requests==2.25.1
reuse==0.11.1 reuse==0.12.1
schema==0.7.2 schema==0.7.4
six==1.15.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' six==1.15.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
smmap==3.0.4; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' smmap==4.0.0; python_version >= '3.5'
spdx-license-list==0.5.1 spdx-license-list==0.5.2
stdlib-list==0.7.0 stdlib-list==0.8.0
tabulate==0.8.7 tabulate==0.8.9
toml==0.10.1 toml==0.10.2
urllib3==1.25.10; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4' urllib3==1.26.4; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'
wcmatch==7.1; python_version >= '3.5' wcmatch==8.1.2; python_full_version >= '3.6.0'
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
# You can find a copy of the license in the LICENSES folder. # You can find a copy of the license in the LICENSES folder.
# If not, see <http://www.gnu.org/licenses/>. # If not, see <http://www.gnu.org/licenses/>.
FROM gitext.gfz-potsdam.de:5000/software/services/fair/software-quality-assurance/software-quality-assurance:latest-dep-dev FROM gitext.gfz-potsdam.de:5000/id2/software/services/fair/software-quality-assurance/software-quality-assurance:latest-dep-dev
LABEL maintainer="Maximilian Dolling <mdolling@gfz-potsdam.de>" LABEL maintainer="Maximilian Dolling <mdolling@gfz-potsdam.de>"
...@@ -36,4 +36,5 @@ WORKDIR /tmp/build/src ...@@ -36,4 +36,5 @@ WORKDIR /tmp/build/src
RUN python setup.py install RUN python setup.py install
# cleanup # cleanup
WORKDIR /
RUN rm -r /tmp/build RUN rm -r /tmp/build
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
# You can find a copy of the license in the LICENSES folder. # You can find a copy of the license in the LICENSES folder.
# If not, see <http://www.gnu.org/licenses/>. # If not, see <http://www.gnu.org/licenses/>.
FROM gitext.gfz-potsdam.de:5000/software/services/fair/software-quality-assurance/software-quality-assurance:latest-dep FROM gitext.gfz-potsdam.de:5000/id2/software/services/fair/software-quality-assurance/software-quality-assurance:latest-dep
LABEL maintainer="Maximilian Dolling <mdolling@gfz-potsdam.de>" LABEL maintainer="Maximilian Dolling <mdolling@gfz-potsdam.de>"
...@@ -36,4 +36,5 @@ WORKDIR /tmp/build/src ...@@ -36,4 +36,5 @@ WORKDIR /tmp/build/src
RUN python setup.py install RUN python setup.py install
# cleanup # cleanup
WORKDIR /
RUN rm -r /tmp/build RUN rm -r /tmp/build
...@@ -81,7 +81,7 @@ stages: ...@@ -81,7 +81,7 @@ stages:
sqa: sqa:
stage: sqa stage: sqa
image: image:
name: "gitext.gfz-potsdam.de:5000/software/services/fair/software-quality-assurance/software-quality-assurance:latest" name: "gitext.gfz-potsdam.de:5000/id2/software/services/fair/software-quality-assurance/software-quality-assurance:latest"
entrypoint: [""] entrypoint: [""]
script: script:
- sqa --repository_dir "$CI_PROJECT_DIR" run - sqa --repository_dir "$CI_PROJECT_DIR" run
...@@ -163,7 +163,7 @@ stages: ...@@ -163,7 +163,7 @@ stages:
sqa: sqa:
stage: sqa stage: sqa
image: image:
name: "gitext.gfz-potsdam.de:5000/software/services/fair/software-quality-assurance/software-quality-assurance:latest" name: "gitext.gfz-potsdam.de:5000/id2/software/services/fair/software-quality-assurance/software-quality-assurance:latest"
entrypoint: [""] entrypoint: [""]
before_script: before_script:
- mkdir -p ~/.ssh - mkdir -p ~/.ssh
...@@ -233,7 +233,7 @@ The general syntax looks like the following: ...@@ -233,7 +233,7 @@ The general syntax looks like the following:
```bash ```bash
docker run -v [/ABSOLUTE/PATH/TO/REPO]:/repo \ docker run -v [/ABSOLUTE/PATH/TO/REPO]:/repo \
-u $(id -u ${USER}):$(id -g ${USER}) \ -u $(id -u ${USER}):$(id -g ${USER}) \
gitext.gfz-potsdam.de:5000/software/services/fair/software-quality-assurance/software-quality-assurance:latest \ gitext.gfz-potsdam.de:5000/id2/software/services/fair/software-quality-assurance/software-quality-assurance:latest \
sqa [MODIFIER] run [SERVICE] sqa [MODIFIER] run [SERVICE]
``` ```
...@@ -245,7 +245,7 @@ This binds the directory of your project to the docker container. ...@@ -245,7 +245,7 @@ This binds the directory of your project to the docker container.
This makes the user/group of the container the same as the host system ones. This makes the user/group of the container the same as the host system ones.
**`gitext.gfz-potsdam.de:5000/software/services/fair/software-quality-assurance/software-quality-assurance:latest`** **`gitext.gfz-potsdam.de:5000/id2/software/services/fair/software-quality-assurance/software-quality-assurance:latest`**
This is the actual path to the image:image-version. This is the actual path to the image:image-version.
...@@ -255,7 +255,7 @@ Here the service (and modifier) to run is specified. ...@@ -255,7 +255,7 @@ Here the service (and modifier) to run is specified.
To get a list of available services use: To get a list of available services use:
```bash ```bash
docker run gitext.gfz-potsdam.de:5000/software/services/fair/software-quality-assurance/software-quality-assurance:latest \ docker run gitext.gfz-potsdam.de:5000/id2/software/services/fair/software-quality-assurance/software-quality-assurance:latest \
sqa run --help sqa run --help
``` ```
...@@ -265,12 +265,12 @@ Run all services for the project within the directory `~/Projects/volcano_detect ...@@ -265,12 +265,12 @@ Run all services for the project within the directory `~/Projects/volcano_detect
```bash ```bash
docker run -v ~/Projects/volcano_detection:/repo \ docker run -v ~/Projects/volcano_detection:/repo \
-u $(id -u ${USER}):$(id -g ${USER}) \ -u $(id -u ${USER}):$(id -g ${USER}) \
gitext.gfz-potsdam.de:5000/software/services/fair/software-quality-assurance/software-quality-assurance:latest \ gitext.gfz-potsdam.de:5000/id2/software/services/fair/software-quality-assurance/software-quality-assurance:latest \
sqa run sqa run
``` ```
Get the version of the Software Quality Assurance. Get the version of the Software Quality Assurance.
```bash ```bash
docker run gitext.gfz-potsdam.de:5000/software/services/fair/software-quality-assurance/software-quality-assurance:latest \ docker run gitext.gfz-potsdam.de:5000/id2/software/services/fair/software-quality-assurance/software-quality-assurance:latest \
sqa --version sqa --version
``` ```
......
...@@ -66,8 +66,11 @@ class ApplyLicense(Service): ...@@ -66,8 +66,11 @@ class ApplyLicense(Service):
# collect data # collect data
git_repo = Repo(self.sqa.config.repository_dir) git_repo = Repo(self.sqa.config.repository_dir)
git_repo.config_reader().read()
assert not git_repo.bare
# project name from origin branch, because there is no reliable way of determining it better so far # project name from origin branch, because there is no reliable way of determining it better so far
# pylint: disable=R1721 # pylint: disable=R1721
origin_urls = [ origin_urls = [
remote_location for remote_location in git_repo.remote("origin").urls remote_location for remote_location in git_repo.remote("origin").urls
] ]
......
...@@ -24,27 +24,23 @@ ...@@ -24,27 +24,23 @@
# You can find a copy of the license in the LICENSES folder. # You can find a copy of the license in the LICENSES folder.
# If not, see <http://www.gnu.org/licenses/>. # If not, see <http://www.gnu.org/licenses/>.
rm -rf meta rm -rf tests/test_project/meta
rm -rf docs/build rm -rf tests/test_project/test_report.md
rm -rf tests/tmp_test_report.md
docker build --pull \ docker build --pull \
-t localdev \ -t localdev \
-f build/docker/app/Dockerfile_dev \ -f build/docker/app/Dockerfile_dev \
. .
#docker run -v ~/Documents/GFZ/git/software-quality-assurance:/repo \
# -u "$(id -u "${USER}")":"$(id -g "${USER}")" \ cp "$PWD/tests/test_project/QUALITY.md" "$PWD/tests/test_project/test_report.md"
# localdev \
# sqa -t -ol 'cli' run docker run -v "$PWD/tests/test_project:/repo" \
docker run -v ~/Documents/GFZ/git/software-quality-assurance:/repo \
-u "$(id -u "${USER}")":"$(id -g "${USER}")" \ -u "$(id -u "${USER}")":"$(id -g "${USER}")" \
localdev \ localdev \
sqa -t run sqa -t run
tail -n +7 tests/test_report.md > tests/tmp_test_report.md IS_CHK_SUM=$(sha512sum "$PWD/tests/test_project/QUALITY.md" | awk '{ print $1 }')
PASS_CHK_SUM=$(sha512sum "$PWD/tests/test_project/test_report.md" | awk '{ print $1 }')
IS_CHK_SUM=$(sha512sum QUALITY.md | awk '{ print $1 }')
PASS_CHK_SUM=$(sha512sum tests/tmp_test_report.md | awk '{ print $1 }')
if [ "$IS_CHK_SUM" != "$PASS_CHK_SUM" ]; then if [ "$IS_CHK_SUM" != "$PASS_CHK_SUM" ]; then
echo "Generated report does not equal the test template" echo "Generated report does not equal the test template"
......
Subproject commit 4600305bcc4ce18c3de6abb47dd23c302c811fdc
<!--
SPDX-FileCopyrightText: 2020 Helmholtz Centre Potsdam - GFZ German Research Centre for Geosciences, Germany (https://www.gfz-potsdam.de/)
SPDX-License-Identifier: CC0-1.0
-->
# Software Quality Report
> **Note:** This report is automatically generated by [Software Quality Assurance](https://gitext.gfz-potsdam.de/software/services/fair/software-quality-assurance)
## Table of Content
* [Meta Data](#meta-data)
* [Completed Services](#completed-services)
* [Apply License](#apply-license)
* [Check Credentials](#check-credentials)
* [List Authors](#list-authors)
* [List Used Languages](#list-used-languages)
* [List Used Licenses](#list-used-licenses)
* [Reuse Lint](#reuse-lint)
## Meta Data
**Software Name:** software-quality-assurance
**Software Location:** [gitext](gitext.gfz-potsdam.de/software/services/fair/software-quality-assurance)
**Last Commit:** 0
**Report Time:** 0
**Report Version:** 0.6.0
## Completed Services
### Apply License
> **Description: Adds license headers to files, downloads license texts and adds a license entry to the README**
**Successfully applied the licenses**
### Check Credentials
> **Description: Prints the result of [gitleaks](https://github.com/zricethezav/gitleaks)**
**999 vulnerabilities found**
### List Authors
> **Description: Lists all people that committed to this config.**
* [GitLab CI:hifis/software-services/fair/ci-services](mailto:ci-services@gitext.gfz-potsdam.de)
* [GitLab CI:software/services/fair/ci-services](mailto:ci-services@gitext.gfz-potsdam.de)
* [GitLab CI:software/services/fair/software-quality-assurance](mailto:software-quality-assurance@gitext.gfz-potsdam.de)
* [Hannes Fuchs](mailto:hannes.fuchs@gfz-potsdam.de)
* [Maximilian Dolling](mailto:mdolling@gfz-potsdam.de)
* [mdolling](mailto:mdolling@gfz-potsdam.de)
### List Used Languages
> **Description: Detects used programming languages with [linguist](https://github.com/github/linguist)**
|Language|Percentage|
|---|---|
|Python|93.03|
|Shell|4.02|
|Dockerfile|1.51|
|HTML|1.36|
|Ruby|0.08|
### List Used Licenses
> **Description: Generates a list of dependencies and their license.**
#### found licenses
|license|libraries|
|---|---|
|Apache 2.0|Python / requests / 2.24.0|
|BSD|Python / binaryornot / 0.4.4 <br> Python / orderedset / 2.0.3 <br> Python / smmap / 3.0.4|
|BSD License|Python / gitdb / 4.0.5|
|BSD-2-Clause|Python / boolean.py / 3.8|
|BSD-3-Clause|Python / click / 7.1.2 <br> Python / gitpython / user config <br> Python / jinja2 / 2.11.2 <br> Python / markupsafe / 1.1.1|
|BSD-like|Python / idna / 2.10|
|GPL-2+|Python / python-debian / 0.1.38|
|GPL-3.0-or-later|Python / spdx-license-list / user config|
|GPL-3.0-or-later AND Apache-2.0 AND CC0-1.0 AND CC-BY-SA-4.0|Python / reuse / 0.11.1|
|LGPL|Python / chardet / 3.0.4|
|MIT|Python / attrs / 20.2.0 <br> Python / cli-exit-tools / user config <br> Python / httpretty / 1.0.2 <br> Python / igittigitt / user config <br> Python / pyyaml / 5.3.1 <br> Python / schema / 0.7.2 <br> Python / six / 1.15.0 <br> Python / stdlib-list / 0.7.0 <br> Python / tabulate / 0.8.7 <br> Python / toml / 0.10.1 <br> Python / urllib3 / 1.25.10|
|MIT License|Python / backrefs / 4.5 <br> Python / bracex / 2.0.1 <br> Python / wcmatch / 7.1|
|MPL-2.0|Python / certifi / 2020.6.20|
|PSF License|Python / contextlib2 / 0.6.0.post1|
|Python-2.0|Python / abc / base lib <br> Python / datetime / base lib <br> Python / json / base lib <br> Python / os / base lib <br> Python / pathlib / base lib <br> Python / re / base lib <br> Python / shutil / base lib <br> Python / subprocess / base lib <br> Python / sys / base lib <br> Python / time / base lib|
|apache-2.0|Python / license-expression / 1.2|
#### errors
##### Python
**./downloads/numpy-1.9.2-cp34-none-win32.whl**
* url/path not supported
**beautifulsoup4**
* version not specified
**coverage**
* version "!=3.5" is not specific
**django**
* version not specified
**docopt**
* version "<=0.6.0" is not specific
* version ">=0.5.0" is not specific
**green**
* version not specified
**http://wxpython.org/Phoenix/snapshot-builds/wxPython_Phoenix-3.0.3.dev1820+49a8884-cp34-none-win_amd64.whl**
* url/path not supported
**keyring**
* version ">=4.1.1" is not specific
**mopidy-dirble**
* version "~=1.1" is not specific
**nose**
* version not specified
**nose-cov**
* version not specified
**rejected**
* version not specified
**sphinx_rtd_theme**
* version not specified
### Reuse Lint
> **Description: Prints the result of the [reuse](https://reuse.software/spec/) linter.**
#### SUMMARY
* Bad licenses:
* Deprecated licenses:
* Licenses without file extension:
* Missing licenses:
* Unused licenses:
* Used licenses: CC0-1.0, GPL-3.0-or-later
* Read errors: 0
* Files with copyright information: 75 / 75
* Files with license information: 75 / 75
Congratulations! Your project is compliant with version 3.0 of the REUSE Specification :-)
#
####### example-requirements.txt #######
#
###### Requirements without Version Specifiers ######
nose
nose-cov
beautifulsoup4
#
###### Requirements with Version Specifiers ######
# See https://www.python.org/dev/peps/pep-0440/#version-specifiers
docopt >= 0.5.0, <= 0.6.0 # Version Matching. Must be version 0.6.1
keyring >= 4.1.1 # Minimum version 4.1.1
coverage != 3.5 # Version Exclusion. Anything except version 3.5
Mopidy-Dirble ~= 1.1 # Compatible release. Same as >= 1.1, == 1.*
#
###### Refer to other requirements files ######
-r other-requirements.txt
#
###### A particular file ######
./downloads/numpy-1.9.2-cp34-none-win32.whl
http://wxpython.org/Phoenix/snapshot-builds/wxPython_Phoenix-3.0.3.dev1820+49a8884-cp34-none-win_amd64.whl
#
###### Additional Requirements without Version Specifiers ######
# Same as 1st section, just here to show that you can put things in any order.
rejected
green
httpretty == 1.0.2
#
\ No newline at end of file
SPDX-FileCopyrightText: 2020 Helmholtz Centre Potsdam - GFZ German Research Centre for Geosciences, Germany (https://www.gfz-potsdam.de/)
SPDX-License-Identifier: CC0-1.0
\ No newline at end of file
# software-quality-assurance
# This Software provides services to check and improve the source code quality of software-projects
#
# SPDX-FileCopyrightText: 2020 Helmholtz Centre Potsdam - GFZ German Research Centre for Geosciences, Germany (https://www.gfz-potsdam.de/)
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# Parts of this program <(especially the code for whatever)>
# were developed within the context of the following publicly funded
# projects or measures:
# - Helmholtz Federated IT Services, Helmholtz Association of German Research Centres (https://software.hifis.net/)