mirror of
				https://github.com/JetBrains/intellij-platform-plugin-template.git
				synced 2025-06-13 13:04:09 +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') }} | ||||
|           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 { | ||||
|  | ||||
							
								
								
									
										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) { | ||||
| 
 | ||||
|     @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")) | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  | ||||
| @ -8,5 +8,4 @@ class MyProjectService(project: Project) { | ||||
|     init { | ||||
| println(TemplateBundle.message("projectService", project.name)) | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user