https://github.com/zillow/buildout-platform-versions
A dependency version management forklift for buildout.
https://github.com/zillow/buildout-platform-versions
Last synced: about 1 year ago
JSON representation
A dependency version management forklift for buildout.
- Host: GitHub
- URL: https://github.com/zillow/buildout-platform-versions
- Owner: zillow
- License: mit
- Created: 2013-11-23T09:32:49.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2014-07-31T02:11:00.000Z (almost 12 years ago)
- Last Synced: 2025-03-30T03:11:47.307Z (over 1 year ago)
- Language: Python
- Size: 235 KB
- Stars: 3
- Watchers: 66
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
Buildout Platform Versions (BPV)
================================
BPV lets you switch between sets of pinned dependencies more easily.
It's useful for testing a build with several dependency chains. For
example, you might be using one freeze of Turbogears in production, but
you might also want to test a new freeze in development.
Simple Example
--------------
Suppose that we're using flup 1.0.2 in production. We want the
production build to continue to use the old flup. But, we want to flip
between the production flup and a new flup on the dev box.
Developers can build and test with [production], [dev], or
[newest\_flup] by setting an environment variable
::
export PLATFORM\_ENVIRONMENT\_VARIABLE=dev
Or writing a custom develop.cfg. Here's how BPV gets the job done:
buildout.cfg
~~~~~~~~~~~~
::
[buildout]
extensions = buildout_platform_versions
# optionally
# platform-versions-config = WHATEVER_SECTION
[platform-versions-config]
default-platform = production
sources =
some_config_enhance_file.cfg
another_config_enhance_file.cfg
platform-env = PLATFORM_ENVIRONMENT_VARIABLE
some\_config\_enhance\_file.cfg
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
[base]
simplejson = 2.2.1
flup = 1.0.2
WebOb = 1.1.1
Jinja2 = 2.6
pymongo = 2.1
another\_config\_enhance\_file.cfg
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
[production]
# the production environment uses the base config
<<=