跳转到主要内容

帮助使用setuptools打包Odoo插件库

项目描述

License: LGPL-3 https://badge.fury.io/py/setuptools-odoo.svg pre-commit.ci status https://coveralls.io/repos/acsone/setuptools-odoo/badge.svg?branch=master&service=github

⚠️ 该项目正在逐步弃用。请考虑使用 whool 来打包单个Odoo插件,并使用 hatch-odoo 来构建包含Odoo插件的完整项目。⚠️

setuptools-odoo 是一个帮助使用setuptools打包Odoo插件的库。它主要从Odoo清单文件中填充常用的 setup.py 关键字。

它允许使用标准的Python基础设施(即 setuptoolspipwheelpypi)来打包和分发Odoo插件。

需求

以下为必备条件

  • 支持Odoo版本8, 9, 10, 11, 12, 13, 14, 15和16(有关实现差异的说明,请参阅文档中的注释)。

  • 要安装此工具打包的插件,任何支持wheel包格式的pip版本都应适用(即pip >= 1.4)。

  • 对于任何高级用途,如从源安装、从git安装、打包wheel等,您需要pip的较新版本(>= 9.0.1)。

  • 最后,如果您使用的是Odoo 8、9或10,您需要安装odoo-autodiscoverpip install odoo-autodiscover)以提供自动扩展插件路径(以及解决setuptools > 31和Odoo 10的bug)。对于Odoo >= 11,odoo-autodiscover不是必需的。

打包单个插件

