跳转到主要内容

Acsone Odoo 开发工具

项目描述

License: GPL-3 https://badge.fury.io/py/acsoo.svg https://travis-ci.org/acsone/acsoo.svg?branch=master https://codecov.io/gh/acsone/acsoo/branch/master/graph/badge.svg

这是一套命令行实用程序,旨在简化Acsone的Odoo开发工作流程。

它假定项目是基于setuptools的Python包,可以使用pip打包和安装。

包括在此处的工具的标准

  • 作为标准命令(git,pip等)的小包装

  • 但在手动执行时足够不平凡,可能会出错或耗时

  • 在多个Acsone Odoo项目中使用

安装

pip install --user acsoo

pipx install acsoo

要启用bash自动完成,请将以下行添加到您的 .bashrc

eval "$(_ACSOO_COMPLETE=source acsoo)"

我们在这里有什么

以下是一些可用命令及其示例的列表。

使用 acsoo --helpacsoo <command> --help 获取更多信息。

acsoo pr-status

在需求文件中查找形式为 refs/pull/NNN/head 的 git 引用,并打印相应的 GitHub 提交请求状态。

/!\ 已废弃的命令 /!\

acsoo checklog

acsoo checklog 已弃用:使用 `checklog-odoo <https://pypi.ac.cn/project/checklog-odoo>`_。

检查 odoo 日志文件是否包含错误,并基于正则表达式忽略一些错误。

acsoo checklog odoo.log
odoo -d mydb -i base --stop-after-init | acsoo checklog
acsoo checklog --ignore "WARNING.*blah" odoo.log

acsoo tag

acsoo tag 已弃用:使用 `bump2version <https://pypi.ac.cn/project/bump2version/>`_ 并设置 `tag = True`,然后使用 `git push –tags` 代替。

在确保所有内容都已提交到 git 后,对当前项目进行标记。

acsoo tag-requirements

acsoo tag-requirements 已弃用:使用 `pip-preserve-requirements <https://pypi.ac.cn/project/pip-preserve-requirements/>`_ 代替。除了标记外,它还会自动将第三方存储库推送到相应的 ACSONE 分支,简化了使用 ``@refs/pull/NNN/head`` 声明 OCA VCS 引用。

requirements.txt 中找到的所有 VCS 需求进行标记,以防在 VCS 垃圾收集时丢失引用的提交。

acsoo addons

acsoo addons 已弃用:使用 `manifestoo <https://pypi.ac.cn/project/manifestoo>`_ 代替:它更健壮,并具有更好的测试覆盖率。

一组命令用于打印插件列表,在运行测试时非常有用。

acsoo addons list
acsoo addons list-depends

acsoo freeze

已弃用:使用 `pip-deepfreeze <https://pypi.ac.cn/project/pip-deepfreeze>`_ 代替。

与 pip freeze 类似,但它仅输出提供分布名称的依赖项。

acsoo wheel

此命令已弃用,请使用 pip >= 20.1 并不要使用可编辑的 VCS 依赖项。`pip wheel -e . -r requirements.txt –wheel-dir=release` 将给出相同的结果,包括固定 VCS 依赖项的缓存。

requirements.txt 中找到的所有依赖项以及当前目录中的项目构建 wheels。

此命令(与常规 pip wheel -r requirements.txt -e . –wheel_dir=release –src src 相比)的主要优势是它维护了一个使用 sha1 固定的 git 依赖项的缓存。

acsoo release

此命令已弃用。发布已通过 .gitlab-ci 自动化。请参阅项目模板中的 `build` 阶段。

在一个命令中执行 acsoo tagacsoo tag_requirementsacsoo wheel

acsoo.cfg

项目根目录下的 acsoo.cfg 文件有助于您设置合理的默认值。

这是一个最小示例

[acsoo]
trigram=xyz
series=10.0
version=1.5.0

以及一个更详细的示例

[acsoo]
trigram=xyz
series=11.0
version=1.5.2
pushable=
  github.com:acsone
  github.com:mozaik

[checklog]
ignore=
  WARNING .* module .*: description is empty !
  WARNING: unable to set column .* of table account_analytic_account not null

维护者

ACSONE SA/NV

此项目由 ACSONE SA/NV 维护。

变更

