mirror of
https://github.com/JetBrains/intellij-platform-plugin-template.git
synced 2024-10-27 20:44:05 +00:00
detekt integration
This commit is contained in:
parent
5af7aa6fc7
commit
3c1166e1f2
3
.github/workflows/tests.yml
vendored
3
.github/workflows/tests.yml
vendored
@ -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 {
|
||||||
|
6
detekt-config.yml
Normal file
6
detekt-config.yml
Normal file
@ -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…
Reference in New Issue
Block a user