detekt integration

pull/5/head
Jakub Chrzanowski 4 years ago
parent 5af7aa6fc7
commit 3c1166e1f2

@ -35,6 +35,9 @@ jobs:
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: |
${{ runner.os }}-gradle-
# Run detekt
- name: Run Linter
run: ./gradlew detekt
# Run verifyPlugin Gradle task
- name: Verify Plugin
run: ./gradlew verifyPlugin --no-daemon

@ -1,9 +1,14 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("java") // Compiles Java source files
id("org.jetbrains.kotlin.jvm") version "1.3.72" // Kotlin plugins for Gradle
id("org.jetbrains.intellij") version "0.4.18" // gradle-intellij-plugin
// Java support
id("java")
// Kotlin support
id("org.jetbrains.kotlin.jvm") version "1.3.72"
// gradle-intellij-plugin - read more: https://github.com/JetBrains/gradle-intellij-plugin
id("org.jetbrains.intellij") version "0.4.18"
// detekt linter - read more: https://detekt.github.io/detekt/kotlindsl.html
id("io.gitlab.arturbosch.detekt") version "1.8.0"
}
// Import variables from gradle.properties file
@ -31,9 +36,11 @@ listOf("compileKotlin", "compileTestKotlin").forEach {
// Configure project's dependencies
repositories {
mavenCentral()
jcenter()
}
dependencies {
implementation(kotlin("stdlib-jdk8"))
detektPlugins("io.gitlab.arturbosch.detekt:detekt-formatting:1.8.0")
}
// Configure gradle-intellij-plugin plugin. Read more: https://github.com/JetBrains/gradle-intellij-plugin
@ -41,16 +48,21 @@ intellij {
pluginName = pluginName
version = ideaVersion
type = ideaType
updateSinceUntilBuild = false
updateSinceUntilBuild = true
downloadSources = sources.toBoolean()
setPlugins("java")
}
// Configure detekt plugin. Read more: https://detekt.github.io/detekt/kotlindsl.html
detekt {
config = files("./detekt-config.yml")
}
tasks {
patchPluginXml {
version(pluginVersion)
sinceBuild(ideaVersion)
// changeNotes("")
// sinceBuild sinceBuild
}
// publishPlugin {

@ -0,0 +1,6 @@
# Default detekt configuration:
# https://github.com/detekt/detekt/blob/master/detekt-cli/src/main/resources/default-detekt-config.yml
formatting:
Indentation:
active: true

@ -9,10 +9,13 @@ private const val BUNDLE = "messages.TemplateBundle"
object TemplateBundle : DynamicBundle(BUNDLE) {
@Suppress("SpreadOperator")
@JvmStatic
fun message(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any): String = getMessage(key, *params)
fun message(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any) = getMessage(key, *params)
@Suppress("SpreadOperator")
@JvmStatic
fun messagePointer(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any): () -> String = { message(key, *params) }
fun messagePointer(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any) = run {
message(key, *params)
}
}

@ -11,12 +11,11 @@ internal class MyDynamicPluginListener : DynamicPluginListener {
ServiceManager.getService(MyApplicationService::class.java)
}
override fun pluginLoaded(pluginDescriptor: IdeaPluginDescriptor) {}
override fun pluginLoaded(pluginDescriptor: IdeaPluginDescriptor) = Unit
override fun beforePluginUnload(pluginDescriptor: IdeaPluginDescriptor, isUpdate: Boolean) {}
override fun beforePluginUnload(pluginDescriptor: IdeaPluginDescriptor, isUpdate: Boolean) = Unit
override fun checkUnloadPlugin(pluginDescriptor: IdeaPluginDescriptor) {}
override fun pluginUnloaded(pluginDescriptor: IdeaPluginDescriptor, isUpdate: Boolean) {}
override fun checkUnloadPlugin(pluginDescriptor: IdeaPluginDescriptor) = Unit
override fun pluginUnloaded(pluginDescriptor: IdeaPluginDescriptor, isUpdate: Boolean) = Unit
}

@ -9,5 +9,4 @@ internal class MyProjectManagerListener : ProjectManagerListener {
override fun projectOpened(project: Project) {
project.getService(MyProjectService::class.java)
}
}

@ -7,5 +7,4 @@ class MyApplicationService {
init {
println(TemplateBundle.message("applicationService"))
}
}

@ -6,7 +6,6 @@ import org.jetbrains.plugins.template.TemplateBundle
class MyProjectService(project: Project) {
init {
println(TemplateBundle.message("projectService", project.name))
println(TemplateBundle.message("projectService", project.name))
}
}

Loading…
Cancel
Save