Metadata-Version: 1.1
Name: acsone.recipe.odoo.pydev
Version: 1.0
Summary: A buildout recipe to install and configure a PyDev project for Openerp
Home-page: http://pypi.python.org/pypi/acsone.recipe.odoo.pydev
Author: ACSONE SA/NV
Author-email: laurent.mignon__at__acsone.eu
License: GPLv3+
Description: ========================
        acsone.recipe.odoo.pydev
        ========================
        
        An extension to `anybox.recipe.openerp
        <http://pythonhosted.org/anybox.recipe.openerp>`_
        that generates `Odoo <https://www.odoo.com>`_ 
        projects for the `Eclipse PyDev <http://pydev.org/>`_ IDE.
        
        .. contents::
        
        - Code repository: http://github.com/acsone/acsone.recipe.odoo.pydev
        - Report bugs at http://github.com/acsone/acsone.recipe.odoo.pydev/issues
        
        
        What it is
        ==========
        
        This buildout  recipe is
        an extension to the fully featured recipe developed by Anybox:
        `anybox.recipe.openerp
        <http://pythonhosted.org/anybox.recipe.openerp>`_.
        
        It generates a ready-to-use Eclipse PyDev Project, 
        pointing to all dependencies required to develop, run
        and debug your `Odoo <https://www.odoo.com>`_ server 
        as well as your own addons.
        
        The generated project is fully configured, including a preset
        PYTHONPATH so as to support debugging, pep8 import checks, auto completion
        
        How to use it
        =============
        
        Since the recipe is an extension to `anybox.recipe.openerp
        <http://pythonhosted.org/anybox.recipe.openerp>`_, the first step, if not done,
        is to add your `anybox.recipe.openerp
        <http://pythonhosted.org/anybox.recipe.openerp>`_, configuration to ``buildout.cfg`` 
        and include it in ``${buildout:parts}``. 
        
        An example::
        
            [buildout]
            ...
            parts = ... openerp
        
            [openerp]
            recipe = anybox.recipe.openerp[bzr]:server
            version = bzr lp:opcb-server/7.0  openerp last:1 bzr-init=stacked-branch
            addons = bzr lp:ocb-addons/7.0  addons last:1 bzr-init=stacked-branch
                     bzr lp:ocb-web/7.0 addons-web last:1 subdir=addons bzr-init=stacked-branch
                     bzr lp:server-env-tools addons-server-env-tools last:1 bzr-init=stacked-branch
            ....
        
        
        Another example using git and Odoo V8::
        
            [buildout]
            ...
            parts = ... openerp
        
            [openerp]
            recipe = anybox.recipe.openerp[bzr]:server
            version = git https://github.com/odoo/odoo.git odoo master
            addons = local parts/odoo/addons
            ....
        
        
        A good practice is to use the inheritance mechanism of buildout to define your
        development environment in an other file such as ``devel.cfg``::
        
            [buildout]
            extends = buildout.cfg
            parts = ... pydevproject
        
            [pydevproject]
            <= openerp
            recipe = acsone.recipe.odoo.pydev
            name = my_project_name
            python-version = python 2.7
            python-interpreter = Default
            eggs += any_additional_egg_you_want
        
        Then prepare your virtualenv and install zc.buildout
        
            $ virtualenv
            
            $ bin/pip install zc.buildout
            
        To run the recipe and generate your project, run
        
            $ bin/buildout install pydevproject
        
        The launch eclipse, import the project and you are ready to go.
        To debug, use bin/start_openerp_pydev in the eclipse debug configuration.
        
        Supported options
        =================
        These match the options of a PyDev Project.
        
        name
          The project name. This is just for Eclipse and can be anything you want.
        python-version
          The combination of interpreter and grammar version. E.g. *python 2.7* 
          (default is *python 2.7*)
        python-interpreter
          The interpreter name, as configured in the the Eclipse Preferences for PyDev. 
          Usually *Default* is fine.  (default is *Default*)
        
        Behind the curtain
        ==================
        
        In addition to the startup scripts and configuration file generated by
        `anybox.recipe.openerp
        <http://pythonhosted.org/anybox.recipe.openerp>`_., this recipe
        generates the two files that define a PyDev Project:
        
        - .project 
        - .pydevproject.
        
        While eggs and their dependencies are declared as external libraries, 
        the server and its addons are declared as source folders. In the same time,
        the recipe uses in background the `collective.recipe.omelette 
        <https://pypi.python.org/pypi/collective.recipe.omelette>`_ recipe to build
        a unified directory structure of declared addons, symlinking to the actual 
        contents, in order to allow proper pep8 check and auto completion. 
        This directory structure is also declared as external dependency to avoid 
        confusion between source folder and the unified directory structure.
        
        It's a know issue that when same addons are both in the PYTHONPATH and 
        addons_path (it's the case with the generated project definition), 
        it's not possible to start the server due to import errors. To avoid
        this problem, the recipe adds to the generated scripts , specific code 
        to remove parts of sys.path that are also in addons_path.
        
        Contributors
        ************
        
        Laurent Mignon (ACSONE SA/NV), Author
        
        
        Change history
        **************
        
        1.0 (2014-05-30)
        ----------------
        
        - First release
          [ACSONE SA/NV]
        
        Download
        ********
        
Platform: UNKNOWN
Classifier: Framework :: Buildout :: Recipe
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
