Compare commits

...

11 Commits

Author SHA1 Message Date
rybakoff888ilia@gmail.com 2ed96dbc55 Merge branch 'refs/heads/dev-mir-stash' into feature/MIR-6740-nexus 2024-07-09 18:05:15 +03:00
rybakoff888ilia@gmail.com 70928797a8 fix 2024-06-27 01:06:21 +03:00
rybakoff888ilia@gmail.com a0d8946530 change repos to nspk 2024-05-13 18:18:24 +03:00
Bogdan Terehov 0a1180d114 feature MIR-6740: [Android] Добавление поддержки Android 14
migrate to gradle 8.0
2023-12-27 23:35:42 +03:00
Bogdan Terehov 1794e7c08e update static plugin 2023-09-08 05:27:36 +03:00
Bogdan Terehov 8f49fe3ef7 fix: setupStaticAnalysisTask 2023-09-05 05:07:28 +03:00
Dmitry Yurchenko 28c4106c87 update generator version 2023-03-13 13:03:42 +03:00
Dmitry Yurchenko 8ea8c71c83 Merge branch 'master' into mir-dev 2023-03-13 13:02:30 +03:00
Anadol 60d9cfc303 add proguard rules (huawei.pro) 2022-10-25 01:05:27 +03:00
styni 97de2ee024
Merge pull request #326 from TouchInstinct/fix/update-static-for-mir-build
Update static for mir builds
2022-09-22 14:32:04 +03:00
Dmitry Yurchenko e94916a858 update static for mir builds 2022-09-22 11:15:17 +03:00
11 changed files with 54 additions and 20 deletions

View File

