Spotless 代码格式化的配置和使用

8 篇文章 0 订阅
7 篇文章 0 订阅

Spotless 是一个代码格式化工具。它支持的开发语言有java, kotlin, scala, sql, javascript, css, json, yaml, etc; 它不仅能按照指定的规则去检测我们的代码指示出不合规的地方, 同时可以按照规则修复代码; 且发布了现成的maven|gradle plugin, 这里我们对gradle-plugin进行使用演示


在项目中配置使用Spotless

在Gradle项目中, 配置Spotless

gradle构建脚本使用groovy

  1. 首先在build.gradle中引入Liquibase 插件
buildscript {
    ext {
        springBootVersion = '2.1.0.RELEASE'
    }
    repositories {
        mavenCentral()
        maven {
            url 'https://plugins.gradle.org/m2/'
        }
    }
    dependencies {
        classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
        classpath "com.diffplug.spotless:spotless-plugin-gradle:3.23.1"
    }
}

// 以外部文件的方式引入插件
apply from: 'gradle/spotless.gradle'
  1. 看一下spotless.gradle文件里面的内容
apply plugin: "com.diffplug.gradle.spotless"

spotless {
    java {
        removeUnusedImports()
        target fileTree('.') {
            include '**/*.java'
            exclude '**/mybatis/**'
        }
        eclipse().configFile 'config/format/eclipse-java-google-style.xml'
    }
}
  1. eclipse-java-google-style.xml 是所要采用的代码格式化风格文件, 可以访问这里得到;

  2. 在命令行终端执行以下命令对插件进行使用

// 做代码检查, spotless会显示出代码不合规范的地方并给出修改建议
gradlew spotlessJavaCheck

// 应用上面一步的修改建议
gradlew spotlessJavaApply

  1. 添加 pre-commit-hook, 在做git commit前做代码规范检查
#!/bin/sh
#set -x

./gradlew spotlessJavaCheck checkstyleMain checkstyleTest findbugsMain

RESULT=$?
exit $RESULT

Over!

org.jacoco是一个用于Java代码覆盖率测试和报告生成的开源工具。它可以帮助开发人员分析他们的代码测试覆盖率情况,并生成详细的报告。在你提供的引用中,主要是关于二次开发的一些修改和使用方法。 根据第一个引用,jacoco二次开发主要加入了增量代码匹配的功能。具体的设计方案可以参考jacoco的增量代码实践。这个二次开发主要是新增了一些类和修改了一些核心类。新增的类位于org.jacoco.core.internal.diff包下,而修改的类主要包括org.jacoco.core.analysis.Analyzer、org.jacoco.core.analysis.CoverageBuilder和org.jacoco.core.internal.flow.ClassProbesAdapter。你可以通过查看commit记录来了解具体的修改内容。 关于使用方法,首先需要下载源码,并运行mvn spotless:apply命令。这个命令主要是用于进行文件头文件校验,如果新增加了类或者修改了类,需要重新校验。然后,运行mvn clean package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true命令进行构建。构建完成后,你可以在target目录下找到org.jacoco.cli-0.8.7-SNAPSHOT-nodeps.jar,这是构建出的需要的包。 关于生成单元覆盖率报告,你可以运行maven test命令。然后,在target目录下会生成jacoco-ut文件夹,其中包含了index.html文件,你可以用浏览器打开这个文件来查看单元覆盖率报告。 至于你提到的最开始未找到单元测试报告的问题,可能是因为在pom.xml配置中没有加入report部分的依赖,并指定report的位置。请确保你的pom.xml文件中有正确的配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值