一个小插件,根据注解自动生成说明文档
Posted 山水相逢-z
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个小插件,根据注解自动生成说明文档相关的知识,希望对你有一定的参考价值。
一、背景
我们app里有很多事件埋点,pm经常会来问某个操作埋点了吗,埋点值是啥啊,经常会需要在代码里找,虽然我们有自己的埋点录入平台,但是需要手动输入,为了提高效率,写了一个小插件,用自定义注解的形式,在build的时候,自动将被注解的埋点统一输出到一个文档里,方便查找。
目前功能比较简单,只能固定路径生成txt文档,后续会支持更多功能。
二、原理
主要是自定义注解处理器来实现的,学习了这篇文章
三、用途:
用注解标注需要说明的变量,编译后自动在当前项目根目录生成文档。
四、使用方法
- 添加依赖
在app->build.gradle下:
dependencies
...
api project(':processor')
annotationProcessor project(':processor')
...
- 注解变量
在需要标注的变量添加注解 DescAnnotation
@DescAnnotation(title = "test_str_one", desc = "我是第一个变量的描述")
private String testStrOne = "test_str_one";
@DescAnnotation(title = "test_str_two", desc = "我是第二个变量的描述")
private String testStrTwo = "test_str_two";
-
执行编译
build->rebuild project
-
查看文档
在项目根目录会生成 注解生成文档.txt,里边儿就是注解字段内容。
- 自定义配置
使用者可自定义文档输出路径以及生成文件名,在app->build.gradle->android>defaultConfig下添加配置:
javaCompileOptions
annotationProcessorOptions
arguments = [docOutputPath: System.getProperty("user.dir") + "/annoationDoc/", docOutputName: 'eeee注解生成文档']
classNames = ['com.zq.processor.CustomAnnoationProcessor']
docOutputP
ath:文档输出路径,可自由配置
docOutputName:生成文件名,可自由配置
classNames:注解处理器,这个不要修改
四、todo
- 生成文档目录自定义配置
- 文档内容格式优化
- 上传到bintray.com,方便依赖
- …
最后附上项目地址:CustomAnnoationProcessor,有类似需要的朋友可以使用,也欢迎一起让它更加丰富。
以上是关于一个小插件,根据注解自动生成说明文档的主要内容,如果未能解决你的问题,请参考以下文章