Compare commits

...

6 Commits

Author SHA1 Message Date
Maksim Pozdeev 4301c79e8c Updated detekt version and config 2022-07-11 11:17:35 +04:00
kostikum 67c2f87567
Merge pull request #283 from TouchInstinct/build_scripts_ubrr_android/fix_task_list_for_android_linter
fix correct task search for android linter
2021-10-28 16:08:15 +07:00
Konstantin Kuzhim 2a8093a96b fix correct task search for android linter 2021-10-27 23:19:26 +07:00
sysoevi cbef9230ce
Merge pull request #262 from TouchInstinct/static_analysis/disable_cpd
Build script ubrr android/disable cpd
2021-05-19 16:29:23 +04:00
Igor Sysoev ac24ca6340 added todo to createLinters() method in StaticAnalysisAndroidPlugin 2021-05-19 16:28:23 +04:00
Igor Sysoev 2996e2674e removed cpd 2021-05-19 15:59:29 +04:00
5 changed files with 20 additions and 16 deletions

View File

@ -7,7 +7,7 @@ plugins {
// The kotlin-dsl plugin requires a repository to be declared
repositories {
jcenter()
mavenCentral()
google()
}
@ -15,7 +15,7 @@ dependencies {
// android gradle plugin, required by custom plugin
implementation("com.android.tools.build:gradle:4.0.1")
implementation("io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.10.0")
implementation("io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.19.0")
implementation("de.aaschmid:gradle-cpd-plugin:3.1")
// kotlin plugin, required by custom plugin

View File

@ -62,7 +62,11 @@ class AndroidLinter : Linter {
.mapNotNull { subproject: Project ->
subproject
.tasks
.find { task -> task.name.contains(buildType, ignoreCase = true) && task.name.contains("lint") }
.find { task ->
task.name.contains(buildType, ignoreCase = true)
&& task.name.contains("lint")
&& !task.name.contains("lintVital")
}
?.path
}
}

View File

@ -43,11 +43,11 @@ class DetektLinter : Linter {
config.setFrom(project.files("${extension.buildScriptDir!!}/static_analysis_configs/detekt-config.yml"))
reports {
txt.enabled = false
html.enabled = false
txt.required.set(false)
html.required.set(false)
xml {
enabled = true
destination = project.getDetektReportFile()
required.set(true)
outputLocation.set(project.getDetektReportFile())
}
}

View File

@ -4,9 +4,9 @@ import com.android.build.gradle.AppExtension
import org.gradle.api.Project
import org.gradle.kotlin.dsl.getByType
import static_analysis.linters.AndroidLinter
import static_analysis.linters.CpdLinter
import static_analysis.linters.DetektLinter
import static_analysis.linters.Linter
import java.util.Locale
class StaticAnalysisAndroidPlugin : StaticAnalysisPlugin() {
@ -17,26 +17,25 @@ class StaticAnalysisAndroidPlugin : StaticAnalysisPlugin() {
extensions.getByType<AppExtension>().apply {
applicationVariants.forEach { variant ->
project.tasks.register("staticAnalysis${variant.name.capitalize()}") {
setupStaticAnalysisTask(linters, variant.name)
setupStaticAnalysisTask(linters, variant.name)
}
}
project.tasks.register("staticAnalysis") {
setupStaticAnalysisTask(
linters = linters,
buildVariant = applicationVariants.first { it.name.contains("Debug") }.name
buildVariant = applicationVariants.first { it.name.toLowerCase(Locale.ROOT).contains("debug") }.name
)
}
}
}
}
}
//TODO: return CpdLinter after finding better way to disable it
override fun createLinters(): List<Linter> = listOf(
DetektLinter(),
CpdLinter(),
AndroidLinter()
)

View File

@ -73,7 +73,8 @@ complexity:
threshold: 40
LongParameterList:
active: true
threshold: 10
functionThreshold: 10
constructorThreshold: 10
ignoreDefaultParameters: false
MethodOverloading:
active: false
@ -268,7 +269,7 @@ potential-bugs:
active: false
LateinitUsage:
active: false
excludeAnnotatedProperties: ""
ignoreAnnotated: []
ignoreOnClassesPattern: ""
UnconditionalJumpStatementInLoop:
active: false
@ -369,7 +370,7 @@ style:
active: true
UnnecessaryAbstractClass:
active: false
excludeAnnotatedClasses: "dagger.Module"
ignoreAnnotated: ["dagger.Module"]
UnnecessaryApply:
active: true
UnnecessaryInheritance:
@ -389,7 +390,7 @@ style:
allowedNames: "(_|ignored|expected|serialVersionUID)"
UseDataClass:
active: true
excludeAnnotatedClasses: ""
ignoreAnnotated: []
UtilityClassWithPublicConstructor:
active: false
VarCouldBeVal: