工具任务 是用于 AuthMe 的各种目的的任务。比如,生成文档页面,或者检查翻译文件的完整性。所有的工具任务都从相同的 runner 启动,即 ToolsRunner,位于 test/tools/ToolsRunner.java 。提示:你可以保存 ToolsRunner 的运行配置,这样你就可以随时开始一个工具任务了。

一旦你开始了一个 ToolsRunner,一系列的可用工具将会显示。输入名称后对应的任务将会运行。

可用的任务

图标 名称 描述
:paperclip: addJavaDocToMessageEnum 使用对应的英文信息给每一个 MessageKey 条目添加 Javadocs 注释。
:flashlight: checkMessageUses 寻找完全没有使用的语言条目。
:paperclip: checkTestMocks 检查测试类的 @Mock 字段对应测试类的 @Inject 字段。
:green_book: createCommandPage 更新 docs/commands.md 页面。
:green_book: describeHashAlgos 更新 docs/hash_algorithms.md 页面。
:paperclip: drawDependencyGraph 生成 AuthMe 的依赖图为 .dot 文件 - 需要 GraphWiz 渲染。
:pencil2: generateCommandsYml 使用默认的数据生成 commands.yml 配置文件。
:pencil2: generatePluginYml 使用最新的命令和权限信息生成 plugin.yml。
:green_book: updateConfigPage 更新 docs/config.md 页面。
:green_book: updateDocs 更新 docs/ 文件夹中的所有文件。
:green_book: updateTranslations 更新 docs/translations.md 页面。
:flashlight: verifyHelpTranslations 检查所有或指定的位于 resources/messages 的帮助信息文件。
:flashlight: verifyMessages 检查所有的或指定的位于 resources/messages 的语言文件。
:green_book: writePermissionsList 更新 docs/permission_nodes.md 页面。

种类

图标 条目
:green_book: Docs/ 页面生成
:flashlight: 检查任务
:pencil2: 项目文件更新
:paperclip: 技术性任务

标签替换

docs/ 文件夹中的 Markdown 页面基于一个模板文件。这个模板文件可能包含生成时用于替换的标签。举个例子:

A total of {total} commands are available:

[#commands]
- {name}[perm], requires {perm}[/perm]
[/#commands]

这里一共有这么几种标签可以使用:

  • 替换: {total}-一样的标签将会被替换为「total」相关的值
  • 条件: [perm]...[/perm]-一样的标签是条件性标签。只有在「perm」指代的值非空(空字符串或者空集合)才会被替换
  • 重复:[#commands]...[/#commands] 一样的标签将会使用所有「commands」的值迭代替换

标签的值可以使用 TagValueHolder 指定。举个例子:

List<Command> commands = Arrays.asList(
  new Command("/home", ""), new Command("/help", "permission.help"));

NestedTagValue commandsInfo = new NestedTagValue();
for (Command command : commands) {
  TagValueHolder commandValues = TagValueHolder.create()
    .put("name", command.getName())
    .put("perm", command.getPermission());
  commandsInfo.add(commandValues);
}

TagValueHolder tagValues = TagValueHolder.create()
  .put("total", commands.size())
  .put("commands", commandsInfo);

// Generate MD file
FileIoUtils.generateFileFromTemplate("commands.tpl.md", "commands.md", tagValues);

生成的文件会看起来像这样:

A total of 2 commands are available:

- /home
- /help, requires permission.help

以下预定义的标签可以随时使用:

  • {gen_date}: 生成日期(当前日期)
  • {gen_warning}: 用于警告不要直接编辑生成的文件的注释标签
  • {gen_footer}: 页面底部指向仓库和生成日期的链接

results matching ""

    No results matching ""