Description
Benefits of using setup.py
- Creates a package which other users can install using PIP
- Qt creator can also install the package using PIP
- Or Qt creator can ship with this PIP and install it in the VENV created during installation
- Easy to maintain. To update the list of new features, we do not really need the code change, just update the "manifest.in" file
- This is how all standard python modules are shipped
- Easy scaleable to multiple projects
Plus a lot of stuff which can be managed better as compared to one single script.
Ultimately, when setup.py is implemented we can do something like:
- python setup.py bdist <-- to build
- Deliver the content of dist/qtci-version.tar.gz to Qt creator team for integration
- Qt creator can install this plugin using pip install qtci-version.tar.gz
------------------------------------
Update / Jan 21, 2022
In order to achieve this, there would be small changes that are needed in our repository structure. For example, have the src directory structure renamed to something like this:
src/ bin/ CHANGES.txt docs/ LICENSE.txt MANIFEST.in README.txt setup.py qtci/ __init__.py run.py sub_modules/ __init__.py ngrok.py gitlab.py gitpython.py server.py
IN addition to this, we have our static assets - like html pages, javascript libraries etc - that should be packaged as well.