Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,12 @@
- [ ] Click the <kbd>Watch</kbd> button on the top of the [IntelliJ Platform Plugin Template][template] to be notified about releases containing new features and fixes.

<!-- Plugin description -->
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.

Expand Down
10 changes: 5 additions & 5 deletions detekt-config.yml
Original file line number Diff line number Diff line change
@@ -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
11 changes: 6 additions & 5 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Original file line number Diff line number Diff line change
@@ -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()
}
}
11 changes: 11 additions & 0 deletions src/main/kotlin/com/github/bentito/conbu/icons/SdkIcons.kt
Original file line number Diff line number Diff line change
@@ -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
}
}
Original file line number Diff line number Diff line change
@@ -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 {

Expand Down
Original file line number Diff line number Diff line change
@@ -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) {

Expand Down
8 changes: 8 additions & 0 deletions src/main/resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
<idea-plugin>
<id>com.github.bentito.conbu</id>
<name>conbu</name>
<description>
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.
</description>
<vendor>bentito</vendor>

<!-- Product and plugin compatibility requirements -->
Expand All @@ -10,6 +17,7 @@
<extensions defaultExtensionNs="com.intellij">
<applicationService serviceImplementation="com.github.bentito.conbu.services.MyApplicationService"/>
<projectService serviceImplementation="com.github.bentito.conbu.services.MyProjectService"/>
<framework.type implementation="com.github.bentito.conbu.framework.DemoFramework"/>
</extensions>

<applicationListeners>
Expand Down
Loading