publishpress/version-loader-generator

为PublishPress上的库生成版本加载文件的Composer脚本

1.1.8 2023-04-25 21:05 UTC

This package is auto-updated.

Last update: 2024-09-27 19:03:13 UTC


README

用于自动生成脚本并测试PublishPress上库的脚本文档。

脚本将在库中生成三个文件

  • lib/Versions.php
  • lib/include.php
  • tests/wpunit/VersionsCest.php

如何使用

此库应作为开发需求包含在目标库中

composer require --dev publishpress/version-loader-generator

安装后,它将在vendor/bin文件夹中可用。

需要在composer.json文件中做一些设置才能正确生成文件

{
  "extra": {
    "generator": {
      "lib-class-test": "interface_exists('PublishPress\\Psr\\Container\\ContainerInterface')",
      "action-initialize-priority": "-190",
      "action-register-priority": "-200"
    }
  }
}
  • lib-class-test:这是一段PHP代码片段,将检查目标库是否已加载。
  • action-register-priority:一个负整数,用作注册库的plugins_loaded动作的优先级。注册应该始终在初始化之前完成。
  • action-initialize-priority:一个负整数,用作初始化库的plugins_loaded动作的优先级。初始化应该始终在使用库的插件初始化之前完成。

我们建议使用前缀库的插件使用具有优先级-20或更高的plugins_loaded动作来初始化插件,而不是在运行时初始化它。

在每次更新/安装时运行生成器的composer脚本。以下示例中,我们还使用了Strauss来为相应的库添加前缀

{
  "scripts": {
    "strauss": [
      "vendor/bin/strauss"
    ],
    "generate-files": "vendor/bin/version-loader-generator",
    "post-install-cmd": [
      "@strauss",
      "@generate-files"
    ],
    "post-update-cmd": [
      "@strauss",
      "@generate-files"
    ]
  }
}

如何测试此脚本

vendor/bin/codecept run unit

如何测试目标库

确保在目标库中正确配置了Codeception,以便运行WPUnit测试。

将以下composer脚本添加到composer.json文件中

{
  "scripts": {
    "test": "vendor/bin/codecept run wpunit"
  }
}

然后您可以只需运行

composer test