Python 2 versions prior to some early 2.7.x release and Python 3 versions prior
to some 3.2.x release had buggy disutils implementations that can result in our
project's source distribution containing some extra unwanted files picked up
from some of our local 'tools/__*' cache folders. Such extra files are then
explicitly excluded by an explicit 'prune' rule in MANIFEST.in.
However, that can cause spurious warnings in case no such local cache folders
exist or no files have been collected from them. This commit works around the
issue in 2 stages:
1. setup.py always creates one such dummy folder containing a single dummy file
that is guaranteed to always be included on buggy implementations. This
avoids the warning on buggy distutils implementations when no extra files
have been collected.
2. MANIFEST.in explicitly includes the dummy file created by setup.py. This
avoids the warning on working distutils implementations which never collect
any extra files by themselves.
The MANIFEST.in file gets processed so that rules in later lines override those
read from earlier ones, meaning we need to add files to the project's source
distribution before we specify that nothing should be added from internal
'tools/__*' cache folders.
Duplicate code extracted to new modules under the suds_devel package:
- specifying the project's requirements - requirements.py
- specifying the used setuptool install script - ez_setup_versioned.py
Updated todo list.
The test suite is no longer installed together with the project and can now be
run from the project's source distribution. This resolves the issue of the suds
test suite confusing users by getting installed as a top level tests package in
their Python environment.
Project to be tested now need to be explicitly installed prior to running its
tests using pytest, except in case of Python 2 tests being run from the top
level project folder. This requires the user to install the project (suggested
way is to install it in editable mode using 'pip install -e') but also allows
him to run the tests on other non-sandbox project versions, e.g. an externally
installed version.
Project testing now requires the six Python 2/3 compatibility support package
(installed automatically, together with other test requirements).
Test support code now moved to a separate testutils package located under the
tests folder.
Updated project README.rst & HACKING.rst docs.
Minor stylistic changes.
Installs packages into multiple Python environments so they can be used for
testing this project. This automates all the previously manually done work on
setting up those environments.
The script contains a multitude of open TODO comments and should still be
considered 'work in progress', but successfully gets the work done at least on
one Windows 7 x64 SP1 machine with 17 different parallel Python installations.
Updated relevant HACKING.rst docs.
Relevant configuration added to the main project Python configuration file
'setup.cfg'.
All Python modules indended for use in different project development utility
scripts have been placed under the suds_devel package folder located under the
tools project folder.
The new scripts:
- are included in the project's source distribution,
- are not installed with the project
- do not need py2to3 processing
- do not have any tests of their own yet
tools/__* folders get created and used as local caches by the new
tools/setup_base_environments.py development script and so must not included in
the project's source distribution.
Now using setuptools 1.4.2 with Python 2.4 & 2.5, and using setuptools 3.3 with
later Python versions. This should help avoid installation issues in different
exotic use cases that were once not being handled by setuptools but have since
been corrected.
Added a 'notes/' project folder. Described the new folder both in a readme.txt
file contained in that folder and in the project's central HACKING.rst
documentation. The folder and its *.rst/*.txt content is included in the
project's source distribution, but is not included in project builds &
installations.
Updated project release notes.
Updated todo list.
These files have been inherited from the original suds project and seem related
to the development environment used by the original developer. Since they are
no longer actively used, tested or maintained they have most likely grown stale.
May run only the basic test suite, as distutils does not support passing on
arbitrary command-line arguments to its commands. For more detailed control,
user still needs to run the test suite directly using pytest.
Allows running the test suit using Python 3 without first having to install the
whole package.
Regular package distribution now includes the test code. This is required in
order to have the distutils 'test' command be able to do a temporary build when
asked to run the project's test suite using Python 3 (needed in order to run
py2to3 on the project's code base).
Contained the old README.txt project file name when that file has already been
converted to RST format & renamed to README.rst. Also, that file never needed to
be listed explicitly in MANIFEST.in in the first place as 'setup.py sdist'
automatically includes project README files in constructed source distribution
packages.
* Renamed internal HACKING, LICENSE, README & TODO documentation files to use
the .txt extension and thus be easier to use on Windows.
* Renamed the forked project name to 'suds_jurko' to differentiate it from the
original 'suds' project on PyPI.
* Added a MANIFEST.in project configuration file listing the forked project's
source distribution content (needed since we are using the Mercurial version
control system and our installation packager does not know how to
automatically collect 'all files under Mercurial version control' the way it
does for CVS or SVN).
* Improved project documentation.
* More detailed 'setup.py' usage documentation notes (HACKING.txt).
* Documented the forked project's release procedure (HACKING.txt).
* Documented the forked project's release download locations (README.txt).
* Documented the forked project's installation procedure (README.txt).
* Preparing source distributions ('setup.py sdist') now configured to be use the
.tar.bz2 format by default as it takes the least space.
* Updated the forked project's meta data used when preparing distribution
packages (description, long_description, keywords, url, download_url, ...).
* Project's built distribution no longer contains test.* subpackages.
* Updated todo list.