All Projects → lingochamp → Okcheck

lingochamp / Okcheck

Licence: apache-2.0
Incremental scan,integrate Lint、KtLint、UnitTest、Checkstyle、Findbugs、Pmd, powerful and easy to use

Programming Languages

groovy
2714 projects

Projects that are alternatives of or similar to Okcheck

Gradle Code Quality Tools Plugin
Gradle plugin that generates ErrorProne, Findbugs, Checkstyle, PMD, CPD, Lint, Detekt & Ktlint Tasks for every subproject.
Stars: ✭ 282 (-1.05%)
Mutual labels:  lint, checkstyle, findbugs, pmd
java-quality-checks
No description or website provided.
Stars: ✭ 33 (-88.42%)
Mutual labels:  findbugs, pmd, checkstyle
Gnag
A Gradle plugin that helps facilitate GitHub PR checking and automatic commenting of violations.
Stars: ✭ 120 (-57.89%)
Mutual labels:  checkstyle, findbugs, pmd
Gradle Quality Plugin
Gradle quality plugin for Java and Groovy
Stars: ✭ 97 (-65.96%)
Mutual labels:  checkstyle, findbugs, pmd
Warnings Ng Plugin
Jenkins Warnings Plugin - Next Generation
Stars: ✭ 248 (-12.98%)
Mutual labels:  checkstyle, findbugs, pmd
Quality Checks
Gradle plugin which includes Checkstyle, FindBugs, and PMD basic configuration.
Stars: ✭ 38 (-86.67%)
Mutual labels:  checkstyle, findbugs, pmd
Gradle Static Analysis Plugin
Easy setup of static analysis tools for Android and Java projects.
Stars: ✭ 398 (+39.65%)
Mutual labels:  checkstyle, findbugs, pmd
Android Starter
[Android Architecture] Android starter based on MVP/Dagger2/RxJava2/Robolectric/Espresso/Mockito. It provides a generator to fast create a Android template project.
Stars: ✭ 522 (+83.16%)
Mutual labels:  checkstyle, findbugs, pmd
Codeanalysis
Android静态代码分析
Stars: ✭ 31 (-89.12%)
Mutual labels:  checkstyle, findbugs, pmd
Kotlin Android Starter
[Kotlin Android] Kotlin Android starter based MVP/Dagger2/RxJava2/Robolectric/Espresso/Mockito. It provides a generator to fast create a Kotlin Android project.
Stars: ✭ 589 (+106.67%)
Mutual labels:  checkstyle, findbugs, pmd
Debt-Manager
A personal app to store people that owe you money or you owe money to. "Mo Money Mo Problems" 🎵 - The Notorious B.I.G. 😎
Stars: ✭ 22 (-92.28%)
Mutual labels:  findbugs, pmd, checkstyle
static-code-analysis-plugin
A plugin to simplify Static Code Analysis on Gradle. Not restricted to, but specially useful, in Android projects, by making sure all analysis can access the SDK classes.
Stars: ✭ 36 (-87.37%)
Mutual labels:  findbugs, pmd, checkstyle
Qulice
Quality Police for Java projects
Stars: ✭ 250 (-12.28%)
Mutual labels:  checkstyle, pmd
Cflint
Static code analysis for CFML (a linter)
Stars: ✭ 156 (-45.26%)
Mutual labels:  lint, findbugs
gradle-circle-style
🚀🚀🚀MOVED TO Baseline
Stars: ✭ 28 (-90.18%)
Mutual labels:  findbugs, checkstyle
qulice
Quality Police for Java projects: aggregator of Checkstyle, PMD, and SpotBugs
Stars: ✭ 286 (+0.35%)
Mutual labels:  pmd, checkstyle
ForgeModdingSkeleton
Skeletons for building Forge mods
Stars: ✭ 21 (-92.63%)
Mutual labels:  pmd, checkstyle
analysis-model
A library to read static analysis reports into a Java object model
Stars: ✭ 74 (-74.04%)
Mutual labels:  pmd, checkstyle
advanced-spring-scaffold
This project provides an advanced baseline to help you kick start a Spring project.
Stars: ✭ 21 (-92.63%)
Mutual labels:  pmd, checkstyle
spring-boot-java-swing-reservations
The project aims to present how to connect Spring Boot 2 and Java Swing GUI widget toolkit. All application dependencies are provided by Docker Compose. There are also static code analysis tools like FindBugs and Checkstyle.
Stars: ✭ 86 (-69.82%)
Mutual labels:  findbugs, checkstyle

