首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ktlint自定义记者

Ktlint自定义记者
EN

Stack Overflow用户
提问于 2018-07-16 19:03:01
回答 1查看 825关注 0票数 2

我正在努力改进我的团队的代码和ktlint似乎是一个完美的解决方案,我们正在介绍的科特林。

我的问题是找到一个创建客户报告的完整示例,以便在运行ktlint任务时允许自定义输出。克林特的医生说:

简而言之,您所需要做的就是实现一个报告程序,并通过使用META-INF/services/com.github.shyiko.ktlint.core.ReporterProvider.注册一个自定义ReporterProvider来使它可用。把这些都装进罐子里,你就完蛋了。

但是,遵循一个简单的例子,这里,但是我不知道把这些文件放在哪里,或者把这个ktlint推荐的"jar“放在哪里,或者它说我的定制报告没有找到。

有没有人有这方面的例子?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-07-17 23:48:30

看看mcassiano/ktlint-html记者ktlint的内置记者之一

简而言之,每个记者都包含一个Reporter、ReporterProvider和一个服务定义(其中包含ReporterProvider实现类名):

代码语言:javascript
复制
$ cat src/main/kotlin/your/pkg/CustomReporter.kt
package your.pkg
import com.github.shyiko.ktlint.core.Reporter
class CustomReporter : Reporter {
...    

$ cat src/main/kotlin/your/pkg/CustomReporterProvider.kt
package your.pkg
import com.github.shyiko.ktlint.core.ReporterProvider
class CustomReporterProvider : CustomReporter {
...

$ cat src/main/resources/META-INF/services/com.github.shyiko.ktlint.core.ReporterProvider
your.pkg.CustomReporterProvider

你需要把它装进罐子里。

一旦有了JAR,ktlint就可以通过以下方式之一加载它:

  • ktlint --reporter=custom,artifact=your.pkg:custom-reporter:0.1.0,output=target/output.html (假设your.pkg:custom-reporter:0.1.0在Maven Central / JCenter /JitPack中可用)
  • ktlint --reporter=custom,artifact=~/path/to/custom-reporter.jar (来自fs)
  • 从类路径(如果您计划通过Gradle/Maven/etc使用ktlint ),e.g.dependencies { ktlint "com.github.shyiko:ktlint:$ktlintVersion“ktlint”you.pkg:定制-记者:0.1.0“}任务ktlint(类型: JavaExec,组:”验证“){ classpath = configurations.ktlint main = "com.github.shyiko.ktlint.Main”args -记录员=自定义,“src/**/*.”}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51368558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档