【问题标题】:Is it possible to use pep8 and yapf in a Stash pre-receive hook?是否可以在 Stash 预接收挂钩中使用 pep8 和 yapf?
【发布时间】:2015-05-27 00:32:46
【问题描述】:

我正在尝试编写一个 Atlassian Stash 预接收挂钩,该挂钩将检查推送代码的 python 文件是否符合 python PEP-8 样式约定。已经有两个工具可以完全满足我的需求——pep8yapf

但是,我不知道如何将这些工具集成到必须用 Java 编写的 Stash 预接收挂钩中。如果我在 Java 中编写 Stash 预接收钩子,我该如何使用 pep8 和 yapf?

【问题讨论】:

  • 我实质上是在寻求有关如何设计我的代码的建议。我知道我必须用 Java 编写代码,并且它必须实现 PreReceiveRepositoryHook 接口。如果推送代码的 python 文件符合 PEP-8,则方法 onReceive 应该返回 true,否则返回 false。已经有一个名为pep8 的命令行工具来检查python 文件是否符合PEP-8。如何在 Java 中使用这个命令行工具?

标签: java git githooks pep8 bitbucket-server


【解决方案1】:

您可以尝试的一种方法是使用此external hooks add-on,然后它可以运行您需要的任何脚本并返回结果。

也就是说,我建议还考虑预接收是否是让用户等待的正确时间,并且可能不得不回去修复他们的工作。另一种方法是结合客户端的预提交钩子(诚然并不总是容易实施),并使用异步过程(使用诸如 Bamboo 之类的构建系统)来运行检查。前者为开发人员提供了更直接的反馈,而后者则作为一个安全网而不是对其超级严格。换句话说,您可能能够通过流程(以及正确的文化鼓励做正确的事情)来执行此操作,而不是通过严格的工具执行。 YMMV

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 2015-04-20
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多