Commit Graph

16 Commits

Author SHA1 Message Date
Jurko Gospodnetić 9bbc373837 avoid setup warnings when constructing a list of all project sources
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.
2014-05-29 14:00:30 +02:00
Jurko Gospodnetić eb6866b271 do not include local 'tools/__*' cache folders in the project's sdist
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.
2014-05-26 14:37:55 +02:00
Jurko Gospodnetić 9e94620274 remove code duplication between setup.py & tools/setup_base_environments.py
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.
2014-05-26 13:04:24 +02:00
Jurko Gospodnetić 1618ae351f reorganize tests - run on installed suds version + do not require py2to3
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.
2014-05-17 14:08:18 +02:00
Jurko Gospodnetić ea02fb96ad add tools/setup_base_environments.py development script
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.
2014-05-15 17:10:55 +02:00
Jurko Gospodnetić c6b64a1849 add new tools folder for holding internal project development utility scripts
Moved the top-level run_all_tests.cmd script under the newly added tools folder.
Updated relevant docs.
2014-05-15 15:36:26 +02:00
Jurko Gospodnetić 624b5b69e2 minor stylistic change 2014-04-26 00:04:04 +02:00
Jurko Gospodnetić ac23dfbbd7 use the latest compatible setuptools version for the current Python version
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.
2014-03-23 18:39:23 +01:00
Jurko Gospodnetić 438601e9eb start project's internal notes documentation
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.
2014-01-23 19:53:33 +01:00
Jurko Gospodnetić af39259484 rename HACKING.txt to HACKING.rst 2014-01-23 00:07:18 +01:00
Jurko Gospodnetić 4e374a8cd7 remove internal Hg files from packaged source distributions 2013-11-23 12:30:49 +01:00
Jurko Gospodnetić 1903485e3e remove unused project files
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.
2013-11-23 12:29:57 +01:00
Jurko Gospodnetić 3e3b408442 Setup script support for running the pytest based test suite.
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).
2013-06-18 19:32:08 +02:00
Jurko Gospodnetić daaf7dfdc6 Updated setup to use setuptools 0.7.2 instead of the distribute package.
Suitable setuptools version now downloaded & installed from PyPI
automatically if one is not already detected in the environment.
2013-06-18 12:39:53 +02:00
Jurko Gospodnetić f86b4aa8ee MANIFEST.in content cleanup.
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.
2013-06-18 00:33:24 +02:00
Jurko Gospodnetić 571424f78b Cleanup before the initial forked project release.
* 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.
2011-12-24 12:35:41 +01:00