Ant*_*sss 5 java asciidoc asciidoctor
例如,让某个类中有一个 Java 常量
public class MyClass{
public static final String ENDPOINT="http://example.com"
}
Run Code Online (Sandbox Code Playgroud)
让我们尝试在 AsciiDoctor 中描述该类(公司文档原因)
==== My class
..... some descripton .....
It is exposed trough http://example.com
Run Code Online (Sandbox Code Playgroud)
现在,每次更改端点时,我也必须手动更新文档(IDE 查找和替换显然可以解决问题)。有没有办法将 Java 常量包含到 AsciiDoc 中,这样我就不必将其值复制到文档中?
我很乐意看到类似的东西{import my.package.MyClass#ENDPOINT}。
我会编写一个 shell 脚本(PERL,无论什么),它会在 Java 代码中查找类似于 的正则表达式'class (\w+).*ENDPOINT="([^"]+)',然后使用 发送结果到包含文件 ( ./endpoints.adoc) ':\1_endpoint: \2',因此:
:MyClass_endpoint: http://example.com
:MyOtherClass_endpoint: http://other.example.com
Run Code Online (Sandbox Code Playgroud)
然后,在 AsciiDoc 文件的顶部插入:include::endpoints.adoc[]
然后在正文中引用{MyClass_endpoint}and 。{MyOtherClass_endpoint}
然后,只需在调用 AsciiDoctor 之前将脚本作为工具链的一部分运行即可。