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

Overview

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.
Comments
  • PMD fails on easy() configuration

    PMD fails on easy() configuration

    Using the latest plugin 1.2.3 when I configure PMD using pmd { config easy() } I get an exception:

    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':mobile:androidPmd'.
    > java.lang.IllegalArgumentException: Unable to exclude rules [UncommentedEmptyMethod]; perhaps the rule name is mispelled?
    

    Stacktrace:

    Caused by: java.lang.IllegalArgumentException: Unable to exclude rules [UncommentedEmptyMethod]; perhaps the rule name is mispelled?
            at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:116)
            at org.apache.tools.ant.Task.perform(Task.java:348)
            at org.apache.tools.ant.Task$perform.call(Unknown Source)
            at com.noveogroup.android.check.pmd.PmdCheck.performCheck(PmdCheck.groovy:60)
            at com.noveogroup.android.check.common.CommonCheck$_apply_closure2.doCall(CommonCheck.groovy:83)
            at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:554)
            at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:535)
            at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:77)
            at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:73)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
            ... 60 more
    Caused by: java.lang.IllegalArgumentException: Unable to exclude rules [UncommentedEmptyMethod]; perhaps the rule name is mispelled?
            at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:348)
            at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:289)
            at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:242)
            at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:176)
            at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:171)
            at net.sourceforge.pmd.RuleSetFactory.createRuleSets(RuleSetFactory.java:135)
            at net.sourceforge.pmd.RuleSetFactory.createRuleSets(RuleSetFactory.java:119)
            at net.sourceforge.pmd.ant.internal.PMDTaskImpl.doTask(PMDTaskImpl.java:113)
            at net.sourceforge.pmd.ant.internal.PMDTaskImpl.execute(PMDTaskImpl.java:263)
            at net.sourceforge.pmd.ant.PMDTask.execute(PMDTask.java:46)
            at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
            ... 70 more
    
    opened by Armaxis 10
  • Gradle deprecation warning for Task.leftShift()

    Gradle deprecation warning for Task.leftShift()

    Running the checks invokes a deprecation message from Gradle:

    The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.

    opened by FriedrichFroebel 4
  • Update dependencies

    Update dependencies

    This updates all Android dependencies and the Gradle wrapper to the latest version.

    It also updates pmd-java to the (now) latest version 5.5.4, superseding #19

    Please NO GitHub rebase/squash merges. If you'd like me to combine some or all of the commits, please let me know, and I will update my branch. Thank you.

    opened by friederbluemle 4
  • Update PMD plugin to resolve issue

    Update PMD plugin to resolve issue

    Hi everyone. We discovered some bugs in the previous version of the PMD tool, and we updated the version in build.gradle. The issue was fixed by PMD maintainers in the new version.

    opened by ghost 4
  • Unable to exclude rules [UncommentedEmptyMethod]

    Unable to exclude rules [UncommentedEmptyMethod]

    Hello, i created project from scratch. Configured this plugin by default and after executing i'll get following error:

    ...
    Executing findbugs FindBugsTask from ant task
    :app:androidPmd FAILED
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':app:androidPmd'.
    > java.lang.IllegalArgumentException: Unable to exclude rules [UncommentedEmptyMethod]; perhaps the rule name is mispelled?
    ...
    BUILD FAILED
    ...
    

    I use gradle 2.4, android gradle plugin 1.5.0. Found related issue here http://sourceforge.net/p/pmd/bugs/1394/

    opened by ultraon 3
  • findbugs fails

    findbugs fails

    I updated the plugin to 1.2.2 added findbugs config to the checks closure.

    findbugs {
            skip true
            abortOnError false
            config easy()
            // directory for report files
            report new File(project.buildDir, 'reports/findbugs')
            // XML report file
            reportXML new File(project.buildDir, 'reports/findbugs/findbugs.xml')
            // HTML report file
            reportHTML new File(project.buildDir, 'reports/findbugs/findbugs.html')
    }
    

    and I get the following error

    * What went wrong:
    Execution failed for task ':app:androidFindbugs'.
    > javax.xml.transform.TransformerException: javax.xml.transform.TransformerException:   com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Premature end of file.
    

    Any idea how to fix this?

    opened by aegis123 3
  • Error execution task 'androidCheckstyle'

    Error execution task 'androidCheckstyle'

    I do not understand what could be the problem ((

    Output:

    Error:Execution failed for task ':app:androidCheckstyle'.
    > Ambiguous method overloading for method java.util.jar.JarFile#<init>.
      Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
        [class java.io.File]
        [class java.lang.String]
    
    opened by johnkil 3
  • PMD: build log is getting bloated with warnings

    PMD: build log is getting bloated with warnings

    I've got a whole bunch of following messages during build: [ant:null] Removed misconfigured rule: LoosePackageCoupling cause: No packages or classes specified

    Apparently this is caused by misconfigured PMD rule, maybe due to the fact that ant property is null here.

    opened by RomanZhilich 3
  • Upgrade checkstyle?

    Upgrade checkstyle?

    CatchParameterName and SuppressionFilter are not supported in the checkstyle version declared in this project (6.10.1). https://github.com/noveogroup/android-check/blob/master/android-check-plugin/build.gradle#L10

    The latest version of checkstyle is 6.19.

    Is it possible to upgrade?

    opened by damianflannery 2
  • Change output folder reports

    Change output folder reports

    Could you change the output folder for the reports to /project/module/build/reports/{lint, checkstyle, pmd} cause no it goes to /root_project/module/build/outputs/ and the unit tests go to /project/module/build/reports/ and are automatically picked up by the gradle plugin build-dashboard

    opened by aegis123 2
  • Take config rootProject.file('config/..) into account

    Take config rootProject.file('config/..) into account

    As of now, plugin only check current project folder for available config files. It'll be nice to have one configuration for all sub projects. Ideally root and sub project configurations should be merged automatically.

    enhancement 
    opened by RomanZhilich 2
  • Move or cache the artifact out of JCenter that is going to shutdown

    Move or cache the artifact out of JCenter that is going to shutdown

    JCenter where this artifact is published is going to shutdown, would be possible to migrate the .jar to another repo?

    Actually publishing to plugins.gradle.org is very easy, not like publishing in the Maven repos where you have to complaint with a lot of requirements, like to have your own repo so the Maven repos pull the .jars from there, with the Gradle Plugins repo you only need to setup an account, add the plugin to the Gradle config and publish it with the Gradle CLI. Then projects that have Gradle 2.1+ (so, any project at this point) don't need to setup a repo to pull artifacts from there.

    opened by mrsarm 3
  • Replace Findbugs with Spotbugs?

    Replace Findbugs with Spotbugs?

    Hi there,

    one of the projects I inherited is using android-check. I recently updated all outdated dependencies and found that Findbugs will not be supported in future Gradle versions

    Since FindBugs is unmaintained and does not support bytecode compiled for Java 9 and above, the FindBugs plugin has been deprecated and is scheduled to be removed in Gradle 6.0. Please consider using the SpotBugs plugin instead.

    Source: https://docs.gradle.org/current/userguide/findbugs_plugin.html

    Are there any plans moving from Findbugs to Spotbugs in the future? Maybe we can throw together a PR for this?

    Cheers, Lukas

    opened by lksnmnn 2
  • Library updates

    Library updates

    This PR updates the used libraries to their latest version. This includes the Gradle wrapper, too.

    As both Checkstyle and PMD use SAXON in different versions now (the old Checkstyle version 7.6.1 did not use SAXON at all), this needs to be excluded for one of them to avoid conflicts. Additionally, PMD reorganized their rule handling and is going to throw a lot of warnings with old configuration files and will drop the old handling with the next major version. Therefore the included XML configuration files have been updated.

    opened by FriedrichFroebel 2
  • Task has not declared any outputs.

    Task has not declared any outputs.

    I'm getting an error where gradle is saying "Task has not declared any outputs."

    Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)

    build log:

    Tasks to be executed: [task ':app:preBuild', task ':app:preDebugBuild', task ':app:compileDebugAidl', task ':app:compileDebugRenderscript', task ':app:checkDebugManifest', task ':app:generateDebugBuildConfig', task ':app:prepareLintJar', task ':app:generateDebugResValues', task ':app:generateDebugResources', task ':app:processDebugGoogleServices', task ':app:mergeDebugResources', task ':app:createDebugCompatibleScreenManifests', task ':app:processDebugManifest', task ':app:splitsDiscoveryTaskDebug', task ':app:processDebugResources', task ':app:generateDebugSources', task ':app:javaPreCompileDebug', task ':app:compileDebugJavaWithJavac', task ':app:compileDebugNdk', task ':app:compileDebugSources', task ':app:mergeDebugShaders', task ':app:compileDebugShaders', task ':app:generateDebugAssets', task ':app:mergeDebugAssets', task ':app:transformClassesWithDexBuilderForDebug', task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug', task ':app:transformDexArchiveWithDexMergerForDebug', task ':app:mergeDebugJniLibFolders', task ':app:transformNativeLibsWithMergeJniLibsForDebug', task ':app:processDebugJavaRes', task ':app:transformResourcesWithMergeJavaResForDebug', task ':app:validateSigningDebug', task ':app:packageDebug', task ':app:assembleDebug', task ':app:preReleaseBuild', task ':app:compileReleaseAidl', task ':app:compileReleaseRenderscript', task ':app:checkReleaseManifest', task ':app:generateReleaseBuildConfig', task ':app:generateReleaseResValues', task ':app:generateReleaseResources', task ':app:processReleaseGoogleServices', task ':app:mergeReleaseResources', task ':app:createReleaseCompatibleScreenManifests', task ':app:processReleaseManifest', task ':app:splitsDiscoveryTaskRelease', task ':app:processReleaseResources', task ':app:generateReleaseSources', task ':app:javaPreCompileRelease', task ':app:compileReleaseJavaWithJavac', task ':app:compileReleaseNdk', task ':app:compileReleaseSources', task ':app:mergeReleaseShaders', task ':app:compileReleaseShaders', task ':app:generateReleaseAssets', task ':app:mergeReleaseAssets', task ':app:transformClassesWithPreDexForRelease', task ':app:transformDexWithDexForRelease', task ':app:mergeReleaseJniLibFolders', task ':app:transformNativeLibsWithMergeJniLibsForRelease', task ':app:processReleaseJavaRes', task ':app:transformResourcesWithMergeJavaResForRelease', task ':app:packageRelease', task ':app:lintVitalRelease', task ':app:assembleRelease', task ':app:assemble', task ':app:androidFindbugs']
    Creating new cache for resourceHashesCache, path /var/lib/jenkins/workspace/android_test/.gradle/4.1/fileHashes/resourceHashesCache.bin, access org.gradle.cache.internal.DefaultCacheAccess@2370a361
    Creating new cache for fileSnapshots, path /var/lib/jenkins/workspace/android_test/.gradle/4.1/taskHistory/fileSnapshots.bin, access org.gradle.cache.internal.DefaultCacheAccess@57360559
    Creating new cache for taskHistory, path /var/lib/jenkins/workspace/android_test/.gradle/4.1/taskHistory/taskHistory.bin, access org.gradle.cache.internal.DefaultCacheAccess@57360559
    :app:preBuild (Thread[Daemon worker,5,main]) started.
    :app:preBuild
    Skipping task ':app:preBuild' as it has no actions.
    :app:preBuild UP-TO-DATE
    :app:preBuild (Thread[Daemon worker,5,main]) completed. Took 0.031 secs.
    :app:preDebugBuild (Thread[Daemon worker,5,main]) started.
    :app:preDebugBuild
    Putting task artifact state for task ':app:preDebugBuild' into context took 0.008 secs.
    Creating new cache for metadata-2.23/module-artifacts, path /var/lib/jenkins/.gradle/caches/modules-2/metadata-2.23/module-artifacts.bin, access org.gradle.cache.internal.DefaultCacheAccess@64ac6f5f
    Skipping task ':app:preDebugBuild' as it is up-to-date (took 1.043 secs).
    :app:preDebugBuild UP-TO-DATE
    :app:preDebugBuild (Thread[Daemon worker,5,main]) completed. Took 1.053 secs.
    :app:compileDebugAidl (Thread[Daemon worker,5,main]) started.
    :app:compileDebugAidl
    Putting task artifact state for task ':app:compileDebugAidl' into context took 0.014 secs.
    Skipping task ':app:compileDebugAidl' as it is up-to-date (took 0.029 secs).
    :app:compileDebugAidl UP-TO-DATE
    :app:compileDebugAidl (Thread[Daemon worker,5,main]) completed. Took 0.049 secs.
    :app:compileDebugRenderscript (Thread[Daemon worker,5,main]) started.
    :app:compileDebugRenderscript
    Putting task artifact state for task ':app:compileDebugRenderscript' into context took 0.001 secs.
    Skipping task ':app:compileDebugRenderscript' as it is up-to-date (took 0.023 secs).
    :app:compileDebugRenderscript UP-TO-DATE
    :app:compileDebugRenderscript (Thread[Daemon worker,5,main]) completed. Took 0.027 secs.
    :app:checkDebugManifest (Thread[Daemon worker,5,main]) started.
    :app:checkDebugManifest
    Putting task artifact state for task ':app:checkDebugManifest' into context took 0.001 secs.
    Skipping task ':app:checkDebugManifest' as it is up-to-date (took 0.001 secs).
    :app:checkDebugManifest UP-TO-DATE
    :app:checkDebugManifest (Thread[Daemon worker,5,main]) completed. Took 0.002 secs.
    :app:generateDebugBuildConfig (Thread[Daemon worker,5,main]) started.
    :app:generateDebugBuildConfig
    Putting task artifact state for task ':app:generateDebugBuildConfig' into context took 0.001 secs.
    Skipping task ':app:generateDebugBuildConfig' as it is up-to-date (took 0.008 secs).
    :app:generateDebugBuildConfig UP-TO-DATE
    :app:generateDebugBuildConfig (Thread[Daemon worker,5,main]) completed. Took 0.01 secs.
    :app:prepareLintJar (Thread[Daemon worker,5,main]) started.
    :app:prepareLintJar
    Putting task artifact state for task ':app:prepareLintJar' into context took 0.0 secs.
    Skipping task ':app:prepareLintJar' as it is up-to-date (took 0.004 secs).
    :app:prepareLintJar UP-TO-DATE
    :app:prepareLintJar (Thread[Daemon worker,5,main]) completed. Took 0.004 secs.
    :app:generateDebugResValues (Thread[Daemon worker,5,main]) started.
    :app:generateDebugResValues
    Putting task artifact state for task ':app:generateDebugResValues' into context took 0.0 secs.
    Skipping task ':app:generateDebugResValues' as it is up-to-date (took 0.003 secs).
    :app:generateDebugResValues UP-TO-DATE
    :app:generateDebugResValues (Thread[Daemon worker,5,main]) completed. Took 0.003 secs.
    :app:generateDebugResources (Thread[Daemon worker,5,main]) started.
    :app:generateDebugResources
    Skipping task ':app:generateDebugResources' as it has no actions.
    :app:generateDebugResources UP-TO-DATE
    :app:generateDebugResources (Thread[Daemon worker,5,main]) completed. Took 0.001 secs.
    :app:processDebugGoogleServices (Thread[Daemon worker,5,main]) started.
    :app:processDebugGoogleServices
    Putting task artifact state for task ':app:processDebugGoogleServices' into context took 0.001 secs.
    Executing task ':app:processDebugGoogleServices' (up-to-date check took 0.0 secs) due to:
      Task has not declared any outputs.
    Parsing json file: /var/lib/jenkins/workspace/android_test/app/google-services.json
    :app:processDebugGoogleServices (Thread[Daemon worker,5,main]) completed. Took 0.023 secs.
    :app:mergeDebugResources (Thread[Daemon worker,5,main]) started.
    :app:mergeDebugResources
    Putting task artifact state for task ':app:mergeDebugResources' into context took 0.001 secs.
    Skipping task ':app:mergeDebugResources' as it is up-to-date (took 0.356 secs).
    :app:mergeDebugResources UP-TO-DATE
    :app:mergeDebugResources (Thread[Daemon worker,5,main]) completed. Took 0.361 secs.
    :app:createDebugCompatibleScreenManifests (Thread[Daemon worker,5,main]) started.
    :app:createDebugCompatibleScreenManifests
    Putting task artifact state for task ':app:createDebugCompatibleScreenManifests' into context took 0.001 secs.
    Skipping task ':app:createDebugCompatibleScreenManifests' as it is up-to-date (took 0.01 secs).
    :app:createDebugCompatibleScreenManifests UP-TO-DATE
    :app:createDebugCompatibleScreenManifests (Thread[Daemon worker,5,main]) completed. Took 0.011 secs.
    :app:processDebugManifest (Thread[Daemon worker,5,main]) started.
    :app:processDebugManifest
    Putting task artifact state for task ':app:processDebugManifest' into context took 0.0 secs.
    Skipping task ':app:processDebugManifest' as it is up-to-date (took 0.031 secs).
    :app:processDebugManifest UP-TO-DATE
    :app:processDebugManifest (Thread[Daemon worker,5,main]) completed. Took 0.033 secs.
    :app:splitsDiscoveryTaskDebug (Thread[Daemon worker,5,main]) started.
    :app:splitsDiscoveryTaskDebug
    Putting task artifact state for task ':app:splitsDiscoveryTaskDebug' into context took 0.001 secs.
    Skipping task ':app:splitsDiscoveryTaskDebug' as it is up-to-date (took 0.002 secs).
    :app:splitsDiscoveryTaskDebug UP-TO-DATE
    :app:splitsDiscoveryTaskDebug (Thread[Daemon worker,5,main]) completed. Took 0.003 secs.
    :app:processDebugResources (Thread[Daemon worker,5,main]) started.
    :app:processDebugResources
    Putting task artifact state for task ':app:processDebugResources' into context took 0.0 secs.
    Skipping task ':app:processDebugResources' as it is up-to-date (took 0.09 secs).
    :app:processDebugResources UP-TO-DATE
    :app:processDebugResources (Thread[Daemon worker,5,main]) completed. Took 0.092 secs.
    :app:generateDebugSources (Thread[Daemon worker,5,main]) started.
    :app:generateDebugSources
    Skipping task ':app:generateDebugSources' as it has no actions.
    :app:generateDebugSources UP-TO-DATE
    :app:generateDebugSources (Thread[Daemon worker,5,main]) completed. Took 0.0 secs.
    :app:javaPreCompileDebug (Thread[Daemon worker,5,main]) started.
    :app:javaPreCompileDebug
    Putting task artifact state for task ':app:javaPreCompileDebug' into context took 0.0 secs.
    Skipping task ':app:javaPreCompileDebug' as it is up-to-date (took 0.065 secs).
    :app:javaPreCompileDebug UP-TO-DATE
    :app:javaPreCompileDebug (Thread[Daemon worker,5,main]) completed. Took 0.066 secs.
    :app:compileDebugJavaWithJavac (Thread[Daemon worker,5,main]) started.
    :app:compileDebugJavaWithJavac
    Putting task artifact state for task ':app:compileDebugJavaWithJavac' into context took 0.004 secs.
    file or directory '/var/lib/jenkins/workspace/android_test/app/src/debug/java', not found
    Skipping task ':app:compileDebugJavaWithJavac' as it is up-to-date (took 0.071 secs).
    :app:compileDebugJavaWithJavac UP-TO-DATE
    :app:compileDebugJavaWithJavac (Thread[Daemon worker,5,main]) completed. Took 0.087 secs.
    :app:compileDebugNdk (Thread[Daemon worker,5,main]) started.
    :app:compileDebugNdk
    Putting task artifact state for task ':app:compileDebugNdk' into context took 0.0 secs.
    Skipping task ':app:compileDebugNdk' as it has no source files and no previous output files.
    :app:compileDebugNdk NO-SOURCE
    :app:compileDebugNdk (Thread[Daemon worker,5,main]) completed. Took 0.002 secs.
    :app:compileDebugSources (Thread[Daemon worker,5,main]) started.
    :app:compileDebugSources
    Skipping task ':app:compileDebugSources' as it has no actions.
    :app:compileDebugSources UP-TO-DATE
    :app:compileDebugSources (Thread[Daemon worker,5,main]) completed. Took 0.001 secs.
    :app:mergeDebugShaders (Thread[Daemon worker,5,main]) started.
    :app:mergeDebugShaders
    Putting task artifact state for task ':app:mergeDebugShaders' into context took 0.004 secs.
    Skipping task ':app:mergeDebugShaders' as it is up-to-date (took 0.009 secs).
    :app:mergeDebugShaders UP-TO-DATE
    :app:mergeDebugShaders (Thread[Daemon worker,5,main]) completed. Took 0.013 secs.
    :app:compileDebugShaders (Thread[Daemon worker,5,main]) started.
    :app:compileDebugShaders
    Putting task artifact state for task ':app:compileDebugShaders' into context took 0.001 secs.
    Skipping task ':app:compileDebugShaders' as it is up-to-date (took 0.004 secs).
    :app:compileDebugShaders UP-TO-DATE
    :app:compileDebugShaders (Thread[Daemon worker,5,main]) completed. Took 0.006 secs.
    :app:generateDebugAssets (Thread[Daemon worker,5,main]) started.
    :app:generateDebugAssets
    Skipping task ':app:generateDebugAssets' as it has no actions.
    :app:generateDebugAssets UP-TO-DATE
    :app:generateDebugAssets (Thread[Daemon worker,5,main]) completed. Took 0.0 secs.
    :app:mergeDebugAssets (Thread[Daemon worker,5,main]) started.
    :app:mergeDebugAssets
    Putting task artifact state for task ':app:mergeDebugAssets' into context took 0.008 secs.
    Skipping task ':app:mergeDebugAssets' as it is up-to-date (took 0.024 secs).
    :app:mergeDebugAssets UP-TO-DATE
    :app:mergeDebugAssets (Thread[Daemon worker,5,main]) completed. Took 0.034 secs.
    :app:transformClassesWithDexBuilderForDebug (Thread[Daemon worker,5,main]) started.
    :app:transformClassesWithDexBuilderForDebug
    Putting task artifact state for task ':app:transformClassesWithDexBuilderForDebug' into context took 0.0 secs.
    Skipping task ':app:transformClassesWithDexBuilderForDebug' as it is up-to-date (took 0.164 secs).
    :app:transformClassesWithDexBuilderForDebug UP-TO-DATE
    :app:transformClassesWithDexBuilderForDebug (Thread[Daemon worker,5,main]) completed. Took 0.165 secs.
    :app:transformDexArchiveWithExternalLibsDexMergerForDebug (Thread[Daemon worker,5,main]) started.
    :app:transformDexArchiveWithExternalLibsDexMergerForDebug
    Putting task artifact state for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug' into context took 0.0 secs.
    Skipping task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug' as it is up-to-date (took 0.021 secs).
    :app:transformDexArchiveWithExternalLibsDexMergerForDebug UP-TO-DATE
    :app:transformDexArchiveWithExternalLibsDexMergerForDebug (Thread[Daemon worker,5,main]) completed. Took 0.022 secs.
    :app:transformDexArchiveWithDexMergerForDebug (Thread[Daemon worker,5,main]) started.
    :app:transformDexArchiveWithDexMergerForDebug
    Putting task artifact state for task ':app:transformDexArchiveWithDexMergerForDebug' into context took 0.0 secs.
    Skipping task ':app:transformDexArchiveWithDexMergerForDebug' as it is up-to-date (took 0.023 secs).
    :app:transformDexArchiveWithDexMergerForDebug UP-TO-DATE
    :app:transformDexArchiveWithDexMergerForDebug (Thread[Daemon worker,5,main]) completed. Took 0.024 secs.
    :app:mergeDebugJniLibFolders (Thread[Daemon worker,5,main]) started.
    :app:mergeDebugJniLibFolders
    Putting task artifact state for task ':app:mergeDebugJniLibFolders' into context took 0.013 secs.
    Skipping task ':app:mergeDebugJniLibFolders' as it is up-to-date (took 0.004 secs).
    :app:mergeDebugJniLibFolders UP-TO-DATE
    :app:mergeDebugJniLibFolders (Thread[Daemon worker,5,main]) completed. Took 0.017 secs.
    :app:transformNativeLibsWithMergeJniLibsForDebug (Thread[Daemon worker,5,main]) started.
    :app:transformNativeLibsWithMergeJniLibsForDebug
    Putting task artifact state for task ':app:transformNativeLibsWithMergeJniLibsForDebug' into context took 0.0 secs.
    Skipping task ':app:transformNativeLibsWithMergeJniLibsForDebug' as it is up-to-date (took 0.035 secs).
    :app:transformNativeLibsWithMergeJniLibsForDebug UP-TO-DATE
    :app:transformNativeLibsWithMergeJniLibsForDebug (Thread[Daemon worker,5,main]) completed. Took 0.037 secs.
    :app:processDebugJavaRes (Thread[Daemon worker,5,main]) started.
    :app:processDebugJavaRes
    Putting task artifact state for task ':app:processDebugJavaRes' into context took 0.0 secs.
    Skipping task ':app:processDebugJavaRes' as it has no source files and no previous output files.
    :app:processDebugJavaRes NO-SOURCE
    :app:processDebugJavaRes (Thread[Daemon worker,5,main]) completed. Took 0.001 secs.
    :app:transformResourcesWithMergeJavaResForDebug (Thread[Daemon worker,5,main]) started.
    :app:transformResourcesWithMergeJavaResForDebug
    Putting task artifact state for task ':app:transformResourcesWithMergeJavaResForDebug' into context took 0.0 secs.
    Skipping task ':app:transformResourcesWithMergeJavaResForDebug' as it is up-to-date (took 0.031 secs).
    :app:transformResourcesWithMergeJavaResForDebug UP-TO-DATE
    :app:transformResourcesWithMergeJavaResForDebug (Thread[Daemon worker,5,main]) completed. Took 0.032 secs.
    :app:validateSigningDebug (Thread[Daemon worker,5,main]) started.
    :app:validateSigningDebug
    Putting task artifact state for task ':app:validateSigningDebug' into context took 0.0 secs.
    Executing task ':app:validateSigningDebug' (up-to-date check took 0.0 secs) due to:
      Task has not declared any outputs.
    :app:validateSigningDebug (Thread[Daemon worker,5,main]) completed. Took 0.033 secs.
    :app:packageDebug (Thread[Daemon worker,5,main]) started.
    :app:packageDebug
    Putting task artifact state for task ':app:packageDebug' into context took 0.002 secs.
    Skipping task ':app:packageDebug' as it is up-to-date (took 0.023 secs).
    :app:packageDebug UP-TO-DATE
    :app:packageDebug (Thread[Daemon worker,5,main]) completed. Took 0.048 secs.
    :app:assembleDebug (Thread[Daemon worker,5,main]) started.
    :app:assembleDebug
    Skipping task ':app:assembleDebug' as it has no actions.
    :app:assembleDebug UP-TO-DATE
    :app:assembleDebug (Thread[Daemon worker,5,main]) completed. Took 0.003 secs.
    :app:preReleaseBuild (Thread[Daemon worker,5,main]) started.
    :app:preReleaseBuild
    Putting task artifact state for task ':app:preReleaseBuild' into context took 0.001 secs.
    Skipping task ':app:preReleaseBuild' as it is up-to-date (took 0.055 secs).
    :app:preReleaseBuild UP-TO-DATE
    :app:preReleaseBuild (Thread[Daemon worker,5,main]) completed. Took 0.056 secs.
    :app:compileReleaseAidl (Thread[Daemon worker,5,main]) started.
    :app:compileReleaseAidl
    Putting task artifact state for task ':app:compileReleaseAidl' into context took 0.0 secs.
    Skipping task ':app:compileReleaseAidl' as it is up-to-date (took 0.008 secs).
    :app:compileReleaseAidl UP-TO-DATE
    :app:compileReleaseAidl (Thread[Daemon worker,5,main]) completed. Took 0.008 secs.
    :app:compileReleaseRenderscript (Thread[Daemon worker,5,main]) started.
    :app:compileReleaseRenderscript
    Putting task artifact state for task ':app:compileReleaseRenderscript' into context took 0.0 secs.
    Skipping task ':app:compileReleaseRenderscript' as it is up-to-date (took 0.015 secs).
    :app:compileReleaseRenderscript UP-TO-DATE
    :app:compileReleaseRenderscript (Thread[Daemon worker,5,main]) completed. Took 0.016 secs.
    :app:checkReleaseManifest (Thread[Daemon worker,5,main]) started.
    :app:checkReleaseManifest
    Putting task artifact state for task ':app:checkReleaseManifest' into context took 0.0 secs.
    Skipping task ':app:checkReleaseManifest' as it is up-to-date (took 0.003 secs).
    :app:checkReleaseManifest UP-TO-DATE
    :app:checkReleaseManifest (Thread[Daemon worker,5,main]) completed. Took 0.004 secs.
    :app:generateReleaseBuildConfig (Thread[Daemon worker,5,main]) started.
    :app:generateReleaseBuildConfig
    Putting task artifact state for task ':app:generateReleaseBuildConfig' into context took 0.0 secs.
    Skipping task ':app:generateReleaseBuildConfig' as it is up-to-date (took 0.003 secs).
    :app:generateReleaseBuildConfig UP-TO-DATE
    :app:generateReleaseBuildConfig (Thread[Daemon worker,5,main]) completed. Took 0.003 secs.
    :app:generateReleaseResValues (Thread[Daemon worker,5,main]) started.
    :app:generateReleaseResValues
    Putting task artifact state for task ':app:generateReleaseResValues' into context took 0.001 secs.
    Skipping task ':app:generateReleaseResValues' as it is up-to-date (took 0.001 secs).
    :app:generateReleaseResValues UP-TO-DATE
    :app:generateReleaseResValues (Thread[Daemon worker,5,main]) completed. Took 0.002 secs.
    :app:generateReleaseResources (Thread[Daemon worker,5,main]) started.
    :app:generateReleaseResources
    Skipping task ':app:generateReleaseResources' as it has no actions.
    :app:generateReleaseResources UP-TO-DATE
    :app:generateReleaseResources (Thread[Daemon worker,5,main]) completed. Took 0.001 secs.
    :app:processReleaseGoogleServices (Thread[Daemon worker,5,main]) started.
    :app:processReleaseGoogleServices
    Putting task artifact state for task ':app:processReleaseGoogleServices' into context took 0.0 secs.
    Executing task ':app:processReleaseGoogleServices' (up-to-date check took 0.0 secs) due to:
      Task has not declared any outputs.
    Parsing json file: /var/lib/jenkins/workspace/android_test/app/google-services.json
    :app:processReleaseGoogleServices (Thread[Daemon worker,5,main]) completed. Took 0.014 secs.
    :app:mergeReleaseResources (Thread[Daemon worker,5,main]) started.
    :app:mergeReleaseResources
    Putting task artifact state for task ':app:mergeReleaseResources' into context took 0.001 secs.
    Skipping task ':app:mergeReleaseResources' as it is up-to-date (took 0.203 secs).
    :app:mergeReleaseResources UP-TO-DATE
    :app:mergeReleaseResources (Thread[Daemon worker,5,main]) completed. Took 0.206 secs.
    :app:createReleaseCompatibleScreenManifests (Thread[Daemon worker,5,main]) started.
    :app:createReleaseCompatibleScreenManifests
    Putting task artifact state for task ':app:createReleaseCompatibleScreenManifests' into context took 0.002 secs.
    Skipping task ':app:createReleaseCompatibleScreenManifests' as it is up-to-date (took 0.005 secs).
    :app:createReleaseCompatibleScreenManifests UP-TO-DATE
    :app:createReleaseCompatibleScreenManifests (Thread[Daemon worker,5,main]) completed. Took 0.007 secs.
    :app:processReleaseManifest (Thread[Daemon worker,5,main]) started.
    :app:processReleaseManifest
    Putting task artifact state for task ':app:processReleaseManifest' into context took 0.001 secs.
    Skipping task ':app:processReleaseManifest' as it is up-to-date (took 0.012 secs).
    :app:processReleaseManifest UP-TO-DATE
    :app:processReleaseManifest (Thread[Daemon worker,5,main]) completed. Took 0.013 secs.
    :app:splitsDiscoveryTaskRelease (Thread[Daemon worker,5,main]) started.
    :app:splitsDiscoveryTaskRelease
    Putting task artifact state for task ':app:splitsDiscoveryTaskRelease' into context took 0.0 secs.
    Skipping task ':app:splitsDiscoveryTaskRelease' as it is up-to-date (took 0.003 secs).
    :app:splitsDiscoveryTaskRelease UP-TO-DATE
    :app:splitsDiscoveryTaskRelease (Thread[Daemon worker,5,main]) completed. Took 0.003 secs.
    :app:processReleaseResources (Thread[Daemon worker,5,main]) started.
    :app:processReleaseResources
    Putting task artifact state for task ':app:processReleaseResources' into context took 0.01 secs.
    Skipping task ':app:processReleaseResources' as it is up-to-date (took 0.051 secs).
    :app:processReleaseResources UP-TO-DATE
    :app:processReleaseResources (Thread[Daemon worker,5,main]) completed. Took 0.063 secs.
    :app:generateReleaseSources (Thread[Daemon worker,5,main]) started.
    :app:generateReleaseSources
    Skipping task ':app:generateReleaseSources' as it has no actions.
    :app:generateReleaseSources UP-TO-DATE
    :app:generateReleaseSources (Thread[Daemon worker,5,main]) completed. Took 0.0 secs.
    :app:javaPreCompileRelease (Thread[Daemon worker,5,main]) started.
    :app:javaPreCompileRelease
    Putting task artifact state for task ':app:javaPreCompileRelease' into context took 0.0 secs.
    Skipping task ':app:javaPreCompileRelease' as it is up-to-date (took 0.02 secs).
    :app:javaPreCompileRelease UP-TO-DATE
    :app:javaPreCompileRelease (Thread[Daemon worker,5,main]) completed. Took 0.02 secs.
    :app:compileReleaseJavaWithJavac (Thread[Daemon worker,5,main]) started.
    :app:compileReleaseJavaWithJavac
    Putting task artifact state for task ':app:compileReleaseJavaWithJavac' into context took 0.001 secs.
    file or directory '/var/lib/jenkins/workspace/android_test/app/src/release/java', not found
    Skipping task ':app:compileReleaseJavaWithJavac' as it is up-to-date (took 0.099 secs).
    :app:compileReleaseJavaWithJavac UP-TO-DATE
    :app:compileReleaseJavaWithJavac (Thread[Daemon worker,5,main]) completed. Took 0.104 secs.
    :app:compileReleaseNdk (Thread[Daemon worker,5,main]) started.
    :app:compileReleaseNdk
    Putting task artifact state for task ':app:compileReleaseNdk' into context took 0.0 secs.
    Skipping task ':app:compileReleaseNdk' as it has no source files and no previous output files.
    :app:compileReleaseNdk NO-SOURCE
    :app:compileReleaseNdk (Thread[Daemon worker,5,main]) completed. Took 0.001 secs.
    :app:compileReleaseSources (Thread[Daemon worker,5,main]) started.
    :app:compileReleaseSources
    Skipping task ':app:compileReleaseSources' as it has no actions.
    :app:compileReleaseSources UP-TO-DATE
    :app:compileReleaseSources (Thread[Daemon worker,5,main]) completed. Took 0.0 secs.
    :app:mergeReleaseShaders (Thread[Daemon worker,5,main]) started.
    :app:mergeReleaseShaders
    Putting task artifact state for task ':app:mergeReleaseShaders' into context took 0.013 secs.
    Skipping task ':app:mergeReleaseShaders' as it is up-to-date (took 0.005 secs).
    :app:mergeReleaseShaders UP-TO-DATE
    :app:mergeReleaseShaders (Thread[Daemon worker,5,main]) completed. Took 0.018 secs.
    :app:compileReleaseShaders (Thread[Daemon worker,5,main]) started.
    :app:compileReleaseShaders
    Putting task artifact state for task ':app:compileReleaseShaders' into context took 0.0 secs.
    Skipping task ':app:compileReleaseShaders' as it is up-to-date (took 0.004 secs).
    :app:compileReleaseShaders UP-TO-DATE
    :app:compileReleaseShaders (Thread[Daemon worker,5,main]) completed. Took 0.004 secs.
    :app:generateReleaseAssets (Thread[Daemon worker,5,main]) started.
    :app:generateReleaseAssets
    Skipping task ':app:generateReleaseAssets' as it has no actions.
    :app:generateReleaseAssets UP-TO-DATE
    :app:generateReleaseAssets (Thread[Daemon worker,5,main]) completed. Took 0.006 secs.
    :app:mergeReleaseAssets (Thread[Daemon worker,5,main]) started.
    :app:mergeReleaseAssets
    Putting task artifact state for task ':app:mergeReleaseAssets' into context took 0.0 secs.
    Skipping task ':app:mergeReleaseAssets' as it is up-to-date (took 0.018 secs).
    :app:mergeReleaseAssets UP-TO-DATE
    :app:mergeReleaseAssets (Thread[Daemon worker,5,main]) completed. Took 0.019 secs.
    :app:transformClassesWithPreDexForRelease (Thread[Daemon worker,5,main]) started.
    :app:transformClassesWithPreDexForRelease
    Putting task artifact state for task ':app:transformClassesWithPreDexForRelease' into context took 0.0 secs.
    Skipping task ':app:transformClassesWithPreDexForRelease' as it is up-to-date (took 0.037 secs).
    :app:transformClassesWithPreDexForRelease UP-TO-DATE
    :app:transformClassesWithPreDexForRelease (Thread[Daemon worker,5,main]) completed. Took 0.037 secs.
    :app:transformDexWithDexForRelease (Thread[Daemon worker,5,main]) started.
    :app:transformDexWithDexForRelease
    Putting task artifact state for task ':app:transformDexWithDexForRelease' into context took 0.0 secs.
    Skipping task ':app:transformDexWithDexForRelease' as it is up-to-date (took 0.016 secs).
    :app:transformDexWithDexForRelease UP-TO-DATE
    :app:transformDexWithDexForRelease (Thread[Daemon worker,5,main]) completed. Took 0.019 secs.
    :app:mergeReleaseJniLibFolders (Thread[Daemon worker,5,main]) started.
    :app:mergeReleaseJniLibFolders
    Putting task artifact state for task ':app:mergeReleaseJniLibFolders' into context took 0.003 secs.
    Skipping task ':app:mergeReleaseJniLibFolders' as it is up-to-date (took 0.009 secs).
    :app:mergeReleaseJniLibFolders UP-TO-DATE
    :app:mergeReleaseJniLibFolders (Thread[Daemon worker,5,main]) completed. Took 0.012 secs.
    :app:transformNativeLibsWithMergeJniLibsForRelease (Thread[Daemon worker,5,main]) started.
    :app:transformNativeLibsWithMergeJniLibsForRelease
    Putting task artifact state for task ':app:transformNativeLibsWithMergeJniLibsForRelease' into context took 0.0 secs.
    Skipping task ':app:transformNativeLibsWithMergeJniLibsForRelease' as it is up-to-date (took 0.03 secs).
    :app:transformNativeLibsWithMergeJniLibsForRelease UP-TO-DATE
    :app:transformNativeLibsWithMergeJniLibsForRelease (Thread[Daemon worker,5,main]) completed. Took 0.032 secs.
    :app:processReleaseJavaRes (Thread[Daemon worker,5,main]) started.
    :app:processReleaseJavaRes
    Putting task artifact state for task ':app:processReleaseJavaRes' into context took 0.0 secs.
    Skipping task ':app:processReleaseJavaRes' as it has no source files and no previous output files.
    :app:processReleaseJavaRes NO-SOURCE
    :app:processReleaseJavaRes (Thread[Daemon worker,5,main]) completed. Took 0.0 secs.
    :app:transformResourcesWithMergeJavaResForRelease (Thread[Daemon worker,5,main]) started.
    :app:transformResourcesWithMergeJavaResForRelease
    Putting task artifact state for task ':app:transformResourcesWithMergeJavaResForRelease' into context took 0.0 secs.
    Skipping task ':app:transformResourcesWithMergeJavaResForRelease' as it is up-to-date (took 0.038 secs).
    :app:transformResourcesWithMergeJavaResForRelease UP-TO-DATE
    :app:transformResourcesWithMergeJavaResForRelease (Thread[Daemon worker,5,main]) completed. Took 0.041 secs.
    :app:packageRelease (Thread[Daemon worker,5,main]) started.
    :app:packageRelease
    Putting task artifact state for task ':app:packageRelease' into context took 0.001 secs.
    Skipping task ':app:packageRelease' as it is up-to-date (took 0.016 secs).
    :app:packageRelease UP-TO-DATE
    :app:packageRelease (Thread[Daemon worker,5,main]) completed. Took 0.024 secs.
    :app:lintVitalRelease (Thread[Daemon worker,5,main]) started.
    :app:lintVitalRelease
    Putting task artifact state for task ':app:lintVitalRelease' into context took 0.0 secs.
    Executing task ':app:lintVitalRelease' (up-to-date check took 0.0 secs) due to:
      Task has not declared any outputs.
    The message received from the daemon indicates that the daemon has disappeared.
    Build request sent: Build{id=eff99c46-6256-41c4-a43b-a01bcb5e87da.1, currentDir=/var/lib/jenkins/workspace/android_test}
    Attempting to read last messages from the daemon log...
    Daemon pid: 18500
      log file: /var/lib/jenkins/.gradle/daemon/4.1/daemon-18500.out.log
    ----- Last  20 lines from daemon log file - daemon-18500.out.log -----
    Skipping task ':app:processReleaseJavaRes' as it has no source files and no previous output files.
    :app:processReleaseJavaRes NO-SOURCE
    :app:processReleaseJavaRes (Thread[Daemon worker,5,main]) completed. Took 0.0 secs.
    :app:transformResourcesWithMergeJavaResForRelease (Thread[Daemon worker,5,main]) started.
    :app:transformResourcesWithMergeJavaResForRelease
    Putting task artifact state for task ':app:transformResourcesWithMergeJavaResForRelease' into context took 0.0 secs.
    Skipping task ':app:transformResourcesWithMergeJavaResForRelease' as it is up-to-date (took 0.038 secs).
    :app:transformResourcesWithMergeJavaResForRelease UP-TO-DATE
    :app:transformResourcesWithMergeJavaResForRelease (Thread[Daemon worker,5,main]) completed. Took 0.041 secs.
    :app:packageRelease (Thread[Daemon worker,5,main]) started.
    :app:packageRelease
    Putting task artifact state for task ':app:packageRelease' into context took 0.001 secs.
    Skipping task ':app:packageRelease' as it is up-to-date (took 0.016 secs).
    :app:packageRelease UP-TO-DATE
    :app:packageRelease (Thread[Daemon worker,5,main]) completed. Took 0.024 secs.
    :app:lintVitalRelease (Thread[Daemon worker,5,main]) started.
    :app:lintVitalRelease
    Putting task artifact state for task ':app:lintVitalRelease' into context took 0.0 secs.
    Executing task ':app:lintVitalRelease' (up-to-date check took 0.0 secs) due to:
      Task has not declared any outputs.
    ----- End of the daemon log -----
    
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.
    
    * Get more help at https://help.gradle.org
    

    what can i do?

    opened by BryanEggels 1
  • Explanations in Pmd report lead to 404 - Not Found

    Explanations in Pmd report lead to 404 - Not Found

    Hi, Pmd was updated to version 6.1.+, as a consequence when you click for more details in the generated android Pmd report it takes you to 404 - Not Found. Can you please fix it or give me some guidance on where to look and I will do it myself.

    Thank you

    opened by freemimp 2
  • Run check only for a specified product flavor and/or build type

    Run check only for a specified product flavor and/or build type

    If you invoke ./gradlew checkDebug instead of ./gradlew check, something is done but this is not android-check. You must invoke check alone to have reports generated -- it would be great to be able to specify a flavor or/and build type eg. ./gradlew checkFreeRelease.

    opened by bagage 0
Owner
Noveo Group
Noveo Group
An extensible multilanguage static code analyzer.

PMD - source code analyzer PMD is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks, unnecessary obj

PMD 4.1k Dec 29, 2022
A static analyzer for Java, C, C++, and Objective-C

Infer Infer is a static analysis tool for Java, C++, Objective-C, and C. Infer is written in OCaml. Installation Read our Getting Started page for det

Meta 13.7k Jan 1, 2023
Django application that performs SAST and Malware Analysis for Android APKs

Mobile Audit MobileAudit - SAST and Malware Analysis for Android Mobile APKs Components Docker Base images Main features Patterns Integrations Install

Mónica Pastor 159 Dec 26, 2022
A project that helps us generate the test project to test the Gradle plugin.

Ktlint Gradle Provides the function to generate a Gradle project for us to test your Gradle plugin Latest plugin version: [1.0.0] Table of content How

Jack Chen 5 Jul 20, 2022
A simple plugin to patch the memory leak in Kotlin Gradle Plugin 1.5.0

kgp-150-leak-patcher A simple plugin to automatically patch the memory leak in Kotlin Gradle Plugin 1.5.0 in https://youtrack.jetbrains.com/issue/KT-4

Zac Sweers 40 Dec 20, 2021
Plugin and Desktop app for parsing layout xml into Composable code

composed-xml Inspired by - Recompose composed-xml is a tool for parsing Android layouts into Jetpack Compose code. It can work as both Desktop app or

Bacho Kurtanidze 9 Dec 26, 2022
A Gradle plugin providing various utility methods and common code required to set up multi-version Minecraft mods.

Essential Gradle Toolkit A Gradle plugin providing various utility methods and common code required to set up multi-version Minecraft mods via archite

Essential 29 Nov 1, 2022
Advent of Code 2021 in Kotlin, solved by myself. Focus on code readability. With GitHub Actions all puzzles are executed and their solutions printed

Advent of Code 2021 in Kotlin Focus on Code Readability. With CI Solution Printing. Welcome to the Advent of Code1 Kotlin project created by michaeltr

Michael Troger 1 Dec 12, 2021
A simple starter project for Minecraft Spigot Plugin using KotlinBukkitAPI.

KBAPI-StarterProject A simple starter project for Minecraft Spigot Plugin using KotlinBukkitAPI. The starter comes with the following KotlinBukkitAPI

null 0 Nov 2, 2021
Basic-Android-Project - A Basic Android Project with proper structure and all necessary dependencies

Basic-Android-Project A Basic Android Project with proper structure and all nece

Ameer Hamza 2 Mar 18, 2022
sample project that shows you how you can use Ktor to creat a server for real Project.

Ktor-Sample This is a sample project that shows you how you can use Ktor to creat a server for real Project. What is done Save data to database (Get a

Mohamed Emad 4 Dec 23, 2022
Event State Processor Generator plugin is compatible with IntelliJ and Android Studio.

Event State Processor Generator plugin is compatible with IntelliJ and Android Studio. It provides source code generation for the EventStateProcessor Library to increase code productivity in Flutter apps development.

Extreme Vietnam Public 2 Dec 7, 2021
KSP extension for the kotlin-maven-plugin

kotlin-maven-symbol-processing Extension for the kotlin-maven-plugin to support Kotlin Symbol Processing (KSP). Usage To use this extension, add the d

Dyescape 19 Dec 18, 2022
Firebase Authentication plugin for Ktor framework.

Firebase Authentication is a Ktor plugin which verifies requests authorized by a Firebase Auth Id Token.

Manav Tamboli 2 Jul 16, 2022
Gradle plugin to manage tests which should only run nightly and not every time a CI/CD pipeline builds.

NightlyTestsPlugin Gradle Plugin to configure which (j)Unit tests should only be run nightly and not everytime a CI/CD pipeline is triggered. Usage To

VISUS Health IT GmbH 0 Dec 7, 2021
Plugin to integrate EventStoreDB into Ktor-Server!

Ktor Plugin EventStoreDB EventStoreDB is an open-source database technology that stores your critical data in streams of immutable events. It was buil

null 7 Sep 1, 2022
Kotlin compiler plugin that allows class delegation to be dynamic like property delegations

kotlin-dynamic-delegation Kotlin compiler plugin that allows class delegation to be dynamic like property delegations. The plugin is working in progre

Him188 14 Sep 8, 2022
A multiversion gradle scala plugin

WIP Work in Progress: Learning how to write a gradle plugin. A Scala multiversion plugin Inspired by: https://github.com/ADTRAN/gradle-scala-multivers

Ross Lawley 1 Dec 8, 2021