diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e94bcc..6b1e4b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,4 +4,52 @@ ## [Unreleased] ### Added + +### Changed + +### Deprecated + +### Removed + +### 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 + +### 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) 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. 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/gradle.properties b/gradle.properties index a48f545..c494fc2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,17 +2,18 @@ # -> https://www.jetbrains.org/intellij/sdk/docs/reference_guide/intellij_artifacts.html pluginGroup = com.github.bentito.conbu -pluginName_ = conbu -pluginVersion = 0.0.1 -pluginSinceBuild = 193 +pluginName_=conbu +pluginVersion=0.0.1-alpha.4 +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 -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. 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..c78cef9 --- /dev/null +++ b/src/main/kotlin/com/github/bentito/conbu/framework/DemoFramework.kt @@ -0,0 +1,64 @@ +/* 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. */ + +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/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/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) { diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 3f344ed..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 @@ -10,6 +17,7 @@ + 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 + + +