要与此库打包,插件源代码必须具有以下结构(假设插件名为<addon_name>

# Odoo >= 11
setup.py
odoo/
odoo/addons/
odoo/addons/<addon_name>/
odoo/addons/<addon_name>/__manifest__.py
odoo/addons/<addon_name>/...

# Odoo 10
setup.py
odoo/
odoo/__init__.py
odoo/addons/
odoo/addons/__init__.py
odoo/addons/<addon_name>/
odoo/addons/<addon_name>/__manifest__.py
odoo/addons/<addon_name>/...

# Odoo 8, 9
setup.py
odoo_addons/
odoo_addons/__init__.py
odoo_addons/<addon_name>/
odoo_addons/<addon_name>/__openerp__.py
odoo_addons/<addon_name>/...

其中odoo/__init__.pyodoo/addons/__init__.pyodoo_addons/__init__.py是标准的Python命名空间包声明__init__.py(注意Odoo >= 11时不存在__init__.py

__import__('pkg_resources').declare_namespace(__name__)

而setup.py的内容如下

import setuptools

setuptools.setup(
    setup_requires=['setuptools-odoo'],
    odoo_addon=True,
)

通常的setup()关键字参数会自动从Odoo清单文件(__manifest__.py__openerp__.py)计算得出,并包含以下内容

  • name:包名,odoo<series>-addon-<addon_name>

  • version:清单中的version

  • description:如果存在,则为清单中的summary键,否则为清单中的name

  • long_description:如果存在,则为README.rst文件的内容,否则为清单中的description

  • url:清单中的website

  • license:清单中的license

  • packages:自动检测的包

  • namespace_packages['odoo', 'odoo.addons'](Odoo 10)或['odoo_addons'](Odoo 8、9),Odoo 11不存在

  • zip_safeFalse

  • include_package_dataTrue

  • install_requires:对Odoo、其他插件(除Odoo社区版和企业版插件外,它们由Odoo依赖引入)和Python库的依赖关系。

  • python_requires

然后,可以使用通常的pip命令部署和打包插件,例如

pip install odoo<8|9|10|11|12|13|14>-addon-<addon name>
pip install "git+https://github.com/OCA/<repo>#subdirectory=setup/<addon name>"
pip install "git+https://github.com/OCA/<repo>@<branch or reference>#subdirectory=setup/<addon name>"
pip install -e .
pip wheel .
python -m build

当然,强烈建议在虚拟环境中运行。

打包多个插件

打算被其他插件重用或依赖的插件必须单独打包。在为特定客户准备项目时,通常准备一系列插件集合,这些插件不打算被项目之外的插件依赖。setuptools-odoo 提供了帮助您完成此操作的工具。

要与此库一起打包,您的项目必须根据以下结构进行组织

# Odoo >= 11
setup.py
odoo/
odoo/addons/
odoo/addons/<addon1_name>/
odoo/addons/<addon1_name>/__manifest__.py
odoo/addons/<addon1_name>/...
odoo/addons/<addon2_name>/
odoo/addons/<addon2_name>/__manifest__.py
odoo/addons/<addon2_name>/...

# Odoo 10
setup.py
odoo/
odoo/__init__.py
odoo/addons/
odoo/addons/__init__.py
odoo/addons/<addon1_name>/
odoo/addons/<addon1_name>/__manifest__.py
odoo/addons/<addon1_name>/...
odoo/addons/<addon2_name>/
odoo/addons/<addon2_name>/__manifest__.py
odoo/addons/<addon2_name>/...

# Odoo 8, 9
setup.py
odoo_addons/
odoo_addons/__init__.py
odoo_addons/<addon1_name>/
odoo_addons/<addon1_name>/__openerp__.py
odoo_addons/<addon1_name>/...
odoo_addons/<addon2_name>/
odoo_addons/<addon2_name>/__openerp__.py
odoo_addons/<addon2_name>/...

其中 setup.py 包含以下内容

import setuptools

setuptools.setup(
    name='<your project package name>',
    version='<your version>',
    # ...any other setup() keyword
    setup_requires=['setuptools-odoo'],
    odoo_addons=True,
)

以下 setup() 关键字参数自动从 Odoo 清单文件(__manifest__.py__openerp__.py)计算得出,并包含以下内容

  • packages:自动检测的包

  • namespace_packages['odoo', 'odoo.addons'](Odoo 10)或 ['odoo_addons'](Odoo 8、9),Python 3 中不存在(Odoo 11 及以后版本)

  • zip_safeFalse

  • include_package_dataTrue

  • install_requires:对 Odoo、不在插件目录中找到的任何依赖插件以及外部 Python 依赖的依赖。

  • python_requires

安装Odoo CE和EE插件

setuptools-odoo 内置了对 Odoo 社区和企业版本中包含的插件的了解。对这些插件的依赖被视为由 odoo 分发满足。

这意味着 Odoo 必须在您的 Python 环境中 安装

从 Odoo 8 到 16,安装 Odoo 的一个好方法是在虚拟环境中进行。有多种可能性,但以下 bash 命令应该能让您入门

$ python3 -m venv ./venv
$ source ./venv/bin/activate
(venv) $ python3 -m pip install --upgrade pip wheel
(venv) $ python3 -m pip install -r ./odoo/requirements.txt
(venv) $ python3 -m pip install -e ./odoo

之后,./venv/bin/pip list 将显示 odoo 作为已安装项目的一部分,运行 ./venv/bin/odoo 将使用适当的插件路径启动 Odoo。

如果您需要添加 Odoo 企业插件,可以使用 --addons-path Odoo 选项使它们对 Odoo 可见,或者将它们打包在多插件项目中,然后按照上述方法使用 pip 安装。

控制setuptools-odoo行为

可以使用字典代替 Trueodoo_addonodoo_addons 关键字,以控制其行为。

支持以下键

  • depends_override,用于精确控制 Odoo 插件依赖。其值必须是将插件名称映射到包要求字符串的字典。

  • external_dependencies_override,用于精确控制 Python 外部依赖。其值必须是包含一个 python 键的字典,该键具有将 Python 外部依赖映射到 Python 包要求指定符或指定符列表的字典值。

  • odoo_version_override,用于指定要使用哪个 Odoo 系列(8.0、9.0、10.0、11.0、……),如果插件版本不以 Odoo 系列数字开头。仅在无法在插件的清单中更正插件版本的情况下,作为最后的手段使用。

  • post_version_strategy_override,用于指定如何使用 git 提交来修改清单中找到的版本(见下面的 版本控制 部分)。

例如,如果您的模块需要至少版本 10.0.3.2.0 的连接器插件,以及至少版本 0.5.5 的 py-Asterisk,则您的 setup.py 将如下所示

import setuptools

setuptools.setup(
    setup_requires=['setuptools-odoo'],
    odoo_addon={
        'depends_override': {
            'connector': 'odoo10-addon-connector>=10.0.3.2.0',
        },
        'external_dependencies_override': {
            'python': {
                'Asterisk': 'py-Asterisk>=0.5.5',
                'somepkg': [
                  'somepkg<3 ; python_version < "3"',
                  'somepkg>=3 ; python_version > "3"',
                ]
            },
        },
    },
)

setuptools-odoo-make-default辅助脚本

由于可重用插件通常不是使用命名空间结构化,而是收集在目录中,每个子目录包含一个插件,因此此包提供 setuptools-odoo-make-default 脚本,该脚本根据以下结构为每个插件创建默认的 setup.py

# Odoo >= 11
setup/
setup/addon1/
setup/addon1/setup.py
setup/addon1/odoo/
setup/addon1/odoo/addons/
setup/addon1/odoo/addons/<addon1_name> -> ../../../../<addon1_name>
setup/addon2/setup.py
setup/addon1/odoo/
setup/addon2/odoo/addons/
setup/addon2/odoo/addons/<addon2_name> -> ../../../../<addon2_name>
<addon1_name>/
<addon1_name>/__manifest__.py
<addon1_name>/...
<addon2_name>/
<addon2_name>/__manifest__.py
<addon2_name>/...

# Odoo 10
setup/
setup/addon1/
setup/addon1/setup.py
setup/addon1/odoo/
setup/addon1/odoo/__init__.py
setup/addon1/odoo/addons/
setup/addon1/odoo/addons/__init__.py
setup/addon1/odoo/addons/<addon1_name> -> ../../../../<addon1_name>
setup/addon2/setup.py
setup/addon1/odoo/
setup/addon1/odoo/__init__.py
setup/addon2/odoo/addons/
setup/addon2/odoo/addons/__init__.py
setup/addon2/odoo/addons/<addon2_name> -> ../../../../<addon2_name>
<addon1_name>/
<addon1_name>/__manifest__.py
<addon1_name>/...
<addon2_name>/
<addon2_name>/__manifest__.py
<addon2_name>/...

# Odoo 8, 9
setup/
setup/addon1/
setup/addon1/setup.py
setup/addon1/odoo_addons/
setup/addon1/odoo_addons/__init__.py
setup/addon1/odoo_addons/<addon1_name> -> ../../../<addon1_name>
setup/addon2/setup.py
setup/addon2/odoo_addons/
setup/addon2/odoo_addons/__init__.py
setup/addon2/odoo_addons/<addon2_name> -> ../../../<addon2_name>
<addon1_name>/
<addon1_name>/__openerp__.py
<addon1_name>/...
<addon2_name>/
<addon2_name>/__openerp__.py
<addon2_name>/...

可用选项

usage: setuptools-odoo-make-default [-h] --addons-dir ADDONS_DIR [--force]
                                    [--odoo-version-override ODOO_VERSION_OVERRIDE]
                                    [--metapackage METAPACKAGE] [--clean]
                                    [--commit]

Generate default setup.py for all addons in an Odoo addons directory

optional arguments:
  -h, --help            show this help message and exit
  --addons-dir ADDONS_DIR, -d ADDONS_DIR
  --force, -f
  --odoo-version-override ODOO_VERSION_OVERRIDE
                        Force Odoo version for situations where some addons
                        versions do not start with the odoo version.
  --metapackage METAPACKAGE, -m METAPACKAGE
                        Create a metapackage using the given name. This
                        package depends on all installable addons in
                        ADDONS_DIR.
  --clean, -c           Clean the setup directory: remove setups of
                        uninstallable addons, remove files corresponding to
                        other Odoo versions, remove metapackage setup if there
                        are no installable addons.
  --commit              Git commit changes, if any.

setuptools-odoo-make-default 还可以作为 pre-commit 插件使用。要使用它,您可以在您的 .pre-commit-config.yaml 中添加以下条目

repos:
  - repo: https://github.com/acsone/setuptools-odoo
    rev: 2.5.2
    hooks:
      - id: setuptools-odoo-make-default

setuptools-odoo-get-requirements辅助脚本

由于在 Odoo 世界中,通常在仓库根目录下有一个名为 requirements.txt 的文件,因此此脚本有助于从 add-ons 清单中声明的外部依赖项生成它。

usage: setuptools-odoo-get-requirements [-h] [--addons-dir ADDONS_DIR] [--output OUTPUT]

Print external python dependencies for all addons in an Odoo addons directory.
If dependencies overrides are declared in setup/{addon}/setup.py, they are
honored in the output.

optional arguments:
  -h, --help            show this help message and exit
  --addons-dir ADDONS_DIR, -d ADDONS_DIR
                        addons directory (default: .)
  --output OUTPUT, -o OUTPUT
                        output file (default: stdout)
  --header HEADER       output file header
  --include-addons      Include addons and odoo requirements in addition to
                        python external dependencies (default: false).

版本控制

默认情况下,setuptools-odoo 会尽力检测 add-on 是否与清单中指示的版本有所不同。为此,它探索 add-on 子树的 git 日志。

如果 add-on 的最后更改与清单中的版本号相对应,则将其直接用作 Python 包版本。否则,对于每个提交,计数器都会递增,并且生成的版本号包含该计数器。

默认策略取决于 Odoo 系列。其形式如下,N 表示自版本更改以来的 git 提交数。

  • 策略 .99.devN 是 8 到 12 系列的默认策略,产生 [8|9|10|11|12].0.x.y.z.99.devN

  • 策略 +1.devN 是 13 和 14 系列的默认策略,产生 [13|14].0.x.y.z+1.devN

  • 策略 .N 是 15 系列及以后的默认策略,添加一个数字,通常产生 [series].0.x.y.z.N

  • 策略 none 默认不使用,并禁用后版本化机制,产生在清单中找到的版本。

这些方案符合在 PEP 440 中记录的接受 Python 版本控制方案。

可以使用 post_version_strategy_override 关键字或 SETUPTOOLS_ODOO_POST_VERSION_STRATEGY_OVERRIDE 环境变量来覆盖默认策略。如果设置且不为空,则环境变量比 setup.py 关键字具有优先级。

公共API

setuptools_odoo 软件包公开了临时公共 API。

鸣谢

作者

贡献者

  • Benjamin Willig

  • Matteo Bilotta

感谢 Daniel Reis 清晰的路径,以及 Laurent Mignon,他使我确信可以使用标准 Python 打包工具完成它,并提出了 odoo_addons 命名空间包的想法。

变更

3.3 (2024-03-16)

功能

  • 在 PEP 660 模式下安装时,请确保使用 setuptools compat 可编辑模式。(#119

  • 更新核心插件列表。(#120

3.2.1 (2023-09-30)

错误修复

  • 修复 FileNotFoundError 回退,在 setuptools-odoo-make-default 中。(#116

3.2.0 (2023-09-20)

功能

  • 生成 Python 元数据版本 2.1 而不是 2.2。我们与 2.1 兼容,而 PyPI 不支持使用此类元数据生成的 2.2 包,这些包无法上传到 PyPI。(#112

  • 更新核心插件列表。(#115)

  • 提高setuptools-odoo-make-default在Windows上的兼容性。(#114)

错误修复

  • 使用utf-8编码打开README.rst,以避免在默认编码不是utf-8的平台上的解码问题。(#108)

3.1.12 (2023-03-29)

功能

  • 更新核心插件列表。(#107)

3.1.11 (2023-03-15)

功能

  • 更新核心插件列表。(#106)

3.1.10 (2022-12-28)

功能

  • 更新核心插件列表。(#105)

3.1.9 (2022-11-24)

功能

  • 更新核心插件列表。(#100)

3.1.8 (2022-11-01)

功能

  • 更新核心插件列表。(#97)

3.1.7 (2022-10-16)

功能

  • 更新核心插件列表。(#96)

3.1.6 (2022-10-02)

功能

  • Odoo 16需要Python 3.10。(#93)

  • 更新核心插件列表。(#94)

3.1.5 (2022-09-21)

功能

  • 更新Odoo基础插件列表。

3.1.4 (2022-09-14)

功能

  • 更新Odoo基础插件列表。

3.1.3 (2022-09-01)

错误修复

  • 在setuptools-odoo-makedefault元包生成中正确处理odoo_version_override。(#89)

功能

  • 更新Odoo基础插件列表。

3.1.1 (2022-05-17)

功能

  • 当无法检测Odoo版本时,提供更好的错误信息。(#85)

  • 更新Odoo基础插件列表。

3.1.0 (2022-05-06)

  • 支持使用要求列表覆盖外部依赖,使更高级的使用案例,如声明环境标记成为可能。(#81 <https://github.com/acsone/setuptools-odoo/pull/81>

  • 初步支持Odoo 16。(#83

  • 更新Odoo基础插件列表。

3.0.7 (2022-02-26)

  • setuptools-odoo-get-requirements:修复了使用--include-addons时回归的问题,其中本地目录中的插件被报告为要求。(#67

  • 更新Odoo基础插件列表。

3.0.6 (2022-01-11)

  • 更新Odoo基础插件列表。

3.0.5 (2021-12-17)

  • 修复读取Odoo >= 15的PKG-INFO元数据的错误。(#70

3.0.4 (2021-12-04)

  • 更新Odoo基础插件列表。

3.0.3 (2021-10-18)

  • Odoo 15插件现在默认需要python >= 3.8。(#65

3.0.2 (2021-10-09)

  • setuptools-odoo-make-default现在使用新的元包命名方案。(#64

3.0.1 (2021-10-06)

  • 生成Metada-Version 2.2。由于从包含PKG-INFO的sdist获取的元数据直接从PKG-INFO读取,因此所有元数据按定义是静态的。

  • get_addon_metadata添加precomputed_metadata_path参数。

  • 支持Odoo 15,使用新的odoo-addon-{addon_name}包名结构。这利用了新的pip依赖解析器,以正确安装正确的版本,具体取决于已安装的Odoo版本。Odoo 15插件的默认git postversion策略现在为.N,这意味着它在版本号中添加一个第六位数字,该数字表示自上次版本提升以来在插件清单中的提交数。

  • 添加对新的Odoo系列trove类别的支持。

  • 更新Odoo基础插件列表。

2.7.1 (2021-03-15)

  • setuptools-odoo-get-requirements --include-addons不会输出本地插件,因为它旨在列出第三方依赖。

2.7.0 (2021-03-13)

  • [ADD] 添加新的.N git post version策略,该策略在版本号中添加一个第六位数字,表示自最新清单版本变更以来的提交数。

  • [ADD] 实现了文档中但尚未生效的post_version_strategy_override关键字。

  • [ADD] 允许使用环境变量SETUPTOOLS_ODOO_POST_VERSION_STRATEGY_OVERRIDE覆盖post version策略。

  • [ADD] 向setuptools-odoo-get-requirements添加--include-addons选项,以输出插件包和Odoo,而不仅仅是Python外部依赖。

  • [UPD] 更新基础插件列表。

2.6.3 (2021-01-29)

  • [UPD] 更新基础插件列表。

2.6.2 (2021-01-13)

  • 通过选择PEP 517修复了构建系统。

2.6.1 (未发布)

  • [UPD] 更新基础插件列表。

2.6.0 (2020-10-21)

  • [ADD] 支持覆盖post version策略。

  • [新增] 将setuptools-odoo-get-requirements添加到插件清单中,以提取外部Python依赖项列表

2.5.10 (2020-09-29)

  • [UPD] 更新基础插件列表。

  • [新增] 支持Odoo 14

2.5.9 (2020-05-25)

  • [修复] 进一步避免依赖于损坏的setuptools_scm 4.0.0

2.5.8 (2020-05-25)

  • [修复] 避免依赖于损坏的setuptools_scm 4.0.0

  • [UPD] 更新基础插件列表。

2.5.7 (2020-05-07)

  • [UPD] 更新基础插件列表。

2.5.6 (2020-04-24)

  • [UPD] 更新基础插件列表。

2.5.5 (2020-03-06)

  • [UPD] 更新基础插件列表。

2.5.4 (2020-02-16)

  • [UPD] 更新基础插件列表。

2.5.3 (2020-01-16)

  • [改进] 更新Odoo 12和13的文档

2.5.2 (2020-01-16)

  • [UPD] 更新基础插件列表。

  • [新增] 添加预提交钩子setuptools-odoo-make-default

2.5.1 (2019-12-13)

  • [修复] 更好地检测git仓库根目录

  • [UPD] 更新基础插件列表。

2.5.0 (2019-10-04)

  • [新增] 新的git自动版本化策略(增加最后一位数字而不是追加.99),将用于Odoo 13

  • [新增] 预先支持Odoo 13

  • [新增] 为Odoo插件提供新的临时公共API,返回Python包元数据2.1

2.4.1 (2018-11-05)

  • [修复] make-default-setup元包生成器的问题现在尊重.setuptools-odoo-make-default-ignore

2.4.0 (2018-10-04)

  • [改进] 更新基础插件列表,包括Odoo 12

2.3.0 (2018-05-13)

  • [修复] 从sdist中移除测试(它们仅在正确的git克隆中工作)

  • [改进] 支持development_status清单键以生成相应的pypi类分类器

  • [改进] 使用pypa/setuptools_scm而不是未维护的setuptools-git作为git文件查找器

2.2.1 (2018-05-08)

  • [修复] 空目录中make-default-setup –commit的问题

2.2.0 (2018-04-30)

  • [改进] 在查找git历史中的清单时,静默一些无用的git警告

  • [改进] 在搜索清单时,先查找__manifest__.py,然后再查找__openerp__.py,这应该略微提高最近Odoo版本中最常见的性能

  • [改进] 更新Odoo 8、9、10的基础插件列表

  • [改进] 从资源文件加载基础插件列表,使维护这些列表更容易(使用更新的mk_base_addons脚本)

  • [新增] 在外部依赖项映射中添加OpenSSL和suds

2.1.0 (2018-04-22)

  • [修复] 给PKG-INFO优先权以获取版本,这样在生成sdist时获取的git后版本就被保留了(在之前,如果从git之外的sdist构建,将回退到清单版本)

  • [改进] 更新Odoo 11.0的基础插件列表

2.0.4 (2018-04-18)

  • [修复] setuptools-odoo-make-default:使元包成为Odoo 11的通用wheel

2.0.3 (2018-04-18)

  • [改进] 将–clean、–commit和–metapackage选项添加到setuptools-odoo-make-default

2.0.2 (2017-10-07)

  • [改进] 更新Odoo 11(CE和EE)的基础插件列表

2.0.1 (2017-10-02)

  • [修复] 修复odoo/addons没有__init__.py时的问题

2.0.0 (2017-09-19)

  • [改进] 更新Odoo 10.0的基础插件列表

  • [改进] 当setuptools扩展列表类型的关键字时,防止重复项

  • [改进] 使用python 3使测试通过

  • [新增] 预先支持Odoo 11

  • [重大改进] 移除LEGACY_MODE支持

  • [重大改进] python_requires现在是生成关键字的一部分

  • [更改] 在分类器中,使用Python而不是Python :: 2.7,因为我们现在有更精确的python_requires

1.0.1 (2017-04-08)

  • [新增] 为OCA常用许可证添加许可证分类器

1.0.0 (2017-04-07)

  • [新增] 支持全新的Framework :: Odoo分类器

1.0.0rc4 (2017-02-21)

  • [修复] 避免使用setuptools-git版本1.2,因为它对我们的用例已损坏

1.0.0rc3 (2017-01-14)

  • [修复] 基于git的自动后版本化在清单重命名(例如,将__openerp__.py重命名为__manifest__.py)的情况下不起作用

  • [改进] 支持作者电子邮件:由于Odoo清单没有此类概念,这目前只是当OCA是作者时的特殊情况

1.0.0rc2 (2016-10-07)

  • [改进] 10.0插件现在再次依赖于特定的Odoo版本(>=10.0,<10.1dev)

1.0.0rc1 (2016-10-03)

  • [改进] 支持带有odoo.addons命名空间的插件和Odoo 10.0

  • [改进] 更新Odoo 9.0和10.0rc1的基础插件列表

1.0.0b7 (2016-09-22)

  • [改进] 为Odoo 10添加__manifest__.py支持,取消对从未得到Odoo支持的__odoo__.py支持

  • [重大改进] 包名现在按以下方案构建:odoo{series}-addon-{addon_name},其中series是8、9或10。

1.0.0b6 (2016-08-23)

  • [改进] 当odoo_addon和odoo_addons关键字在setup.py中存在时,现在它们扩展列表关键字,如install_requires;这对于创建包含Odoo插件以及其他Python包的包很有用

  • 【改进】允许将 None 作为 depends_override 的值,以禁用在 __openerp__.py 中 'depends' 键中存在的插件添加到 setup.py 的 'install_requires' 中

  • 【改进】在存在 odoo_version_override 的情况下,检查 Odoo 版本是否受支持

  • 【新增】初步支持 OpenErp 7.0

  • 【新增】添加 –odoo-version-override 参数给 setuptools-odoo-make-default,用于在无法规范插件版本的情况下使用

  • 【修复】当使用 odoo_version_override 时,确保包版本以 Odoo 版本开头,否则其他包的依赖项将无法工作

  • 【更新】为 odoo 9c 更新基础插件列表,包含最近几个月添加的新模块

1.0.0b5 (2016-05-03)

  • 【修复】修复了先前版本中阻止单个 auto_install 插件打包的 bug

1.0.0b4 (2016-04-06)

  • 【更新】在外部依赖映射中添加 pycrypto

  • 【新增】setuptools-odoo-make-default 现在忽略 .setuptools-odoo-make-default-ignore 列表中列出的插件;这在某些插件手动包含在其他包(如可自动安装的粘合模块)中很有用

  • 【新增】setuptools-odoo-make-default 现在在设置目录的根目录生成 README 和 .setuptools-odoo-make-default-ignore 文件

  • 【改进】odoo_addon 设置关键字现在接受 odoo_addons 命名空间中的多个插件,但必须恰好有一个是可安装的且不是自动安装的。这是为了将一个插件与一个或多个可自动安装的粘合模块一起打包。

1.0.0b3 (2016-02-10)

  • 【新增】指定在依赖项中使用的 Odoo 版本(例如 8.0、9.0)的机制,以防某些要打包的插件具有非标准版本号

  • 【新增】支持在它们的清单中没有版本号的插件(遗憾的是,在野外有一些...)

1.0.0b2 (2016-01-26)

  • 【新增】覆盖依赖项的机制,允许插件作者要求依赖 odoo 插件的最小版本,并控制外部 Python 依赖项

1.0.0b1 (2015-12-29)

  • 【修复】运行在 git 目录之外时修复 postversioning 的问题

  • 【改进】Python 外部依赖项的额外映射

  • 【新增】make_pkg_name 公共 API,用于将插件名称转换为 Python 包名称

  • 【新增】make_pkg_requirement 公共 API,用于获取给定插件的合法包需求(与 make_pkg_name 相同,但包括对正确 Odoo 版本的请求)

  • 【修复】在先前提交有不良 __openerp__.py 的情况下崩溃

0.9.0 (2015-12-13)

  • 第一个测试版

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

setuptools-odoo-3.3.tar.gz (62.8 kB 查看散列)

上传时间

构建分发

setuptools_odoo-3.3-py2.py3-none-any.whl (59.4 kB 查看散列)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页