OkCheck

Download

Incremental scan,integrate Lint、KtLint、UnitTest、Checkstyle、Findbugs、Pmd, powerful and easy to use.

中文文档

Basic Incremental Scan

  • Base on the Git version control, compare to the latest success scan => Only scan the changed module
  • Base on the local build cache => If there isn't any change compare to the last scan tasks will finish with up-to-data as far as possible

Example

How to Import

On the build.gradle at your root project:

buildscript {
    dependencies {
        classpath 'com.liulishuo.okcheck:gradle:0.2.8'
    }
}

allprojects {
    apply plugin: 'okcheck'
}

Done! Everything is ready to scan, now you can check with 6 job just run ./gradlew okcheckDebug and just see result, and all report is settle down the build/reports for the root project as default(But if you want all reports save on the origin directory, just set destination to project.buildDir).

There is Snapshot version also valid, if you want to use snapshot version, please add repository on the build.gradle:

buildscript {
  repositories {
      maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
  }
}

Task Description

When you run okcheck task, we will compile and check with all variant(As usual, there are two variant as debug and release), so, normally you just need to check with one variant to increase scan speed, such as okcheckDebug.

  • ./gradlew okcheckDebug: Run the okcheck task for the Debug build type.
  • ./gradlew cleanOkcheckDiff: Clean all cached success commit id(which is on the ~/.okcheck folder as default), since then the next time we will scan all module.
  • ./gradlew -PignoreOkcheckDiff okcheck: Run the okcheck task and ignore cached success commit id, which will raise run okcheck for whole module.
  • ./gradlew -PignoreOkCheckDiff :module1:okcheck: Run the okcheck task for the module1 and ignore its cached success commit id, which will raise run okcheck certainly even if there isn't any change compare to last success scan.

How to Customize

For the convenient, all value on the bellow is the default value as example, the follow code is write on the build.gradle at the root project.

allprojects {
    apply plugin: 'okcheck'

    okcheck {
        exclude = ['**/proto/*.java']
        destination = project.rootProject.buildDir

        unittest {
            enabled = true
        }
        lint {
            enabled = true
            exclude = ['**/proto/*.java']

        }
        ktlint {
            enabled = true
            exclude = ['**/proto/*.java']
            version = "0.22.0"
        }
        checkstyle {
            enabled = true
            exclude = ['**/proto/*.java']
            // We will use the default config build-in the okcheck
            configFile = null
        }
        findbugs {
            enabled = true
            exclude = ['**/proto/*.java']

            effort = "default"

            // Whether allow the build to continue if there are warnings
            ignoreFailures = false
            // We will use the default excludeFilter file build-in the okcheck
	    excludeFilter = null
        }
        pmd {
            enabled = true
            exclude = ['**/proto/*.java']

            // Whether allow the build to continue if there are warnings
            ignoreFailures = false
            // We will use the default ruleSetFiles build-in the okcheck
            ruleSetFiles = null
        }

        coverageReport {
            xml.enabled = false
            html.enabled = false 
            csv.enabled = false
        }
    }
}

Others

  • As you know, the first time of running okcheck will check all module as default
  • If you want to suppress some methods or lines for checkstyle task, as default build-in checkstyle config, you just need to add suppressions.xml file on your root project directory and define them on it.

Exclude

Following paths are exclude on checkstyle, findbugs, pmd as default:

**/gen/**
**/test/**
**/proto/*.java
**/protobuf/*.java
**/com/google/**/*.java

LICENSE

Copyright (c) 2018 LingoChamp Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].