Skip to content

Commit 38573cf

Browse files
authored
Merge pull request #9 from zhyhang/feature/dev-2.4.0
Feature/dev 2.4.0
2 parents 88f0492 + 5876bf4 commit 38573cf

13 files changed

Lines changed: 23 additions & 31 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55

66
## [Unreleased]
77

8-
## [2.4.0]
9-
- Build framework change to gradle
8+
## [2.3.1]
9+
- Compatible with coming version 2022
10+
- Build tool change to gradle
1011

1112
## [2.3.0]
1213
- Fix throw exception when select empty files

Handy Export Jar-2.3.1.zip

41 KB
Binary file not shown.

build.gradle.kts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ version = properties("pluginVersion")
2222
// Configure project's dependencies
2323
repositories {
2424
//TODO 每次根据开发环境改变
25-
maven { url=uri("https://www.jetbrains.com/intellij-repository/snapshots") }
25+
maven { url=uri("https://www.jetbrains.com/intellij-repository/releases") }
26+
//maven { url=uri("https://www.jetbrains.com/intellij-repository/snapshots") }
2627
maven { url=uri("https://cache-redirector.jetbrains.com/intellij-dependencies") }
2728
mavenCentral()
2829
}
@@ -70,7 +71,7 @@ tasks {
7071
patchPluginXml {
7172
version.set(properties("pluginVersion"))
7273
sinceBuild.set(properties("pluginSinceBuild"))
73-
// untilBuild.set(properties("pluginUntilBuild"))
74+
untilBuild.set(properties("pluginUntilBuild"))
7475

7576
// Extract the <!-- Plugin description --> section from README.md and provide for the plugin's manifest
7677
pluginDescription.set(

gradle.properties

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@
44
pluginGroup = org.yanhuang.plugins.intellij.exportjar
55
pluginName = Handy Export Jar
66
# SemVer format -> https://semver.org
7-
pluginVersion = 2.4.0
7+
pluginVersion = 2.3.1
88

99
# See https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
1010
# for insight into build numbers and IntelliJ Platform versions.
1111
pluginSinceBuild = 202
12-
#pluginUntilBuild = 233.*
12+
pluginUntilBuild = 253.*
1313

1414
# IntelliJ Platform Properties -> https://github.com/JetBrains/gradle-intellij-plugin#intellij-platform-properties
1515
platformType = IC
16-
#platformVersion = 2020.2.1
1716
# TODO change according IDE version
18-
platformVersion = LATEST-EAP-SNAPSHOT
17+
platformVersion = 2021.3.2
18+
# platformVersion = LATEST-EAP-SNAPSHOT
1919

2020
platformDownloadSources = true
2121

handy-export-jar.jar

-71.6 KB
Binary file not shown.
Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package org.yanhuang.plugins.intellij.exportjar.changes;
22

33
import com.intellij.openapi.project.Project;
4-
import com.intellij.openapi.vcs.actions.VcsContext;
54
import com.intellij.openapi.vcs.changes.CommitExecutor;
65
import com.intellij.openapi.vcs.changes.actions.AbstractCommitChangesAction;
76
import org.jetbrains.annotations.NotNull;
87
import org.jetbrains.annotations.Nullable;
9-
import org.yanhuang.plugins.intellij.exportjar.utils.Constants;
108

119
/**
1210
* perform export jar from local changes (i.e. vcs commits)
@@ -19,9 +17,4 @@ protected CommitExecutor getExecutor(@NotNull Project project) {
1917
return ExportCommitExecutor.getInstance(project);
2018
}
2119

22-
@Nullable
23-
@Override
24-
protected String getActionName(@NotNull VcsContext dataContext) {
25-
return Constants.exportCommitActionName; // compatible with version before 191.0
26-
}
2720
}

src/main/java/org/yanhuang/plugins/intellij/exportjar/ui/SettingDialog.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package org.yanhuang.plugins.intellij.exportjar.ui;
22

3+
import com.intellij.openapi.application.Application;
4+
import com.intellij.openapi.application.ApplicationManager;
35
import com.intellij.openapi.compiler.CompileStatusNotification;
46
import com.intellij.openapi.compiler.CompilerManager;
57
import com.intellij.openapi.fileChooser.FileChooser;
@@ -14,7 +16,6 @@
1416
import com.intellij.ui.TitledSeparator;
1517
import com.intellij.ui.content.MessageView;
1618
import com.intellij.util.Consumer;
17-
import com.intellij.util.WaitForProgressToShow;
1819
import com.intellij.util.ui.UIUtil;
1920
import com.intellij.util.ui.components.BorderLayoutPanel;
2021
import org.jetbrains.annotations.NotNull;
@@ -226,10 +227,11 @@ public void doExport(VirtualFile[] exportFiles) {
226227
if (isEmpty(exportFiles)) {
227228
return;
228229
}
230+
final Application app = ApplicationManager.getApplication();
229231
final Module[] modules = CommonUtils.findModule(project, exportFiles);
230232
String selectedOutputJarFullPath = (String) this.outPutJarFileComboBox.getModel().getSelectedItem();
231233
if (selectedOutputJarFullPath == null || selectedOutputJarFullPath.trim().length() == 0) {
232-
WaitForProgressToShow.runOrInvokeAndWaitAboveProgress(() -> showErrorDialog(project, "The selected output path should not empty", Constants.actionName));
234+
app.invokeAndWait(() -> showErrorDialog(project, "The selected output path should not empty", Constants.actionName));
233235
return;
234236
}
235237
Path exportJarFullPath = Paths.get(selectedOutputJarFullPath.trim());
@@ -241,7 +243,7 @@ public void doExport(VirtualFile[] exportFiles) {
241243
exportJarFullPath = exportJarParentPath.resolve(exportJarFullPath);
242244
}
243245
if (!Files.exists(exportJarParentPath)) {
244-
WaitForProgressToShow.runOrInvokeAndWaitAboveProgress(() -> showErrorDialog(project, "The selected output path is not exists", Constants.actionName));
246+
app.invokeAndWait(() -> showErrorDialog(project, "The selected output path is not exists", Constants.actionName));
245247
} else {
246248
String exportJarName = exportJarFullPath.getFileName().toString();
247249
if (!exportJarName.endsWith(".jar")) {
@@ -250,9 +252,8 @@ public void doExport(VirtualFile[] exportFiles) {
250252
if (Files.exists(exportJarFullPath)) {
251253
final int[] result = new int[1];
252254
final Path finalJarPath = exportJarFullPath;
253-
WaitForProgressToShow.runOrInvokeAndWaitAboveProgress(
254-
() -> result[0] = Messages.showYesNoDialog(project, finalJarPath + " already exists, replace it? ",
255-
Constants.actionName, getWarningIcon()));
255+
app.invokeAndWait(() -> result[0] = Messages.showYesNoDialog(project, finalJarPath + " already exists, replace it? ",
256+
Constants.actionName, getWarningIcon()));
256257
if (result[0] == Messages.NO) {
257258
return;
258259
}
@@ -262,17 +263,16 @@ public void doExport(VirtualFile[] exportFiles) {
262263
final CompileStatusNotification packager = new ExportPacker(project, exportFiles, exportJarFullPath,
263264
exportJavaFileCheckBox.isSelected(), exportClassFileCheckBox.isSelected(),
264265
exportTestFileCheckBox.isSelected());
265-
WaitForProgressToShow.runOrInvokeAndWaitAboveProgress(() ->
266-
CompilerManager.getInstance(project).make(project, null == modules ? new Module[0] : modules, packager));
266+
app.invokeAndWait(() -> CompilerManager.getInstance(project).make(project, null == modules ? new Module[0] : modules, packager));
267267
}
268268
} else {
269-
WaitForProgressToShow.runOrInvokeAndWaitAboveProgress(() -> showErrorDialog(project, "Please specify export jar file name", Constants.actionName));
269+
app.invokeAndWait(() -> showErrorDialog(project, "Please specify export jar file name", Constants.actionName));
270270
}
271271
}
272272

273273
private boolean isEmpty(VirtualFile[] exportFiles) {
274274
if (exportFiles == null || exportFiles.length == 0) {
275-
WaitForProgressToShow.runOrInvokeAndWaitAboveProgress(() -> showErrorDialog(project, "Export files is empty, please select them first", Constants.actionName));
275+
ApplicationManager.getApplication().invokeAndWait(() -> showErrorDialog(project, "Export files is empty, please select them first", Constants.actionName));
276276
return true;
277277
}
278278
return false;

src/main/java/org/yanhuang/plugins/intellij/exportjar/ui/UIFactory.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.yanhuang.plugins.intellij.exportjar.ui;
22

3-
import com.intellij.history.integration.ui.views.RevisionsList;
43
import com.intellij.icons.AllIcons;
54
import com.intellij.openapi.actionSystem.CommonDataKeys;
65
import com.intellij.openapi.actionSystem.DataContext;

src/main/java/org/yanhuang/plugins/intellij/exportjar/utils/CommonUtils.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import com.intellij.openapi.project.Project;
1111
import com.intellij.openapi.roots.ProjectFileIndex;
1212
import com.intellij.openapi.roots.ProjectRootManager;
13-
import com.intellij.openapi.vfs.VfsUtil;
1413
import com.intellij.openapi.vfs.VirtualFile;
1514
import com.intellij.psi.JavaDirectoryService;
1615
import com.intellij.psi.PsiClass;

src/main/java/org/yanhuang/plugins/intellij/exportjar/utils/MessagesUtils.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.yanhuang.plugins.intellij.exportjar.utils;
22

33
import com.intellij.compiler.impl.ProblemsViewPanel;
4-
import com.intellij.ide.actions.RevealFileAction;
54
import com.intellij.notification.Notification;
65
import com.intellij.notification.NotificationType;
76
import com.intellij.notification.Notifications;

0 commit comments

Comments
 (0)