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') }} key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: | restore-keys: |
${{ runner.os }}-gradle- ${{ runner.os }}-gradle-
# Run detekt
- name: Run Linter
run: ./gradlew detekt
# Run verifyPlugin Gradle task # Run verifyPlugin Gradle task
- name: Verify Plugin - name: Verify Plugin
run: ./gradlew verifyPlugin --no-daemon run: ./gradlew verifyPlugin --no-daemon

@ -1,9 +1,14 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins { plugins {
id("java") // Compiles Java source files // Java support
id("org.jetbrains.kotlin.jvm") version "1.3.72" // Kotlin plugins for Gradle id("java")
id("org.jetbrains.intellij") version "0.4.18" // gradle-intellij-plugin // 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 // Import variables from gradle.properties file
@ -31,9 +36,11 @@ listOf("compileKotlin", "compileTestKotlin").forEach {
// Configure project's dependencies // Configure project's dependencies
repositories { repositories {
mavenCentral() mavenCentral()
jcenter()
} }
dependencies { dependencies {
implementation(kotlin("stdlib-jdk8")) 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 // Configure gradle-intellij-plugin plugin. Read more: https://github.com/JetBrains/gradle-intellij-plugin
@ -41,16 +48,21 @@ intellij {
pluginName = pluginName pluginName = pluginName
version = ideaVersion version = ideaVersion
type = ideaType type = ideaType
updateSinceUntilBuild = false updateSinceUntilBuild = true
downloadSources = sources.toBoolean() downloadSources = sources.toBoolean()
setPlugins("java") setPlugins("java")
} }
// Configure detekt plugin. Read more: https://detekt.github.io/detekt/kotlindsl.html
detekt {
config = files("./detekt-config.yml")
}
tasks { tasks {
patchPluginXml { patchPluginXml {
version(pluginVersion) version(pluginVersion)
sinceBuild(ideaVersion)
// changeNotes("") // changeNotes("")
// sinceBuild sinceBuild
} }
// publishPlugin { // 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) { object TemplateBundle : DynamicBundle(BUNDLE) {
@Suppress("SpreadOperator")
@JvmStatic @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 @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) 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 checkUnloadPlugin(pluginDescriptor: IdeaPluginDescriptor) = Unit
override fun pluginUnloaded(pluginDescriptor: IdeaPluginDescriptor, isUpdate: Boolean) {}
override fun pluginUnloaded(pluginDescriptor: IdeaPluginDescriptor, isUpdate: Boolean) = Unit
} }

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

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

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

Loading…
Cancel
Save