• Stars
    star
    267
  • Rank 148,016 (Top 4 %)
  • Language
    Groovy
  • License
    Other
  • Created over 9 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Static code analysis plugin for Android project. (Checkstyle, PMD)

Android Check

Android Arsenal

Static code analysis plugin for Android project.

Usage

Modifications in <project_dir>/build.gradle:

buildscript {
    repositories { jcenter() }
    dependencies {
        ...
        classpath 'com.noveogroup.android:check:1.2.5'
        ...
    }
}

Modifications in <project_dir>/<module_name>/build.gradle:

apply plugin: 'com.noveogroup.android.check'

Configuration

Recommended

Recommended configuration is a default one (empty).

// no configuration

Hardcore

check {
  abortOnError true
  checkstyle { config hard() }
  findbugs { config hard() }
  pmd { config hard() }
}

Skip checking

check { skip true }

Skip Checkstyle only

check { checkstyle { skip true } }

Skip FindBugs only

check { findbugs { skip true } }

Skip PMD only

check { pmd { skip true } }

Description

// configuration is optional
check {
  // skip source code checking or not, false by default
  skip true/false
  // fails build if code style violation is found, false by default
  abortOnError true/false
  // configuration of Checkstyle checker
  checkstyle {
    // skip Checkstyle, false by default
    skip true/false

    // fails build if Checkstyle rule violation is found, false by default
    abortOnError true/false

    // configuration file
    config project.file('path/to/checkstyle.xml')
    // configuration resource
    // see http://gradle.org/docs/2.2/release-notes#sharing-configuration-files-across-builds
    config resources.text.fromFile(someTask)
    // configuration path
    config 'path/to/checkstyle.xml'
    // predefined configurations: easy and hard
    config easy()
    config hard()
    // by default plugin finds configuration file in <rootProject>/config/checkstyle.xml,
    // after that in <project>/config/checkstyle.xml and if there are no configuration
    // file, easy() configuration will be used.

    // directory for report files
    report new File(project.buildDir, 'reports/pmd')
    // XML report file
    reportXML new File(project.buildDir, 'reports/checkstyle/checkstyle.xml')
    // HTML report file
    reportHTML new File(project.buildDir, 'reports/checkstyle/checkstyle.html')
  }
  // configuration of FindBugs checker
  findbugs {
    // the same configuration as for Checkstyle

    // by default plugin finds configuration file in <rootProject>/config/findbugs.xml,
    // after that in <project>/config/findbugs.xml and if there are no configuration
    // file, easy() configuration will be used.
  }
  // configuration of PMD checker
  pmd {
    // the same configuration as for Checkstyle

    // by default plugin finds configuration file in <rootProject>/config/pmd.xml,
    // after that in <project>/config/pmd.xml and if there are no configuration
    // file, easy() configuration will be used.
  }
}

Developed By

License

Copyright (c) 2017 Noveo Group

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

Except as contained in this notice, the name(s) of the above copyright holders
shall not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

More Repositories

1

backbone.iobind

Bind socket.io events to backbone models & collections. Also includes a drop-in replacement for Backbone.sync using socket.io.
JavaScript
582
star
2

android-logger

Useful logger for Android based on standard android.util.Log class. Simple lightweight (< 50 Kb) implementation of SLF4J API. Easy but powerful configuration via properties file and some additional helpful logging methods. Easy analogue of popular log4j library.
Java
224
star
3

Highlightify

Add pressed state to text color and drawables from runtime
XSLT
29
star
4

rxpy-example

Демо-проект RSS-агрегатора
Python
27
star
5

gulp-spritegen

gulp-spritegen generates sprites for different densities (iPhone 6+)
JavaScript
22
star
6

android-project-example

Example of Android project. Keywords: Gradle, signing, keystore, JNI, Android NDK, Checkstyle, FindBugs, PMD.
Java
11
star
7

honeycombs

State manager with built-in side-effects
JavaScript
5
star
8

clap

TODO: write description
Java
4
star
9

university-android-presentations

HTML
4
star
10

nhaystack

Improvements, optimizations and back-ports for Haystack (with Elastic biases).
Python
4
star
11

NOAPIController

API controller with JSON to Objective-C objects mapping.
Objective-C
4
star
12

android-cache-manager

TODO: write a description
3
star
13

java-bean-helper

TODO write a description
Java
3
star
14

BLE-HRM-iOS-Demo

Simple app that demonstrates usage of BLE stack on iOS.
Objective-C
2
star
15

vue-update-watcher

JavaScript
1
star
16

android-snitch

Java
1
star
17

ios-nui

Objective-C
1
star
18

task-executor

Simple asynchronous (background) task executor for Java.
Java
1
star
19

university-android-task7

Android database task
Java
1
star
20

hibernate-envers-legacy

Java
1
star
21

university-android-task3

Java
1
star
22

release-watcher

JavaScript
1
star
23

draft-android-database-helper

Java
1
star
24

ios-aux

Auxiliary functions for iOS developers
Objective-C
1
star
25

rpc

Remote procedure call library for node.js and browser/react-native which works in both sides and allows to execute methods on the client and the server sides.
TypeScript
1
star