Skip to content

Commit a2a547a

Browse files
authored
make rider better about process failing to start (#1235)
1 parent 31e0868 commit a2a547a

File tree

8 files changed

+36
-12
lines changed

8 files changed

+36
-12
lines changed

Src/CSharpier.Rider/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
# csharpier-rider Changelog
44

5+
## [1.7.2]
6+
- Better error message when csharpier server fails to start
7+
58
## [1.7.1]
69
- Fix unicode issue with csharpier 0.28.0+
710

Src/CSharpier.Rider/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
pluginGroup = com.intellij.csharpier
55
pluginName = csharpier
6-
pluginVersion = 1.7.1
6+
pluginVersion = 1.7.2
77

88
# See https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
99
# for insight into build numbers and IntelliJ Platform versions.

Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierProcessPipeMultipleFiles.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class CSharpierProcessPipeMultipleFiles implements ICSharpierProcess, Dis
1717
private Process process = null;
1818
private OutputStreamWriter stdin;
1919
private BufferedReader stdOut;
20-
public boolean processFailedToStart;
20+
private boolean processFailedToStart;
2121

2222
public CSharpierProcessPipeMultipleFiles(String csharpierPath, boolean useUtf8, String version, Project project) {
2323
this.csharpierPath = csharpierPath;
@@ -58,6 +58,11 @@ public String getVersion() {
5858
return this.version;
5959
}
6060

61+
@Override
62+
public boolean getProcessFailedToStart() {
63+
return this.processFailedToStart;
64+
}
65+
6166
@Override
6267
public String formatFile(String content, String filePath) {
6368
if (this.processFailedToStart) {

Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierProcessProvider.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -220,11 +220,15 @@ private ICSharpierProcess setupCSharpierProcess(String directory, String version
220220
var installedVersion = version.split("\\.");
221221
var versionWeCareAbout = Integer.parseInt(installedVersion[1]);
222222

223+
ICSharpierProcess csharpierProcess;
223224
if (versionWeCareAbout >= 28) {
224-
return new CSharpierProcessServer(customPath, version, this.project);
225-
}
225+
csharpierProcess = new CSharpierProcessServer(customPath, version, this.project);
226+
} else if (versionWeCareAbout >= 12) {
227+
var useUtf8 = versionWeCareAbout >= 14;
226228

227-
if (versionWeCareAbout < 12) {
229+
csharpierProcess = new CSharpierProcessPipeMultipleFiles(customPath, useUtf8, version, this.project);
230+
}
231+
else {
228232
if (!this.warnedForOldVersion) {
229233
var content = "Please upgrade to CSharpier >= 0.12.0 for bug fixes and improved formatting speed.";
230234
NotificationGroupManager.getInstance().getNotificationGroup("CSharpier")
@@ -234,14 +238,10 @@ private ICSharpierProcess setupCSharpierProcess(String directory, String version
234238
this.warnedForOldVersion = true;
235239
}
236240

237-
238-
return new CSharpierProcessSingleFile(customPath, version, this.project);
241+
csharpierProcess = new CSharpierProcessSingleFile(customPath, version, this.project);
239242
}
240243

241-
var useUtf8 = versionWeCareAbout >= 14;
242-
243-
var csharpierProcess = new CSharpierProcessPipeMultipleFiles(customPath, useUtf8, version, this.project);
244-
if (csharpierProcess.processFailedToStart) {
244+
if (csharpierProcess.getProcessFailedToStart()) {
245245
this.displayFailureMessage();
246246
}
247247

Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierProcessServer.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class CSharpierProcessServer implements ICSharpierProcess2, Disposable {
2121
private Logger logger = CSharpierLogger.getInstance();
2222
private int port;
2323
private Process process = null;
24-
public boolean processFailedToStart;
24+
private boolean processFailedToStart;
2525

2626
public CSharpierProcessServer(String csharpierPath, String version, Project project) {
2727
this.csharpierPath = csharpierPath;
@@ -131,6 +131,11 @@ public String getVersion() {
131131
return this.version;
132132
}
133133

134+
@Override
135+
public boolean getProcessFailedToStart() {
136+
return this.processFailedToStart;
137+
}
138+
134139
@Override
135140
public String formatFile(String content, String fileName) {
136141
var parameter = new FormatFileParameter();

Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierProcessSingleFile.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ public String getVersion() {
2323
return this.version;
2424
}
2525

26+
@Override
27+
public boolean getProcessFailedToStart() {
28+
return false;
29+
}
30+
2631
@Override
2732
public String formatFile(String content, String fileName) {
2833

Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/ICSharpierProcess.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
interface ICSharpierProcess {
44
String getVersion();
5+
boolean getProcessFailedToStart();
56
String formatFile(String content, String fileName);
67
void dispose();
78
}

Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/NullCSharpierProcess.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ public String getVersion() {
1010
return "NULL";
1111
}
1212

13+
@Override
14+
public boolean getProcessFailedToStart() {
15+
return false;
16+
}
17+
1318
@Override
1419
public String formatFile(String content, String fileName) {
1520
return "";

0 commit comments

Comments
 (0)