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

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


  • Spotless
  • Checkstyle
  • FindBugs
  • Jacoco
  • Liquibase

在项目中配置使用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!

你可能感兴趣的:(CI与CD的实践)