Update RBTools packaging for newer Python support and better metadata.
Review Request #10032 — Created June 21, 2018 and submitted
Python eggs and wheels now contain more modern information on the
package, including contact information, homepage URL, a suitable long
description for PyPI, and Python 3 compatibility markers. Python
requirement information was added, helping to prevent the package from
being installed on older versions of Python (such as Python 3.0 through
3.4). Some other bits of thesetup.py
have been cleaned up as well,
removing unnecessary code, adding a missingsys.exit()
, and bringing
some definitions inline.The wheels are now set to be universal, meaning the same wheel can be
installed both on Python 2 and 3. This will require some additional
changes in our build tools to support, though.The macOS and Windows packaging scripts have also been updated. Windows
is now set to use a more modern version of Python 2.7, and uses curl
instead of PowerShell for downloading (working around SSL issues found
on Windows 7). It also no longer includes the final ".0" in the filename
for releases like "1.0.0," mirroring the filenames for the Python
packages.macOS is being prepared for future Python 3 support (which still doesn't
exist in macOS, so it hasn't been turned on), along with using the
universal wheel.The old release script, which we haven't used in years, has also been
removed.
Built Python and macOS packages for all supported Python versions.
The Windows packages have not been tested yet, as my build
infrastructure requires some unrelated work before I can test it
thoroughly.
- Description:
-
Python eggs and wheels now contain more modern information on the
package, including contact information, homepage URL, a suitable long description for PyPI, and Python 3 compatibility markers. Python requirement information was added, helping to prevent the package from being installed on older versions of Python (such as Python 3.0 through 3.4). Some other bits of the setup.py
have been cleaned up as well,removing unnecessary code, adding a missing sys.exit()
, and bringingsome definitions inline. The wheels are now set to be universal, meaning the same wheel can be
installed both on Python 2 and 3. This will require some additional changes in our build tools to support, though. The macOS and Windows packaging scripts have also been updated. Windows
~ is now set to use a more modern version of Python 2.7, and macOS is ~ being prepared for future Python 3 support (which still doesn't exist in ~ macOS, so it hasn't been turned on), along with using the universal ~ wheel. ~ is now set to use a more modern version of Python 2.7, and uses curl ~ instead of PowerShell for downloading (working around SSL issues found ~ on Windows 7). It also no longer includes the final ".0" in the filename ~ for releases like "1.0.0," mirroring the filenames for the Python + packages. + + macOS is being prepared for future Python 3 support (which still doesn't
+ exist in macOS, so it hasn't been turned on), along with using the + universal wheel. The old release script, which we haven't used in years, has also been
removed. - Commit:
-
e310c6b543e6ba8dd074362a2e0aa2b280d2c9912c64020567d6b898c90a4df203bcefb3da176424