3.1.0 (2021-01-04)

  • pr-status:从需求文件中找到的 GitHub 提交请求 URL 中检测 PR 状态;在注释中检测它们很有用

  • 对项目模板(在 gitlab-ci.yml 和 pre-commit 配置中,主要是)进行了各种改进(#75#77)。

  • 在 acsoo tag 中,不要对空目录进行抱怨(#76)。

  • 弃用 acsoo freeze 以支持 pip-deepfreeze

  • 弃用 acsoo addons 以支持 manifestoo

  • 将许可协议和开发状态检查添加到项目模板中。

  • 从 acsoo 依赖项中删除 bumpversion。该项目现在由 bump2versions 取代,最好使用 pipx 单独安装它。

3.0.2 (2020-10-14)

3.0.1 (2020-07-29)

  • [REM] 删除 mrbob 依赖,因为 pip >= 20.2 安装时崩溃

3.0.0 (2020-07-01)

  • [DEL] 放弃对 Python 2 的支持(acsoo 的先前版本仍可在 PyPI 上找到,并且对于常规使用,python 3 版本也适用于 Odoo 8、9、10 项目)

  • 新增功能:acsoo freeze 限制 pip freeze 输出为给定分布的依赖项

  • 新增功能:acsoo pr-status 打印包含修订形式为 refs/pull/NNN/head 的 GitHub 拉取请求的依赖文件的状态

  • 删除功能:弃用 acsoo wheel(现在由 pip 本地支持)和 acsoo release(在 GitLab CI 中自动执行)

  • 改进:项目模板:在推送翻译更新时跳过 ci

2.1.0 (2020-05-25)

  • 改进:项目模板:更好的 isort 配置

  • 改进:项目模板:合并请求模板

  • 改进:支持在 tag_requirements 命令中使用不可编辑的 VCS 依赖项

  • 删除功能:删除 tag_requirements 命令中的 –force 选项,因为它没有任何有用的作用,因为我们想要的只是确保存在一个标签

  • 维护:声明式 setuptools 配置

  • 改进:将 flake8 锁定到版本 3.7.9(提醒:acsoo flake8 已弃用,请使用 pre-commit)

  • 改进:将 pylint-odoo 锁定到版本 3.1.0(提醒:acsoo pylint 已弃用,请使用 pre-commit)

2.0.0 (2020-01-15)

  • 改进:项目模板:在 gitlab-ci 中发布 html 覆盖率

  • 改进:项目模板:在 gitlab-ci 中添加分支覆盖率

  • 改进:项目模板:在 gitlab-ci 中添加 pre-commit 缓存

  • 删除功能:弃用 acsoo pylint,改为使用 pre-commit 和每个项目的 .pylintrc

  • 改进:支持 Odoo 13

  • 改进:项目模板:将 requirements-dev.txt 重命名为 requirements.txt.in,更好地反映这些是输入依赖项,而不是开发环境的依赖项

  • 改进:项目模板:更新版权年份

  • 改进:项目模板:删除 module_auto_update,使用 click-odoo-update 代替

1.9.0 (2019-02-28)

  • 改进:项目模板:使用 pre-commit(black、isort、flake8)

  • 修复:项目模板:在 click-odoo-update 错误时失败

  • 修复:项目模板:修复部署日志文件

  • 修复:acsoo pylint:与 pylint 2 兼容

1.8.3 (2019-01-22)

  • 修复:acsoo pylint:适配配置以与 pytlint-odoo 2.0.1 一起工作

  • 改进:项目模板:使用 click-odoo-update

1.8.2 (2018-11-05)

  • 改进:项目模板:在 .gitlab-ci.yml 中声明 Python 版本的更好方法

  • 修复:修复 acsoo 标签以支持 Odoo 12

1.8.1 (2018-10-30)

  • 改进:忽略 pylint C0303([链接](https://github.com/PyCQA/pylint/issues/289))

1.8.0 (2018-10-29)

  • 改进:acsoo wheel:添加 –no-deps,这样我们可以构建 requirements.txt 而不获取依赖项,然后使用 –no-index 和 –find-links=release/ 安装项目,以便检测缺失的依赖项(#38)

  • 改进:acsoo wheel:添加 –exclude-project 选项(构建 requirements.txt 时不包括当前项目),为 #44 准备

  • 改进:acsoo wheel:使用可编辑 git 依赖项的缓存

  • 改进:acsoo wheel:使用 pip wheel -e . 来构建项目,而不是 setup.py bdist_wheel,因为显然我们这么做的原因已经在最近的 pip 版本中解决(pip 问题 3499 的评论中提到的似乎是无关的,所以我不确定我们为什么要这么做,可能是因为 [链接](https://github.com/pypa/pip/issues/3500))

  • 改进:flake8:默认忽略 W503 和 W504(逻辑运算符周围的换行符)

  • 改进:项目模板:支持 Odoo 12

  • 改进:项目模板:锁定 acsoo 版本

  • 改进:项目模板:acsoo wheel –no-deps,因此,结合测试阶段的 pip install –no-index,它验证 requirements.txt 中包含所有依赖项

1.7.1 (2018-07-15)

  • 改进:在 .gitlab-ci.yml 中添加 makepot

  • 改进:pylint:将 lxml C 库列入白名单

1.7.0 (2018-06-04)

  • 改进:更多的 Python 3 和 Odoo 11 支持

  • 改进:项目模板:在 gitlab-ci 中添加构建阶段

  • 改进:项目模板:新的部署/升级风格(使用校验和升级和 click-odoo-upgrade 脚本)

  • 改进:强制 odoo-autodiscover>=2 并不用于 Odoo >= 11

  • 改进:向 acsoo tag 和 tag_requirements 添加 –dry-run 选项

  • 改进:使 tag_requirements 可以推送的位置列表可配置

  • 改进:项目模板:按需安装 acsoo 和 ssh-agent

  • [重要] 项目模板:使用gitlab-ci中的click-odoo-initdb

1.6.0 (2018-02-16)

  • [重要] checklog:添加–no-err-if-empty选项

  • [重要] 支持 Python 3

  • [重要] 初步支持 Odoo 11

  • [重要] 项目模板:各种改进

  • [重要] 优化get_installable_addons()方法,提高可复用性

1.5.0 (2017-09-19)

  • [重要] tag_requirements:更积极获取;这解决了尝试写入不存在对象的ref时发生的错误

  • [重要] tag:在执行acsoo tag时始终标记要求

  • [重要] tag:在标记项目之前标记要求,如果标记要求时出现问题,则项目不会被标记且不会触发发布构建

  • [新增] addons:添加–separator选项(并修复测试不足的测试用例)

  • [重要] addons:将当前目录视为addons目录候选

  • [重要] pylint:默认在当前目录中查找要测试的模块,使用与addons列表相同的算法

  • [重要] pylint:支持python 3风格的odoo/addons命名空间(没有__init__.py)

1.4.3 (2017-06-16)

  • [重要] checklog:将以下以#开头的行视为注释

  • [修复] checklog:上一个版本破坏了checklog颜色输出

1.4.2 (2017-06-16)

  • [重要] checklog:如果在输入中找不到日志记录则失败

  • [重要] checklog:使用click输出以减少对Unicode问题的敏感性

1.4.1 (2017-06-14)

  • [修复] acsoo发布中的回归

1.4.0 (2017-06-13)

  • [重要] 颜色日志

  • [重要] 对acsoo tag和tag_editable_requirements进行了重大更改。这些更改使得与由新标签触发的CI驱动的发布流程一起工作变得更加容易。通常的acsoo发布流程应该不会受到这些更改的影响。

    • tag_editable_requirements现在是tag_requirements

    • 标签结构已从{series}-{trigram}_{version}更改为{series}-{trigram}-{req_sha}-{egg},其中{req_sha}requirements.txt最后更改的sha。

    • tag_requirements包含egg名称在标签中,以便在同一个仓库中的不同提交可以进行标记(以前,给定依赖仓库中的所有插件必须位于同一个提交)。

    • 当给定的系列、三字母代码和egg在依赖提交上已经存在标签时,tag_requirements不会尝试创建另一个标签(这避免了创建无用的标签或强制标签),并且这足以避免提交被垃圾回收。

    • acsoo tag现在调用tag_requirements。然而,在大多数情况下,这不会在依赖关系上放置额外的标签,因为正常的流程是在更新requirements.txt时立即调用tag_requirements

    • tag_requirements自动将http(s) url转换为ssh url,以便在推送标签时使用。这允许在requirements中最大化使用http(s) url,以便CI和脚本不需要对公共依赖项的ssh访问。这目前仅适用于github上的acsone组织,但该机制很容易扩展,如果需要的话。

1.3.0 (2017-06-04)

  • [重要] flake8:从acsoo配置文件中读取额外的flake8-options

  • [重要] 模板:在.gitlab.ci.yml中添加系列相关的odoo命令。

  • [重要] 模板:在.gitlab.ci.yml中创建createdb,因为Odoo 8本身不会这样做。

  • [新增] addons list-depends:添加--exclude选项

1.2.2 (2017-05-30)

  • [修复] tagtag_editable_requirementsrelease命令中的回归

1.2.1 (2017-05-27)

  • [重要] 添加提供主要配置文件作为选项的可能性

  • [重要] checklog:从配置文件的[checklog]部分读取默认选项。

  • [重要] pylint:从配置文件的[pylint]部分读取默认选项。

  • 【改进】pylint:使用-lint模块或包时,可以使用-m选项。

  • 【改进】flake8:从配置文件的[flake8]部分读取默认选项。目前唯一的选项是config,用于提供替代的flake8配置文件。这对于开发者来说很有用,因为他们只需在本地输入acsoo flake8即可,即使在需要特定配置的情况下,也可以在本地使用与CI相同的配置轻松运行。

1.1.0 (2017-05-25)

  • 【改进】pylint:要测试的包必须明确提供,一旦提供额外的pylint选项,就可以轻松地在本地上测试项目的子集。例如:acsoo pylint -- -d some-message odooacsoo pylint -- odoo.addons.xyz;

  • 【改进】pylint:禁用更多代码复杂度错误:too-many-nested-blockstoo-many-return-statements

  • 【改进】pylint:最后显示导致失败的错误信息,这样CI中的邮件显示日志的最后几行就更有相关性。

  • 【改进】pylint:显示未导致失败的错误信息的摘要,即使在没有失败的情况下也是如此。

  • 【新增】acsoo addons listacsoo addons list-depends

  • 【新增】acsoo checklog

1.0.1 (2017-05-21)

  • 首个公开版本。

项目详情


下载文件

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

源代码分布

acsoo-3.4.1.tar.gz (48.6 kB 查看哈希)

上传时间 源代码

构建分布

acsoo-3.4.1-py3-none-any.whl (37.1 kB 查看哈希)

上传时间 Python 3

支持者

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