flake8 already pulls it in, and listing it separately can only
produce conflicts. Also, pep8 was renamed to pycodestyle a
couple of years ago.
Change-Id: I5b9f99af60df753a2860eb083b9e763de8eeccf4
Following OpenStack Style Guidelines[1]: http://docs.openstack.org/developer/hacking/#unit-tests-and-assertraises
[H234] assertEquals() logs a DeprecationWarning in Python 3.x,
use assertEqual() instead. The same goes for assertNotEquals().
Change-Id: I0469bc4d5672d2832b61ec8e3cd283ad06bf380f
These tests aren't actually run by nose because the private decorator
doesn't properly wrap its test. This is also a useful pattern, and so we
move it into its own file (note that even better would be to use
testtools and fixtures, but that's a bigger refactor).
In addition, we don't need to use the git CLI, when we have gitpython,
which produces cleaner code and doesn't spray stuff all over our stderr.
Finally, the outdir creating decorator wasn't as reusable as I thought
it would be, so removing it for inline code for now.
Change-Id: Ibe1b993235b68a1a59bc398ded9c822a02475570
This is a minor issue, but when somebody just runs 'tox', this will
ensure that tox tries to run with all known working interpreters.
Change-Id: I745912bc1f449e4d370d1e9248efe9eb1a84d90a
postinstall_dependencies is meant for very fine-grained modification of
the resulting virtual environment. If a user wants to use constraints
after the fact they may then specify those constraints in the
postinstall_dependencies list item.
Change-Id: I21390450fc086d80b16c7ab4d1dc43c81ff590af
This is a global setting that will apply across every project, a
constraint on the versions of things that can be installed via pip.
This is a first pass, adding basic functionality, by allowing a list
of constraint URLs to be provided. Future iterations of this feature may be
tied to a "superrepo" that contains all the projects _and_ the
constraints for those projects all in one place.
Change-Id: Ib5c2dd441b9294b775e755e595486a671d8de57f
docker requires a newer urllib3, but doesn't express that dependency
correctly. So pull in the latest as of today, or newer.
Change-Id: Ie5c1d0142c8d15d66e7fa9e58d10f2821f194d68
Use pep3217 syntax for octal
This allows us to pass the py34 gate checks. Compatible at least with
python 2.7.6 (on Ubuntu 14.04).
Handle urlparse -> urllib.parse
Update to latest GitPython
Fix bad print statements
Fix test unittest comparisons
Change-Id: I79dac5e2c94f8ce5d522801837dbb6ea5e044f13
New option --projects (-p) allows you to only build certain projects
from the manifest you're using.
Example:
giftwrap build -m examples/manifest.yml -t package -p glance cinder
postinstall_dependencies (and probably others) need to have the version
specified with == otherwise the command fails due to < and > being known
as redirects. This adds quotes round the package name, so that bash
doesn't do that.
There are times where you may want to extend or modify the way that
giftwrap builds packages. Short of submitting a pull request or
(worse) forking the repository, there was no easy way to do so.
This change introduces builder drivers with stevedore. By merely adding
entry points in the 'giftwrap.builder.drivers', additional
implementations are now possible.
Defaulting a getdepth to 1 makes it difficult to switch branches if
the branch is not available in the shallow clone, so make this
optional. Also, instantiate OpenstackGitRepo properly: depth is not
the fourth parameter.
Installing pip dependencies interatively (vs. concurrently) provides
for interesting manifest syntax. For example, one could specify
an index-url along side a dependency without affecting the other
dependencies in the list.
There are cases where you would like for a Python module to be
installed *after* the project itself has been installed. This is now
possible with project.postinstall_dependencies.