Metadata-Version: 1.1
Name: minitage.recipe.printer
Version: 1.39
Summary: zc.buildout recipes to compile and install software or python packages and generate scripts or configuration files sponsored by Makina Corpus.
Home-page: http://cheeseshop.python.org/pypi/minitage.recipe.printer
Author: Mathieu Pasquet
Author-email: kiorky@cryptelium.net
License: BSD
Description: ******************************************************************************
        Recipe for compiling and installing software with or without minitage
        ******************************************************************************
        
        .. contents::
        
        =======================
        Introduction
        =======================
        
        The egg has those entry point:
        
            - *printer*: print or dump to a file all versions needed to achieve eggs
              requirements (versions.cfg made easy)
        
        You can browse the code on minitage's following resources:
        
            - http://git.minitage.org/git/minitage/eggs/minitage.recipe.printer/
            - http://www.minitage.org/trac/browser/minitage/eggs/minitage.recipe.printer
        
        ======================================
        Makina Corpus sponsored software
        ======================================
        |makinacom|_
        
        * `Planet Makina Corpus <http://www.makina-corpus.org>`_
        * `Contact us <mailto:python@makina-corpus.org>`_
        
          .. |makinacom| image:: http://depot.makina-corpus.org/public/logo.gif
          .. _makinacom:  http://www.makina-corpus.com
        
        
        
        
        
        ===============================================
        minitage.recipe.printer
        ===============================================
        
        
        Abstract
        -----------------
        
            - This recipe intends to install eggs and python software and on top of installed stuff, generating KGS (Known good Set) versions file.
            - This will help you to pin all the eggs used by a specific application by generating nicely configs with all eggs pinned insude?
            - This recipe inherit from minitage;recipe:egg.
        
        Specific options
        -----------------
        
        Please look for options at : http://pypi.python.org/pypi/minitage.recipe.common#options-shared-by-all-the-recipes
        And also  for options at :http://pypi.python.org/pypi/minitage.recipe.egg#specific-options
        
            * quiet
                if set: do not print anything to stdout
            * file
                file to write the version to
        
        Detailled documentation
        -------------------------
        
        Let's create a buildout configuration file::
        
            >>> rmdir(tempdir)
            >>> mkdir(tempdir)
            >>> cd(tempdir)
            >>> a = [mkdir(d) for d in ('eggs', 'develop-eggs', 'bin', 'src')]
            >>> install_develop_eggs(['minitage.recipe.printer'])
            >>> install_eggs_from_pathes(['zc.buildout'], sys.path)
            >>> touch('buildout.cfg')
            >>> sh('buildout -o bootstrap')
            buildout -o bootstrap...
            >>> index_url = start_server(os.path.sep.join(tempdir))
        
        Initializing test env.
        +++++++++++++++++++++++
        ::
        
            >>> if os.path.exists('foo'): rmdir(foo)
            >>> mkdir('foo')
            >>> mkdir('foo/src/toto')
            >>> touch('foo/setup.py', data="""
            ... from setuptools import setup, find_packages
            ... setup(name='foo', version='1.0',
            ...     packages=find_packages('src'),
            ...     package_dir = {'': 'src'},
            ...     include_package_data=True,
            ...     scripts=['src/toto/toto.py'],
            ...     entry_points={'console_scripts': ['s=toto.toto:f']},
            ...     )
            ... """)
            >>> touch('foo/src/toto/__init__.py')
            >>> touch('foo/src/toto/toto.py', data="""
            ... def f():
            ...     print "foo"
            ... if __name__ == '__main__' :
            ...     print 'called'
            ...
            ... """)
            >>> noecho = [os.remove(d) for d in os.listdir('.') if '.tar.gz' in d]
            >>> os.chdir('foo')
            >>> sh('python setup.py sdist')
            p...
            >>> noecho = [shutil.copy(os.path.join('dist', d), os.path.join('..', d)) for d in os.listdir('dist')]
            >>> os.chdir('..')
        
        Writing only to output
        +++++++++++++++++++++++++++++++
        Do not specify the file option.
        
            >>> data = """
            ... [buildout]
            ... download-cache=${buildout:directory}
            ... parts = part
            ... [part]
            ... recipe=minitage.recipe.printer
            ... find-links=%(index)s
            ... eggs=foo
            ... """%{'index': index_url}
            >>> touch('buildout.cfg', data=data)
            >>> sh('bin/buildout -vvvvv install')
            b...
            minitage.recipe: Maybe put this in a cfg like file ;)
            #--- 8-< 8-<  8-<  8-<  8-<  8-<  8-<  ---...
            [versions]
            foo=1.0...
            [buildout]
            versions=versions...
            #--- 8-< 8-<  8-<  8-<  8-<  8-<  8-<  ---...
        
        Writing to a file
        ++++++++++++++++++++++++
        Feed the part with the file option.
        
            >>> data = """
            ... [buildout]
            ... download-cache=${buildout:directory}
            ... parts = part
            ... [part]
            ... recipe=minitage.recipe.printer
            ... find-links=%(index)s
            ... eggs=foo
            ... file=toto.cfg
            ... """%{'index': index_url}
            >>> touch('buildout.cfg', data=data)
            >>> sh('bin/buildout -vvvvv install')
            b...
            #--- 8-< 8-<  8-<  8-<  8-<  8-<  8-<  ---
            minitage.recipe: Generated: toto.cfg...
        
            >>> cat('toto.cfg')
            <BLANKLINE>
            <BLANKLINE>
            [versions]
            foo=1.0
            <BLANKLINE>
            [buildout]
            versions=versions
            <BLANKLINE>
            <BLANKLINE>
        
        Be quiet please, baby is sleeping
        ++++++++++++++++++++++++++++++++++++++
        Set the quiet flag.
        
            >>> data = """
            ... [buildout]
            ... download-cache=${buildout:directory}
            ... parts = part
            ... [part]
            ... recipe=minitage.recipe.printer
            ... find-links=%(index)s
            ... eggs=foo
            ... quiet=1
            ... file=toto.cfg
            ... """%{'index': index_url}
            >>> touch('buildout.cfg', data=data)
            >>> sh('bin/buildout -vvvvv install')
            b...
            minitage.recipe: All egg dependencies seem to be installed!
            minitage.recipe: Generated: toto.cfg...
        
        
        =======================
        CHANGELOG
        =======================
        1.39 (2013-03-29)
        -----------------
        - release fix
        
        1.36
        ---------
        
            - decorator helper
        
        
        1.35
        --------
        
            - splitted out from minitage.recipe
        
        
        
Keywords: development buildout recipe
Platform: UNKNOWN
Classifier: Framework :: Buildout
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
