Skip to content

Latest commit

 

History

History
66 lines (47 loc) · 2.7 KB

CONTRIBUTING.md

File metadata and controls

66 lines (47 loc) · 2.7 KB

Contributing

This project is hosted on GitHub.

Visit GitHub{: .md-button .md-button--primary }

Scripts

We provide a Makefile which helps the developers to:

  • run tests,
  • build the documentation (Processing algorithms)

Translation

The UI is available on Transifex, no development knowledge is required. Transifex 🗺

Code

SQL and Python are covered by unittests with Docker.

Tests 🎳

pip install -r requirements/dev.txt
flake8
make tests
  • QuickOSM uses a Git submodule.
    • For a new clone, including the submodule, do git clone --recursive https://github.com/3liz/QuickOSM.git.
    • For an existing clone, do git submodule init and git submodule update.
    • These command will populate the qgis_plugin_tools.
  • For panels, you can find a quick diagram in the doc folder.
  • For tests, it's using the unittest framework.
    • They are launched on GitHub using Travis, you can check the Travis status on each commits and pull requests.
    • You can launch them locally:
      • make docker_test using Docker with the current LTR following the QGIS release schedule.
        • qgis_plugin_tools/docker_test.sh QuickOSM release-3_4 for QGIS 3.4
        • qgis_plugin_tools/docker_test.sh QuickOSM latest for QGIS Master or any other tags available on Docker Hub.
        • If you are using docker, do not forget to update your image from time to time docker pull qgis/qgis:latest.
      • Setting up your IDE to launch them by adding paths to your QGIS installation. I personally use PyCharm on Ubuntu.
      • Launching tests from QGIS Desktop app, in the Python console using :
from qgis.utils import plugins
plugins['QuickOSM'].run_tests()

Documentation

Documentation 📚

The documentation is using MkDocs with Material :

pip install -r requirements/doc.txt
mkdocs serve
  • Processing algorithms documentation can be generated with:
make processing-doc