Skip to content

Commit 9df07f6

Browse files
authored
Merge pull request #1 from jebeaudet/enabled-in-tests
Add enabled in tests switch and global kill switch
2 parents 752fb76 + 26d5f23 commit 9df07f6

File tree

15 files changed

+364
-149
lines changed

15 files changed

+364
-149
lines changed

build.gradle

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
plugins {
22
id 'java'
3-
id 'org.jetbrains.intellij' version '1.1.6'
3+
id 'org.jetbrains.intellij' version '1.12.0'
44
}
55

66
group 'io.github.jebeaudet'
7-
version '1.1.0'
7+
version project.properties['pluginVersion']
88

9-
sourceCompatibility = 1.8
9+
sourceCompatibility = 11
1010

1111
repositories {
1212
mavenCentral()
@@ -17,11 +17,15 @@ dependencies {
1717

1818
// See https://github.com/JetBrains/gradle-intellij-plugin/
1919
intellij {
20-
version.set('2021.2.1')
20+
version.set(project.properties['intellijVersion'])
2121
updateSinceUntilBuild.set(false)
2222
plugins = ['java']
2323
}
2424

25+
runIde {
26+
autoReloadPlugins = true
27+
}
28+
2529
signPlugin {
2630
certificateChain = System.getenv("CERTIFICATE_CHAIN")
2731
privateKey = System.getenv("PRIVATE_KEY")
@@ -32,4 +36,9 @@ publishPlugin {
3236
token = System.getenv("PUBLISH_TOKEN")
3337
}
3438

39+
patchPluginXml {
40+
version.set(project.properties['pluginVersion'])
41+
sinceBuild.set(project.properties['sinceBuild'])
42+
}
43+
3544
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
-93.8 KB
Binary file not shown.
286 KB
Loading

gradle.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
pluginVersion=1.2.0
2+
sinceBuild=213
3+
intellijVersion=2021.3

gradle/wrapper/gradle-wrapper.jar

2.96 KB
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

gradlew

Lines changed: 33 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gradlew.bat

Lines changed: 24 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/io/github/jebeaudet/idea/jvm/JVMArgumentsSetterProgramPatcher.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,17 @@
1010

1111
import io.github.jebeaudet.idea.jvm.util.JVMArgumentsSetterPersistence;
1212

13+
import java.util.Set;
14+
1315
public class JVMArgumentsSetterProgramPatcher extends JavaProgramPatcher
1416
{
17+
private static final Set<String> TEST_TYPES = Set.of("JUnit", "TestNG");
1518
@Override
1619
public void patchJavaParameters(Executor executor, RunProfile configuration, JavaParameters javaParameters)
1720
{
18-
if (configuration instanceof RunConfiguration) {
19-
String jvmArguments = JVMArgumentsSetterPersistence.getJvmArguments();
21+
if (JVMArgumentsSetterPersistence.getIsEnabled() && configuration instanceof RunConfiguration) {
22+
String runType = ((RunConfiguration) configuration).getType().getId();
23+
String jvmArguments = JVMArgumentsSetterPersistence.getJvmArguments(runType != null && TEST_TYPES.contains(runType));
2024
if (StringUtils.isNotBlank(jvmArguments)) {
2125
javaParameters.getVMParametersList().addParametersString(jvmArguments);
2226
}

src/main/java/io/github/jebeaudet/idea/jvm/setting/JVMArgumentsTableModel.java

Lines changed: 63 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,37 @@
33
import java.util.ArrayList;
44
import java.util.List;
55

6+
import javax.swing.*;
67
import javax.swing.table.AbstractTableModel;
78

9+
import com.intellij.openapi.util.NlsContexts;
10+
import com.intellij.util.ui.ColumnInfo;
811
import com.intellij.util.ui.EditableModel;
12+
import com.intellij.util.ui.SortableColumnModel;
13+
import org.jetbrains.annotations.Nullable;
914

1015
/**
1116
* @author huzunrong
1217
* @author jebeaudet
1318
* @since 1.0
1419
*/
15-
public class JVMArgumentsTableModel extends AbstractTableModel implements EditableModel
20+
public class JVMArgumentsTableModel extends AbstractTableModel implements EditableModel, SortableColumnModel
1621
{
1722
private static final long serialVersionUID = 6183423505608059672L;
1823

1924
private List<Object[]> list = new ArrayList<>();
2025

21-
private String[] head = { "", "Name", "Value" };
26+
private String[] head = { "Enabled", "Name", "Value", "Tests" };
27+
28+
private Class<?>[] typeArray = { Boolean.class, Object.class, Object.class, Boolean.class };
29+
30+
private ColumnInfo[] columnInfos = new ColumnInfo[]{
31+
new ToolTipColumnInfo("Enabled", "Enable/Disable the argument"),
32+
new ToolTipColumnInfo("Name", "Argument key"),
33+
new ToolTipColumnInfo("Value", "Argument value (can be blank for non JVM arguments)"),
34+
new ToolTipColumnInfo("Tests", "Whether the argument is added to test run configurations")
35+
};
2236

23-
private Class<?>[] typeArray = { Boolean.class, Object.class, Object.class };
2437

2538
public List<Object[]> getList()
2639
{
@@ -70,9 +83,9 @@ public boolean isCellEditable(int rowIndex, int columnIndex)
7083
return true;
7184
}
7285

73-
public void addRow(boolean enable, String name, String value)
86+
public void addRow(boolean enable, String name, String value, boolean testEnabled)
7487
{
75-
list.add(new Object[] { enable, name, value });
88+
list.add(new Object[] { enable, name, value,testEnabled });
7689
fireTableRowsInserted(getRowCount() - 1, getRowCount());
7790
}
7891

@@ -85,8 +98,7 @@ public void clear()
8598
@Override
8699
public void addRow()
87100
{
88-
list.add(new Object[] { true, "", "" });
89-
fireTableRowsInserted(getRowCount() - 1, getRowCount());
101+
addRow(true, "", "", true);
90102
}
91103

92104
@Override
@@ -110,4 +122,48 @@ public void removeRow(int idx)
110122
list.remove(idx);
111123
fireTableRowsDeleted(0, getRowCount());
112124
}
125+
126+
@Override
127+
public ColumnInfo[] getColumnInfos() {
128+
return columnInfos;
129+
}
130+
131+
@Override
132+
public void setSortable(boolean aBoolean) {
133+
}
134+
135+
@Override
136+
public boolean isSortable() {
137+
return false;
138+
}
139+
140+
@Override
141+
public Object getRowValue(int row) {
142+
return null;
143+
}
144+
145+
@Override
146+
public RowSorter.@Nullable SortKey getDefaultSortKey() {
147+
return null;
148+
}
149+
150+
private static class ToolTipColumnInfo extends ColumnInfo {
151+
private final String toolTip;
152+
153+
public ToolTipColumnInfo(String name, String toolTip) {
154+
super(name);
155+
this.toolTip=toolTip;
156+
}
157+
158+
@Nullable
159+
public String getTooltipText() {
160+
return toolTip;
161+
}
162+
163+
@Nullable
164+
@Override
165+
public Object valueOf(Object o) {
166+
return null;
167+
}
168+
}
113169
}

0 commit comments

Comments
 (0)