@ -7,8 +7,7 @@ plugins {
// The kotlin-dsl plugin requires a repository to be declared
repositories {
mavenCentral()
google()
maven ("https://nexus.mir/repository/maven-proxy-group/")
}
dependencies {
@ -27,7 +26,7 @@ dependencies {
val compileKotlin: KotlinCompile by tasks
compileKotlin.kotlinOptions {
jvmTarget = "1.8"
jvmTarget = "17"
}
gradlePlugin {

View File

@ -0,0 +1,7 @@
pluginManagement {
repositories {
maven {
url = uri("https://nexus.mir/repository/maven-proxy-group/")
}
}
}

View File

@ -19,7 +19,7 @@ abstract class ApiGeneratorPlugin : Plugin<Project> {
with(target) {
repositories {
maven {
url = uri("https://maven.dev.touchin.ru")
url = uri("https://nexus.mir/repository/maven-proxy-group/")
metadataSources {
artifact()
}
@ -52,7 +52,7 @@ abstract class ApiGeneratorPlugin : Plugin<Project> {
val outputLanguage = extension.outputLanguage ?: throw IllegalStateException("Configure output language code for api generator plugin")
javaexec {
main = "-jar"
setMain("-jar")
workingDir = rootDir
args = listOfNotNull(
configurations.getByName("apiGenerator").asPath,

View File

@ -14,9 +14,9 @@ class SwaggerApiGeneratorAndroidPlugin : Plugin<Project> {
const val GENERATOR_CONFIG = "swaggerCodegen"
const val GENERATOR_VERSION = "3.0.34"
const val TI_GENERATOR_CONFIG = "TIKotlin-swagger-codegen"
const val TI_GENERATOR_VERSION = "1.0.0"
const val TI_GENERATOR_VERSION = "1.0.1"
const val GENERATOR_EXT_NAME = "swaggerApiGenerator"
const val MAVEN_URL = "https://maven.dev.touchin.ru"
const val MAVEN_URL = "https://nexus.mir/repository/maven-proxy-group/"
}
override fun apply(target: Project) {
@ -63,7 +63,7 @@ class SwaggerApiGeneratorAndroidPlugin : Plugin<Project> {
workingDir = file(taskWorkingDir)
classpath = files(configurations.getByName(GENERATOR_CONFIG).asPath,
configurations.getByName(TI_GENERATOR_CONFIG).asPath)
main = "io.swagger.codegen.v3.cli.SwaggerCodegen"
setMain("io.swagger.codegen.v3.cli.SwaggerCodegen")
args = listOfNotNull(
"generate",
"-i",

View File

@ -42,7 +42,7 @@ class CpdLinter : Linter {
}
tasks.withType<Cpd> {
reports.xml.required.set(true)
reports.xml.destination = getCpdReportFile()
reports.xml.setDestination(getCpdReportFile())
ignoreFailures = true
source = getSources(extension.excludes)
}

View File

@ -24,7 +24,9 @@ class StaticAnalysisAndroidPlugin : StaticAnalysisPlugin() {
project.tasks.register("staticAnalysis") {
setupStaticAnalysisTask(
linters = linters,
buildVariant = applicationVariants.first { it.name.contains("Debug") }.name
buildVariant = applicationVariants
.map { it.name.toLowerCase() }
.first { it.contains("debug") }
)
}
}
@ -32,10 +34,14 @@ class StaticAnalysisAndroidPlugin : StaticAnalysisPlugin() {
}
}
override fun createLinters(): List<Linter> = listOf(
DetektLinter(),
CpdLinter(),
override fun createLinters(extension: StaticAnalysisExtension): List<Linter> = mutableListOf<Linter>().apply {
add(DetektLinter())
if (extension.isCpdLinterEnabled) {
CpdLinter()
}
if (extension.isAndroidLinterEnabled) {
AndroidLinter()
)
}
}
}

View File

@ -13,7 +13,7 @@ class StaticAnalysisBackendPlugin : StaticAnalysisPlugin() {
}
}
override fun createLinters(): List<Linter> = listOf(
override fun createLinters(extension: StaticAnalysisExtension): List<Linter> = listOf(
CpdLinter(),
DetektLinter()
)

View File

@ -2,5 +2,7 @@ package static_analysis.plugins
open class StaticAnalysisExtension(
var excludes: String = "",
var buildScriptDir: String? = null
var buildScriptDir: String? = null,
var isCpdLinterEnabled: Boolean = true,
var isAndroidLinterEnabled: Boolean = false,
)

View File

@ -1,5 +1,6 @@
package static_analysis.plugins
import org.gradle.api.Action
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.Task
@ -24,9 +25,10 @@ abstract class StaticAnalysisPlugin : Plugin<Project> {
extensions.create<StaticAnalysisExtension>(STATIC_ANALYSIS_EXT_NAME)
val linters = createLinters()
val initData: StaticAnalysisExtension = extensions.getByType()
val linters = createLinters(initData)
linters.forEach { it.setupForProject(target, extensions.getByType()) }
linters.forEach { it.setupForProject(target, initData) }
gradle.projectsEvaluated {
createStaticAnalysisTasks(target, linters)
@ -39,7 +41,10 @@ abstract class StaticAnalysisPlugin : Plugin<Project> {
dependsOn(*(linters.map { it.getTaskNames(project, buildVariant) }.flatten().toTypedArray()))
}
abstract fun createLinters(): List<Linter>
abstract fun createLinters(extension: StaticAnalysisExtension): List<Linter>
abstract fun createStaticAnalysisTasks(project: Project, linters: List<Linter>)
fun Project.staticAnalysis(configure: Action<StaticAnalysisExtension>): Unit =
(this as org.gradle.api.plugins.ExtensionAware).extensions.configure(STATIC_ANALYSIS_EXT_NAME, configure)
}

15
proguard/rules/huawei.pro Normal file
View File

@ -0,0 +1,15 @@
# https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/appgallerykit-getting-started-0000001055756858#section1448912915419
-ignorewarnings
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-keep class com.huawei.hianalytics.**{*;}
-keep class com.huawei.updatesdk.**{*;}
-keep class com.huawei.hms.**{*;}
-keep interface com.huawei.hms.analytics.type.HAEventType{*;}
-keep interface com.huawei.hms.analytics.type.HAParamType{*;}
-keep class com.huawei.hms.analytics.HiAnalyticsInstance{*;}
-keep class com.huawei.hms.analytics.HiAnalytics{*;}

View File

@ -64,7 +64,7 @@ complexity:
ignoreSingleWhenExpression: true
ignoreSimpleWhenEntries: true
LabeledExpression:
active: true
active: false
LargeClass:
active: true
threshold: 800