mirror of
https://github.com/tachiyomiorg/tachiyomi.git
synced 2024-12-23 18:51:51 +01:00
Adding kotlinter
This commit is contained in:
parent
82660c4058
commit
7914b26488
@ -264,8 +264,32 @@ dependencies {
|
|||||||
implementation("org.conscrypt:conscrypt-android:2.4.0")
|
implementation("org.conscrypt:conscrypt-android:2.4.0")
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.preBuild {
|
|
||||||
dependsOn(tasks.ktlintFormat)
|
|
||||||
|
tasks {
|
||||||
|
// See https://kotlinlang.org/docs/reference/experimental.html#experimental-status-of-experimental-api(-markers)
|
||||||
|
withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
|
||||||
|
kotlinOptions.freeCompilerArgs += listOf(
|
||||||
|
"-Xopt-in=kotlin.Experimental",
|
||||||
|
"-Xopt-in=kotlin.RequiresOptIn",
|
||||||
|
"-Xuse-experimental=kotlin.ExperimentalStdlibApi",
|
||||||
|
"-Xuse-experimental=kotlinx.coroutines.FlowPreview",
|
||||||
|
"-Xuse-experimental=kotlinx.coroutines.ExperimentalCoroutinesApi",
|
||||||
|
"-Xuse-experimental=kotlinx.coroutines.InternalCoroutinesApi",
|
||||||
|
"-Xuse-experimental=kotlinx.serialization.ExperimentalSerializationApi"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Duplicating Hebrew string assets due to some locale code issues on different devices
|
||||||
|
val copyHebrewStrings = task("copyHebrewStrings", type = Copy::class) {
|
||||||
|
from("./src/main/res/values-he")
|
||||||
|
into("./src/main/res/values-iw")
|
||||||
|
include("**/*")
|
||||||
|
}
|
||||||
|
|
||||||
|
preBuild {
|
||||||
|
dependsOn(formatKotlin, copyHebrewStrings)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gradle.startParameter.taskRequests.toString().contains("Standard")) {
|
if (gradle.startParameter.taskRequests.toString().contains("Standard")) {
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
import Versions.ktlint
|
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id(Plugins.ktLint.name) version Plugins.ktLint.version
|
id(Plugins.kotlinter.name) version Plugins.kotlinter.version
|
||||||
id(Plugins.gradleVersions.name) version Plugins.gradleVersions.version
|
id(Plugins.gradleVersions.name) version Plugins.gradleVersions.version
|
||||||
}
|
}
|
||||||
allprojects {
|
allprojects {
|
||||||
@ -15,22 +13,10 @@ allprojects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
apply(plugin = Plugins.ktLint.name)
|
apply(plugin = Plugins.kotlinter.name)
|
||||||
ktlint {
|
|
||||||
debug.set(true)
|
kotlinter {
|
||||||
verbose.set(true)
|
experimentalRules = true
|
||||||
android.set(false)
|
|
||||||
outputToConsole.set(true)
|
|
||||||
ignoreFailures.set(true)
|
|
||||||
enableExperimentalRules.set(false)
|
|
||||||
reporters {
|
|
||||||
reporter(org.jlleitschuh.gradle.ktlint.reporter.ReporterType.CHECKSTYLE)
|
|
||||||
reporter(org.jlleitschuh.gradle.ktlint.reporter.ReporterType.JSON)
|
|
||||||
}
|
|
||||||
filter {
|
|
||||||
exclude("**/generated/**")
|
|
||||||
include("**/kotlin/**")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,6 +91,7 @@ object Versions {
|
|||||||
const val viewStatePagerAdapter = "1.1.0"
|
const val viewStatePagerAdapter = "1.1.0"
|
||||||
const val viewToolTip = "1.2.2"
|
const val viewToolTip = "1.2.2"
|
||||||
const val xlog = "1.6.1"
|
const val xlog = "1.6.1"
|
||||||
|
const val kotlinter = "3.4.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
object LegacyPluginClassPath {
|
object LegacyPluginClassPath {
|
||||||
@ -124,6 +125,7 @@ object Plugins {
|
|||||||
const val kotlinSerialization = "org.jetbrains.kotlin.plugin.serialization"
|
const val kotlinSerialization = "org.jetbrains.kotlin.plugin.serialization"
|
||||||
val gradleVersions = PluginClass("com.github.ben-manes.versions", Versions.gradleVersions)
|
val gradleVersions = PluginClass("com.github.ben-manes.versions", Versions.gradleVersions)
|
||||||
val ktLint = PluginClass("org.jlleitschuh.gradle.ktlint", Versions.ktlint)
|
val ktLint = PluginClass("org.jlleitschuh.gradle.ktlint", Versions.ktlint)
|
||||||
|
val kotlinter = PluginClass("org.jmailen.kotlinter", Versions.kotlinter)
|
||||||
}
|
}
|
||||||
|
|
||||||
data class PluginClass(val name: String, val version: String)
|
data class PluginClass(val name: String, val version: String)
|
||||||
@ -144,7 +146,7 @@ object BuildPluginsVersion {
|
|||||||
const val KOTLIN = "1.4.10"
|
const val KOTLIN = "1.4.10"
|
||||||
const val ANDROID_EXTENSIONS = "org.jetbrains.kotlin:kotlin-android-extensions:$KOTLIN"
|
const val ANDROID_EXTENSIONS = "org.jetbrains.kotlin:kotlin-android-extensions:$KOTLIN"
|
||||||
const val KOTLIN_GRADLE = "org.jetbrains.kotlin:kotlin-gradle-plugin:$KOTLIN"
|
const val KOTLIN_GRADLE = "org.jetbrains.kotlin:kotlin-gradle-plugin:$KOTLIN"
|
||||||
const val KOTLINTER = "org.jmailen.gradle:kotlinter-gradle:3.0.2"
|
const val KOTLINTER = "3.3.0"
|
||||||
const val GOOGLE_SERVICES = "com.google.gms:google-services:4.3.3"
|
const val GOOGLE_SERVICES = "com.google.gms:google-services:4.3.3"
|
||||||
const val OSS_LICENSE = "com.google.android.gms:oss-licenses-plugin:0.10.2"
|
const val OSS_LICENSE = "com.google.android.gms:oss-licenses-plugin:0.10.2"
|
||||||
const val VERSIONS_PLUGIN = "0.28.0"
|
const val VERSIONS_PLUGIN = "0.28.0"
|
||||||
|
136
ktlintCodeStyle.xml
Normal file
136
ktlintCodeStyle.xml
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
<code_scheme name="Project" version="173">
|
||||||
|
<JetCodeStyleSettings>
|
||||||
|
<option name="PACKAGES_TO_USE_STAR_IMPORTS">
|
||||||
|
<value>
|
||||||
|
<package name="kotlinx.android.synthetic" withSubpackages="true" static="false" />
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
<option name="NAME_COUNT_TO_USE_STAR_IMPORT" value="2147483647" />
|
||||||
|
<option name="NAME_COUNT_TO_USE_STAR_IMPORT_FOR_MEMBERS" value="2147483647" />
|
||||||
|
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
|
||||||
|
</JetCodeStyleSettings>
|
||||||
|
<codeStyleSettings language="XML">
|
||||||
|
<indentOptions>
|
||||||
|
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
||||||
|
</indentOptions>
|
||||||
|
<arrangement>
|
||||||
|
<rules>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>xmlns:android</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>xmlns:.*</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
<order>BY_NAME</order>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*:id</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*:name</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>name</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>style</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
<order>BY_NAME</order>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
<order>ANDROID_ATTRIBUTE_ORDER</order>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>.*</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
<order>BY_NAME</order>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
</rules>
|
||||||
|
</arrangement>
|
||||||
|
</codeStyleSettings>
|
||||||
|
<codeStyleSettings language="kotlin">
|
||||||
|
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
|
||||||
|
<option name="LINE_COMMENT_AT_FIRST_COLUMN" value="false" />
|
||||||
|
<option name="LINE_COMMENT_ADD_SPACE" value="true" />
|
||||||
|
<option name="KEEP_BLANK_LINES_IN_DECLARATIONS" value="1" />
|
||||||
|
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
|
||||||
|
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="0" />
|
||||||
|
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
|
||||||
|
<indentOptions>
|
||||||
|
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
||||||
|
</indentOptions>
|
||||||
|
</codeStyleSettings>
|
||||||
|
</code_scheme>
|
Loading…
Reference in New Issue
Block a user