Check dependencies helper script rewrite

Open Ken Roberts requested to merge alisonken1-python3/openlp:check_deps into master

Validate project dependencies.

This update replaces the current scripts/check_dependencies.py file and restructures the environment to validate project dependencies against installed modules.

  • Replaces current hard-coded dependencies with a "project-deps.json" file
  • Option -f will scan all project python files to check for changes in dependencies
  • Option -b/--backup allows for loading a different JSON file
    • Backup file in case current "project-deps.json" file is corrupt or missing
    • Starting a new project with known dependencies
  • If "project-deps.json" file does not exist and -b/--backup option not specified, creates a new "project-deps.json" file and prompts user to edit for new project.
  • Optionally allows specifying repository or PyPI package to install
  • Optionally include project test directory in file scan

Future options planned:

  • Include output to show new module dependencies
  • Include output to show old dependencies no longer used
  • Include output to show repository/PyPI modules to install

Files updated:

  • Delete ./scripts/check_dependencies.py (after merge)
  • New file ./scripts/check_deps.py
  • New file ./project-deps-format.txt (describes project-deps.json file format)
  • New file ./openlp-deps.json (Converted existing OpenLP dependency checks)
Edited by Ken Roberts

Merge request reports