Skip to content

Commit d8b5ee9

Browse files
authored
Merge pull request #33 from intuit/GED202104-fix_project_settings_bug
Ged202104 - fix project settings bug (#31)
2 parents 205426a + 9362c6e commit d8b5ee9

10 files changed

+53
-45
lines changed

.travis.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
language: java
22
jdk:
3-
- openjdk8
3+
- openjdk11
44

55
script:
66
- ./gradlew build --scan -s
@@ -16,4 +16,4 @@ before_cache:
1616
cache:
1717
directories:
1818
- $HOME/.gradle/caches/
19-
- $HOME/.gradle/wrapper/
19+
- $HOME/.gradle/wrapper/

build.gradle

+11-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
buildscript {
2-
ext.kotlin_version = '1.3.72'
2+
ext.kotlin_version = '1.4.32'
33

44
repositories {
55
mavenCentral()
@@ -11,7 +11,7 @@ buildscript {
1111
}
1212

1313
plugins {
14-
id("org.jetbrains.intellij").version("0.4.21")
14+
id "org.jetbrains.intellij" version "0.7.3"
1515
}
1616
apply plugin: 'kotlin'
1717
apply plugin: 'java'
@@ -20,7 +20,7 @@ apply plugin: 'jacoco'
2020
group 'com.intuit.intellij'
2121

2222
intellij {
23-
version '2020.2'
23+
version '2020.2.1'
2424
pluginName rootProject.name
2525
/* set compatibility range to be *from* IntelliJ version
2626
and not constrict to specific major build */
@@ -35,7 +35,12 @@ repositories {
3535

3636
sourceSets {
3737
main {
38-
java { srcDirs 'src/main/java', 'gen' }
38+
java { srcDirs 'src/main/java', 'gen'
39+
compileJava {
40+
sourceCompatibility = 11
41+
targetCompatibility = 11
42+
}
43+
}
3944
kotlin.srcDir 'src/main/kotlin'
4045
resources.srcDir 'src/main/resources'
4146
}
@@ -67,8 +72,8 @@ jar {
6772

6873
dependencies {
6974
compileProcessBuilder
70-
implementation "com.fasterxml.jackson.core:jackson-core:2.9.9"
71-
implementation "com.fasterxml.jackson.core:jackson-databind:2.9.9"
75+
implementation "com.fasterxml.jackson.core:jackson-core:2.12.3"
76+
implementation "com.fasterxml.jackson.core:jackson-databind:2.12.3"
7277
compileOnly "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
7378
testImplementation "org.hamcrest:hamcrest-all:1.3"
7479
}

src/main/java/com/intuit/ddb/CmdProcessBuilder.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -190,4 +190,4 @@ private static void prettyPrint(List<String> command) {
190190
System.out.println("\n");
191191
}
192192

193-
}
193+
}

src/main/kotlin/com/intuit/ddb/DockDockBuildConfigurable.kt

+18-16
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,18 @@ import javax.swing.JComponent
1212
import javax.swing.JTextField
1313

1414
// Docker Make project config
15-
class DockDockBuildConfigurable(project: Project?) : Configurable {
15+
class DockDockBuildConfigurable(project: Project) : Configurable {
1616

17-
private val settings = DockDockBuildProjectSettings()
17+
private val settings = project.getService(DockDockBuildProjectSettings::class.java)
1818
private val dockerPathField = TextFieldWithBrowseButton()
1919
private val codePathField = TextFieldWithBrowseButton()
2020
private val mavenCachePathField = TextFieldWithBrowseButton()
2121
private val advancedDockerSettingsField = JTextField()
22-
private val defaultCodePath = getDefaultCodePath(project!!)
2322

2423
init {
24+
// a hack since we don't always have 'project' in DockDockBuildProjectSettings
25+
settings.settings.codePath = settings.settings.codePath.ifEmpty { getDefaultCodePath(project) }
26+
2527
dockerPathField.addBrowseFolderListener(PLUGIN_NAME, "Path to Docker executable", project,
2628
FileChooserDescriptor(true, false, false, false, false, false))
2729
codePathField.addBrowseFolderListener(PLUGIN_NAME, "Path to code root", project,
@@ -31,19 +33,19 @@ class DockDockBuildConfigurable(project: Project?) : Configurable {
3133
}
3234

3335
override fun isModified(): Boolean {
34-
return (settings.settings?.dockerPath != dockerPathField.text) ||
35-
(settings.settings?.codePath != codePathField.text) ||
36-
(settings.settings?.mavenCachePath != mavenCachePathField.text) ||
37-
(settings.settings?.advancedDockerSettings != advancedDockerSettingsField.text)
36+
return (settings.settings.dockerPath != dockerPathField.text) ||
37+
(settings.settings.codePath != codePathField.text) ||
38+
(settings.settings.mavenCachePath != mavenCachePathField.text) ||
39+
(settings.settings.advancedDockerSettings != advancedDockerSettingsField.text)
3840
}
3941

4042
override fun getDisplayName() = PLUGIN_NAME
4143

4244
override fun apply() {
43-
settings.settings?.dockerPath = dockerPathField.text
44-
settings.settings?.codePath = codePathField.text
45-
settings.settings?.mavenCachePath = mavenCachePathField.text
46-
settings.settings?.advancedDockerSettings = advancedDockerSettingsField.text
45+
settings.settings.dockerPath = dockerPathField.text
46+
settings.settings.codePath = codePathField.text
47+
settings.settings.mavenCachePath = mavenCachePathField.text
48+
settings.settings.advancedDockerSettings = advancedDockerSettingsField.text
4749
}
4850

4951
override fun createComponent(): JComponent {
@@ -64,11 +66,11 @@ class DockDockBuildConfigurable(project: Project?) : Configurable {
6466
}
6567

6668
override fun reset() {
67-
dockerPathField.text = settings.settings?.dockerPath ?: getDefaultDockerPath()
68-
codePathField.text = settings.settings?.codePath ?: defaultCodePath
69-
mavenCachePathField.text = settings.settings?.mavenCachePath ?: getDefaultM2Path()
70-
advancedDockerSettingsField.text = settings.settings?.advancedDockerSettings ?: ""
69+
dockerPathField.text = settings.settings.dockerPath
70+
codePathField.text = settings.settings.codePath
71+
mavenCachePathField.text = settings.settings.mavenCachePath
72+
advancedDockerSettingsField.text = settings.settings.advancedDockerSettings
7173
}
7274

7375
override fun getHelpTopic() = null
74-
}
76+
}
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package com.intuit.ddb
22

33
class DockDockBuildSettings {
4-
var dockerPath: String? = null
5-
var codePath: String? = null
6-
var mavenCachePath: String? = null
7-
var advancedDockerSettings: String? = null
8-
}
4+
var dockerPath = getDefaultDockerPath()
5+
var codePath = ""
6+
var mavenCachePath = getDefaultM2Path()
7+
var advancedDockerSettings = ""
8+
9+
}

src/main/kotlin/com/intuit/ddb/conf/DockDockBuildProjectSettings.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ import com.intellij.openapi.components.Storage
66
import com.intellij.openapi.components.StoragePathMacros
77
import com.intuit.ddb.DockDockBuildSettings
88

9-
@State(name = "DockDockBuild.Settings", storages = arrayOf(Storage(StoragePathMacros.WORKSPACE_FILE)))
9+
@State(name = "DockDockBuild.Settings", storages = [Storage(StoragePathMacros.WORKSPACE_FILE)])
1010
class DockDockBuildProjectSettings : PersistentStateComponent<DockDockBuildSettings> {
11-
var settings: DockDockBuildSettings? = DockDockBuildSettings()
11+
var settings: DockDockBuildSettings = DockDockBuildSettings()
1212

1313
override fun getState() = settings
1414

1515
override fun loadState(state: DockDockBuildSettings) {
1616
settings = state
1717
}
18-
}
18+
}

src/main/kotlin/com/intuit/ddb/conf/DockDockBuildRunConfiguration.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -115,13 +115,13 @@ open class DockDockBuildRunConfiguration(project: Project, factoryDocker: DockDo
115115

116116
// Plugin (project) configuration
117117
val dockerPath = ServiceManager.getService(project, DockDockBuildProjectSettings::class.java).
118-
settings?.dockerPath ?: getDefaultDockerPath()
118+
settings.dockerPath
119119
val codePath = ServiceManager.getService(project, DockDockBuildProjectSettings::class.java).
120-
settings?.codePath ?: getDefaultCodePath(project)
120+
settings.codePath
121121
val m2Path = ServiceManager.getService(project, DockDockBuildProjectSettings::class.java).
122-
settings?.mavenCachePath ?: getDefaultM2Path()
122+
settings.mavenCachePath
123123
val advancedDockerSettings = ServiceManager.getService(project, DockDockBuildProjectSettings::class.java).
124-
settings?.advancedDockerSettings ?: ""
124+
settings.advancedDockerSettings
125125

126126
// Runtime configurations
127127
// on host

src/main/kotlin/com/intuit/ddb/conf/DockDockBuildRunConfigurationEditor.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class DockDockBuildRunConfigurationEditor(private val project: Project) : Settin
5454
.addSeparator()
5555
.addLabeledComponent("&Makefile", makeFilenameField)
5656
.addLabeledComponent("&Target", targetField)
57-
.addLabeledComponent("&Environment Script", envScriptPathField)
57+
.addLabeledComponent("&Environment script", envScriptPathField)
5858
.addSeparator()
5959
.addComponent(environmentVarsComponent)
6060
.panel
@@ -91,7 +91,7 @@ class DockDockBuildRunConfigurationEditor(private val project: Project) : Settin
9191
}
9292
})
9393

94-
envScriptPathField.addBrowseFolderListener("Environment script", "Environment script path",
94+
envScriptPathField.addBrowseFolderListener("Environment Script", "Environment script path",
9595
project, FileChooserDescriptorFactory.createSingleFileDescriptor("sh"))
9696
envScriptPathField.textField.document.addDocumentListener(object : DocumentAdapter() {
9797
override fun textChanged(event: DocumentEvent) {
@@ -173,4 +173,4 @@ class DockDockBuildRunConfigurationEditor(private val project: Project) : Settin
173173

174174
}
175175

176-
}
176+
}

src/main/kotlin/name/kropp/intellij/makefile/MakefileTargetRunLineMarkerContributor.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ class MakefileTargetRunLineMarkerContributor : RunLineMarkerContributor() {
1717
if (targetList.firstOrNull() == target &&
1818
targetList.any { !it.isSpecialTarget }) {
1919
// IGNORE ERR
20-
return Info(MakefileTargetIcon, { "" }, targetList.map(::DockDockBuildRunTargetAction).toTypedArray())
20+
return Info(MakefileTargetIcon, { "" }, *targetList.map(::DockDockBuildRunTargetAction).toTypedArray())
2121
}
2222
}
2323
}
2424
return null
2525
}
26-
}
26+
}

src/main/resources/META-INF/plugin.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
<idea-plugin>
22
<id>com.intuit.intellij.makefile</id>
33
<name>DockDockBuild</name>
4-
<version>1.0.13</version>
4+
<version>1.0.14</version>
55
<vendor email="[email protected]" url="https://www.intuit.com/">Intuit</vendor>
66

77
<description>Support for running UNIX Makefiles on a Docker container</description>
88

99
<change-notes>
10-
1. Update deprecated IntelliJ APIs
10+
1. Fix project settings bug https://github.com/intuit/DockDockBuild/issues/31
1111
</change-notes>
1212

13-
<idea-version since-build="202.4357.23"/>
13+
<idea-version since-build="202.6948.69"/>
1414

1515
<depends>com.intellij.modules.lang</depends>
1616
<depends>com.intellij.modules.platform</depends>

0 commit comments

Comments
 (0)