I have made some changes for our internal use (logging, not popping static resources such as images or js, etc.) that I want to build into a standalone exe for others to use. They have mitmproxy installed, but not Python or the build tools.
I can run my changes in a virtualenv locally and verify that they work. I’m trying to build exes using the following command from .travis.yml:
tox -e rtool -- bdist
It builds executables in the release/build/binaries/windows folder, but their version number is not updated. I’m using 2.0.2 as my base, and updated version.py to 2.0.3 just so I could see if it actually updated. The zip file under release/dist has 2.0.3 in the name, but the exes report 2.0.2 (release version) as their version, and my changes are not present.
What step am I missing? I’ve also tried running both inside and outside a venv, random other tox
commands, etc.
I think this is resolved, more or less. The build process is rather flaky on Windows. (As are most things…)
Steps to build:
-
pip uninstall mitmproxy
(this was what was screwing me up - it kept building the exe based on what was installed by pip, instead of my source)
- In tox.ini, comment out the line that says
{env:SKIP_MITMPROXY:mitmproxy --version}
- even when I set the environment variable to what I thought would work, it didn’t like it and would halt here.
- From .appveyor.yml, we’re going to run the following commands in order:
tox -- --verbose --cov-report=term
-
set VERSION=
version string (I could probably have set this with some kind of script, but didn’t bother messing with it.)
tox -e wheel
- At this point, for whatever reason even though we just saw tox call pip install on our wheel, it’s not actually installed. So now,
pip install release\dist\
wheel-from-tox.whl
-
NOW tox is finally ready to build the bdist.
tox -e rtool -- bdist