3

I'm using clojure-maven-plugin. When I do a cider-connect I get this "WARNING: clj-refactor and refactor-nrepl are out of sync. Their versions are 2.4.0-SNAPSHOT (package: 20171117.317) and n/a, respectively." Is there anything I can do to my pom.xml to make this warning go away? I've tried adding refactor-nrepl 2.4.0-SNAPSHOT as a dependency.

mikeyreilly
  • 6,523
  • 1
  • 26
  • 21

2 Answers2

1

I have an older project that uses maven to build for reasons and this configuration worked for me:

Make sure you have all the needed dependencies in place.

<dependencies>

    <dependency>
      <groupId>nrepl</groupId>
      <artifactId>nrepl</artifactId>
    </dependency>

    <dependency>
      <groupId>cider</groupId>
      <artifactId>cider-nrepl</artifactId>
    </dependency>

    <dependency>
      <groupId>refactor-nrepl</groupId>
      <artifactId>refactor-nrepl</artifactId>
    </dependency>
    
</dependencies>

Then configure the middleware in the plugin config.

<plugin>
        <groupId>com.theoryinpractise</groupId>
        <artifactId>clojure-maven-plugin</artifactId>
        <version>${clojure-maven-plugin-version}</version>
        <extensions>true</extensions>
        <configuration>
          ...
          <nreplMiddlewares>
            <middleware>cider.nrepl/wrap-apropos</middleware>
            <middleware>cider.nrepl/wrap-classpath</middleware>
            <middleware>cider.nrepl/wrap-clojuredocs</middleware>
            <middleware>cider.nrepl/wrap-complete</middleware>
            <middleware>cider.nrepl/wrap-content-type</middleware>
            <middleware>cider.nrepl/wrap-debug</middleware>
            <middleware>cider.nrepl/wrap-enlighten</middleware>
            <middleware>cider.nrepl/wrap-format</middleware>
            <middleware>cider.nrepl/wrap-info</middleware>
            <middleware>cider.nrepl/wrap-inspect</middleware>
            <middleware>cider.nrepl/wrap-macroexpand</middleware>
            <middleware>cider.nrepl/wrap-ns</middleware>
            <middleware>cider.nrepl/wrap-out</middleware>
            <middleware>cider.nrepl/wrap-slurp</middleware>
            <middleware>cider.nrepl/wrap-profile</middleware>
            <middleware>cider.nrepl/wrap-refresh</middleware>
            <middleware>cider.nrepl/wrap-resource</middleware>
            <middleware>cider.nrepl/wrap-spec</middleware>
            <middleware>cider.nrepl/wrap-stacktrace</middleware>
            <middleware>cider.nrepl/wrap-test</middleware>
            <middleware>cider.nrepl/wrap-trace</middleware>
            <middleware>cider.nrepl/wrap-tracker</middleware>
            <middleware>cider.nrepl/wrap-undef</middleware>
            <middleware>cider.nrepl/wrap-version</middleware>
            <middleware>cider.nrepl/wrap-xref</middleware>
            <middleware>refactor-nrepl.middleware/wrap-refactor</middleware>
          </nreplMiddlewares>
        </configuration>
        ...
      </plugin>
mdp
  • 11
  • 1
0

Cider-connect needs some dependencies (cider and clj-refactor nrepl-middleware).

The following links explain how to add the dependencies for boot or lein.

https://github.com/clojure-emacs/refactor-nrepl

http://cider.readthedocs.io/en/latest/installation/#ciders-nrepl-middleware

Example boot: .boot/profile.boot

(require 'boot.repl)

(swap! boot.repl/*default-dependencies*
       concat '[[cider/cider-nrepl "0.15.1"]
                [refactor-nrepl "2.3.1"]])

(swap! boot.repl/*default-middleware*
       concat '[cider.nrepl/cider-middleware
                refactor-nrepl.middleware/wrap-refactor])
fgui
  • 1,564
  • 1
  • 13
  • 14