From 98932b3dab3c153966fea9e38de2ed22330b623f Mon Sep 17 00:00:00 2001 From: Brett Tofel Date: Tue, 27 Oct 2020 21:37:57 -0400 Subject: [PATCH 01/12] Aspirational plugin description --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2a2ef1c..2c8ec68 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,12 @@ - [ ] Click the Watch button on the top of the [IntelliJ Platform Plugin Template][template] to be notified about releases containing new features and fixes. -This Fancy IntelliJ Platform Plugin is going to be your implementation of the brilliant ideas that you have. +Develop container files (aka Dockerfiles) for `podman` or `docker`. +Helps with: +- Make logical links between things like COPY and RUN ln +- Allow for "breakpoints" and "debugging" +- Manage sub-builds (Gradle, Maven, go build, gcc, etc) within the container build to speed the edit/debug/test cycle. + - Cache needed elements for sub-builds so they run much faster after first run. This specific section is a source for the [plugin.xml](/src/main/resources/META-INF/plugin.xml) file which will be extracted by the [Gradle](/build.gradle.kts) during the build process. From f245c2df1c2df1da62f4b842f74d6b156bdc17da Mon Sep 17 00:00:00 2001 From: Brett Tofel Date: Wed, 28 Oct 2020 09:32:30 -0400 Subject: [PATCH 02/12] Bump version to alpha.1 for publishing channel --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index a48f545..1da259c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ pluginGroup = com.github.bentito.conbu pluginName_ = conbu -pluginVersion = 0.0.1 +pluginVersion = 0.0.1-alpha.1 pluginSinceBuild = 193 pluginUntilBuild = 202.* From 5aa674478e1bcce7b47638263749dc6c693cf2fd Mon Sep 17 00:00:00 2001 From: Brett Tofel Date: Wed, 28 Oct 2020 09:33:58 -0400 Subject: [PATCH 03/12] Fix import errors lint found --- .../github/bentito/conbu/listeners/MyProjectManagerListener.kt | 2 +- .../com/github/bentito/conbu/services/MyProjectService.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/com/github/bentito/conbu/listeners/MyProjectManagerListener.kt b/src/main/kotlin/com/github/bentito/conbu/listeners/MyProjectManagerListener.kt index 3987b31..0e78aae 100644 --- a/src/main/kotlin/com/github/bentito/conbu/listeners/MyProjectManagerListener.kt +++ b/src/main/kotlin/com/github/bentito/conbu/listeners/MyProjectManagerListener.kt @@ -1,8 +1,8 @@ package com.github.bentito.conbu.listeners +import com.github.bentito.conbu.services.MyProjectService import com.intellij.openapi.project.Project import com.intellij.openapi.project.ProjectManagerListener -import com.github.bentito.conbu.services.MyProjectService internal class MyProjectManagerListener : ProjectManagerListener { diff --git a/src/main/kotlin/com/github/bentito/conbu/services/MyProjectService.kt b/src/main/kotlin/com/github/bentito/conbu/services/MyProjectService.kt index bb037cb..40f974d 100644 --- a/src/main/kotlin/com/github/bentito/conbu/services/MyProjectService.kt +++ b/src/main/kotlin/com/github/bentito/conbu/services/MyProjectService.kt @@ -1,7 +1,7 @@ package com.github.bentito.conbu.services -import com.intellij.openapi.project.Project import com.github.bentito.conbu.MyBundle +import com.intellij.openapi.project.Project class MyProjectService(project: Project) { From 730cf6180afcc5509c6c883de1bfe50be6bddf0a Mon Sep 17 00:00:00 2001 From: Brett Tofel Date: Wed, 28 Oct 2020 09:34:11 -0400 Subject: [PATCH 04/12] CHANGELOG.md changes --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e94bcc..192b41c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,4 +4,16 @@ ## [Unreleased] ### Added + +### Changed + +### Deprecated + +### Removed + +### Fixed + +### Security +## [0.0.1-alpha.1] +### Added - Initial scaffold created from [IntelliJ Platform Plugin Template](https://github.com/JetBrains/intellij-platform-plugin-template) From bd0dd86ac8a1e5d12f586b18e09e683d34a69670 Mon Sep 17 00:00:00 2001 From: Brett Tofel Date: Wed, 28 Oct 2020 14:13:47 -0400 Subject: [PATCH 05/12] CHANGELOG.md changes --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 192b41c..fae8ee1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,18 @@ ### Fixed +### Security +## [0.0.1-alpha.1] +### Added + +### Changed + +### Deprecated + +### Removed + +### Fixed + ### Security ## [0.0.1-alpha.1] ### Added From 306e16586dbe98446d5b6f96950b4dd08b41b9e0 Mon Sep 17 00:00:00 2001 From: Brett Tofel Date: Thu, 29 Oct 2020 09:57:42 -0400 Subject: [PATCH 06/12] Add platformPlugins java for DemoFrameworkEx class --- gradle.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 1da259c..6a1555d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,8 @@ platformVersion = 2019.3 platformDownloadSources = true # Plugin Dependencies -> https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_dependencies.html # Example: platformPlugins = com.intellij.java,com.jetbrains.php:203.4449.22 -platformPlugins = + +platformPlugins = com.intellij.java # Opt-out flag for bundling Kotlin standard library. # See https://kotlinlang.org/docs/reference/using-gradle.html#dependency-on-the-standard-library for details. From b15200551f9dff1a2d74ce456b840341b013042e Mon Sep 17 00:00:00 2001 From: Brett Tofel Date: Tue, 3 Nov 2020 22:00:45 -0500 Subject: [PATCH 07/12] Bump alpha version to 3 --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 6a1555d..b1faf6d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,12 +3,12 @@ pluginGroup = com.github.bentito.conbu pluginName_ = conbu -pluginVersion = 0.0.1-alpha.1 +pluginVersion = 0.0.1-alpha.3 pluginSinceBuild = 193 pluginUntilBuild = 202.* platformType = IC -platformVersion = 2019.3 +platformVersion = 2020.2.3 platformDownloadSources = true # Plugin Dependencies -> https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_dependencies.html # Example: platformPlugins = com.intellij.java,com.jetbrains.php:203.4449.22 From 8ab98f46852c50c6674f1ec6d12b4c672d5c3fc9 Mon Sep 17 00:00:00 2001 From: Brett Tofel Date: Tue, 3 Nov 2020 22:02:15 -0500 Subject: [PATCH 08/12] Adding Framework (a new project type I hope) --- .../bentito/conbu/framework/DemoFramework.kt | 65 +++++++++++++++++++ src/main/resources/META-INF/plugin.xml | 1 + 2 files changed, 66 insertions(+) create mode 100644 src/main/kotlin/com/github/bentito/conbu/framework/DemoFramework.kt diff --git a/src/main/kotlin/com/github/bentito/conbu/framework/DemoFramework.kt b/src/main/kotlin/com/github/bentito/conbu/framework/DemoFramework.kt new file mode 100644 index 0000000..67da4cd --- /dev/null +++ b/src/main/kotlin/com/github/bentito/conbu/framework/DemoFramework.kt @@ -0,0 +1,65 @@ +/* Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 +license that can be found in the LICENSE file. */ +@file:Suppress("ParameterListWrapping") + +package com.github.bentito.conbu.framework + +import com.github.bentito.conbu.icons.SdkIcons +import com.intellij.framework.FrameworkType +import com.intellij.framework.FrameworkTypeEx +import com.intellij.framework.addSupport.FrameworkSupportInModuleConfigurable +import com.intellij.framework.addSupport.FrameworkSupportInModuleProvider +import com.intellij.ide.util.frameworkSupport.FrameworkSupportModel +import com.intellij.openapi.module.Module +import com.intellij.openapi.module.ModuleType +import com.intellij.openapi.roots.ModifiableModelsProvider +import com.intellij.openapi.roots.ModifiableRootModel +import javax.swing.Icon +import javax.swing.JCheckBox +import javax.swing.JComponent + +class DemoFramework : FrameworkTypeEx(FRAMEWORK_ID) { + override fun createProvider(): FrameworkSupportInModuleProvider { + return object : FrameworkSupportInModuleProvider() { + val frameworkType: FrameworkType + get() = this@DemoFramework + + override fun getFrameworkType(): FrameworkTypeEx { + TODO("Not yet implemented") + } + + override fun createConfigurable(model: FrameworkSupportModel): FrameworkSupportInModuleConfigurable { + return object : FrameworkSupportInModuleConfigurable() { + override fun createComponent(): JComponent { + return JCheckBox("SDK Extra Option") + } + + override fun addSupport( + module: Module, + model: ModifiableRootModel, + provider: ModifiableModelsProvider + ) { + // This is the place to set up a library, generate a specific file, etc + // and actually add framework support to a module. + } + } + } + + override fun isEnabledForModuleType(type: ModuleType<*>): Boolean { + return true + } + } + } + + companion object { + const val FRAMEWORK_ID = "org.intellij.sdk.framework.DemoFramework" + } + + override fun getPresentableName(): String { + return "SDK Demo Framework" + } + + override fun getIcon(): Icon { + return SdkIcons.get() + } +} diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 3f344ed..5f31e53 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -10,6 +10,7 @@ + From c810f572647159ffe04731b8dfb5bd2887857129 Mon Sep 17 00:00:00 2001 From: Brett Tofel Date: Tue, 3 Nov 2020 22:03:10 -0500 Subject: [PATCH 09/12] Refer to plugin icon and change it --- .../github/bentito/conbu/icons/SdkIcons.kt | 11 + src/main/resources/META-INF/pluginIcon.svg | 339 +++++++++++++++--- 2 files changed, 298 insertions(+), 52 deletions(-) create mode 100644 src/main/kotlin/com/github/bentito/conbu/icons/SdkIcons.kt diff --git a/src/main/kotlin/com/github/bentito/conbu/icons/SdkIcons.kt b/src/main/kotlin/com/github/bentito/conbu/icons/SdkIcons.kt new file mode 100644 index 0000000..fab6176 --- /dev/null +++ b/src/main/kotlin/com/github/bentito/conbu/icons/SdkIcons.kt @@ -0,0 +1,11 @@ +package com.github.bentito.conbu.icons + +import com.intellij.openapi.util.IconLoader +import javax.swing.Icon + +object SdkIcons { + private val icon = IconLoader.getIcon("/icons/sdk_16.svg") + fun get(): Icon { + return icon + } +} diff --git a/src/main/resources/META-INF/pluginIcon.svg b/src/main/resources/META-INF/pluginIcon.svg index 6132908..d5d6729 100644 --- a/src/main/resources/META-INF/pluginIcon.svg +++ b/src/main/resources/META-INF/pluginIcon.svg @@ -1,58 +1,293 @@ - - - - - - - - + + + + + + image/svg+xml + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - + + + + + + + Conbu + + + From 2f21a39dfe69566f885964c522f0a54ad4bf7f0c Mon Sep 17 00:00:00 2001 From: Brett Tofel Date: Tue, 3 Nov 2020 22:03:57 -0500 Subject: [PATCH 10/12] Updated changelog --- CHANGELOG.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fae8ee1..6b1e4b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,30 @@ ### Fixed +### Security +## [0.0.1-alpha.3] +### Added + +### Changed + +### Deprecated + +### Removed + +### Fixed + +### Security +## [0.0.1-alpha.2] +### Added + +### Changed + +### Deprecated + +### Removed + +### Fixed + ### Security ## [0.0.1-alpha.1] ### Added From 93fab97b710782e745f422cafee85f94e71f4136 Mon Sep 17 00:00:00 2001 From: Brett Tofel Date: Wed, 4 Nov 2020 13:56:07 -0500 Subject: [PATCH 11/12] Add plugin description and reduce detekt scope --- detekt-config.yml | 10 +++++----- .../github/bentito/conbu/framework/DemoFramework.kt | 1 - src/main/resources/META-INF/plugin.xml | 7 +++++++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/detekt-config.yml b/detekt-config.yml index f9b8d75..939d40e 100644 --- a/detekt-config.yml +++ b/detekt-config.yml @@ -1,8 +1,8 @@ -# Default detekt configuration: -# https://github.com/detekt/detekt/blob/master/detekt-core/src/main/resources/default-detekt-config.yml - +## Default detekt configuration: +## https://github.com/detekt/detekt/blob/master/detekt-core/src/main/resources/default-detekt-config.yml +# formatting: Indentation: continuationIndentSize: 8 - ParameterListWrapping: - indentSize: 8 +# ParameterListWrapping: +# indentSize: 8 diff --git a/src/main/kotlin/com/github/bentito/conbu/framework/DemoFramework.kt b/src/main/kotlin/com/github/bentito/conbu/framework/DemoFramework.kt index 67da4cd..c78cef9 100644 --- a/src/main/kotlin/com/github/bentito/conbu/framework/DemoFramework.kt +++ b/src/main/kotlin/com/github/bentito/conbu/framework/DemoFramework.kt @@ -1,6 +1,5 @@ /* Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. */ -@file:Suppress("ParameterListWrapping") package com.github.bentito.conbu.framework diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 5f31e53..53b9fba 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -1,6 +1,13 @@ com.github.bentito.conbu conbu + + Work with container build files (Dockerfiles)with IDE expected features: + - Make logical links between things like COPY and RUN ln + - Allow for "breakpoints" and "debugging" + - Manage builds within the container build to speed the edit/debug/test cycle. + -- Cache needed elements for sub-builds so they run much faster after first run. + bentito From 9b6ed9dd4356963724e413992cd8a8aaa1393e5b Mon Sep 17 00:00:00 2001 From: Brett Tofel Date: Wed, 4 Nov 2020 13:57:26 -0500 Subject: [PATCH 12/12] Bump plugin alpha version --- gradle.properties | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index b1faf6d..c494fc2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,9 +2,9 @@ # -> https://www.jetbrains.org/intellij/sdk/docs/reference_guide/intellij_artifacts.html pluginGroup = com.github.bentito.conbu -pluginName_ = conbu -pluginVersion = 0.0.1-alpha.3 -pluginSinceBuild = 193 +pluginName_=conbu +pluginVersion=0.0.1-alpha.4 +pluginSinceBuild=193 pluginUntilBuild = 202.* platformType = IC