Skip to content

Commit

Permalink
Merge pull request #128 from danielsz/develop
Browse files Browse the repository at this point in the history
Support for nREPL's unix sockets
  • Loading branch information
talios authored Sep 12, 2024
2 parents 0e171e4 + a4b93b9 commit 367bf41
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions src/main/java/com/theoryinpractise/clojure/ClojureNReplMojo.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,15 @@ public class ClojureNReplMojo extends AbstractClojureCompilerMojo {
*/
@Parameter private String replScript;

@Parameter(defaultValue = "4005", property = "clojure.nrepl.port")
@Parameter(defaultValue = "0", property = "clojure.nrepl.port")
protected int port;

@Parameter(defaultValue = "localhost", property = "clojure.nrepl.host")
protected String nreplHost;

@Parameter(property = "clojure.nrepl.unix.socket")
protected String nreplUnixSocket;

@Parameter(property = "clojure.nrepl.handler")
private String nreplHandler;

Expand All @@ -46,9 +49,13 @@ public void execute() throws MojoExecutionException {
StringBuilder sb = new StringBuilder();
sb.append("(do ");
sb.append("(nrepl.server/start-server");
sb.append(" :bind \"").append(nreplHost).append("\"");
sb.append(" :port ");
sb.append(Integer.toString(port));
if (unixSocketConfigured()) {
sb.append(" :socket \"").append(nreplUnixSocket).append("\"");
} else {
sb.append(" :bind \"").append(nreplHost).append("\"");
sb.append(" :port ");
sb.append(Integer.toString(port));
}
appendNreplHandler(sb);
if (middlewareConfigured() && noNreplHandlerAvailable()) {
sb.append(" :handler (nrepl.server/default-handler ");
Expand Down Expand Up @@ -120,6 +127,10 @@ private boolean middlewareConfigured() {
return nreplMiddlewares != null && nreplMiddlewares.length > 0;
}

private boolean unixSocketConfigured() {
return nreplUnixSocket != null && nreplUnixSocket.length() > 0;
}

private String windowsEscapeCommandLineArg(String arg) {
return "\"" + arg.replace("\"", "\\\"") + "\"";
}
Expand Down

0 comments on commit 367bf41

Please sign in to comment.