Re: Proposed New Structure (starter for 10)
[email protected] (Phillip Lord) Wed, 26 Aug 2015 14:20:26 +0100
| Newsgroups | gmane.emacs.jdee.devel |
|---|---|
| Message-ID | <[email protected]> |
There is a dependency on cider, yes. My initial feeling was that this could be a short term dependency till nrepl-client.el was wound out, but in practice, I am using cider for other things. As well as programmatic JVM access (for Emacs to use), it also provides a nice shell for users to access the JVM directly. And a significant amount of the middleware and UI is going to be useful to both. I've also been looking a malabar mode, though, and I do wonder whether I am achieving anything that is not already there. It's an open question I think. The other question is one about data -- I believe that we should reduce the number of things that JDEE knows about as far as possible -- classpath for instance, and leave that to the build tool (whether that is maven, ant or gradle). But this is a big change and one likely to have many implications. Paul Landes <[email protected]> writes: > So there is no dependency on Cider? > > I'll take a look at some point soon as I'm up to my ears in work. > > > On Aug 25, 2015, at 5:17 PM, Phillip Lord <[email protected]> wrote: > >> >> Lee Hinman <[email protected]> writes: >>>> I have advanced this somewhat now and would be interested in opinions. >>>> I now have a worked nREPL connection to a live JVM running over the >>>> project. This provides the equivalent of the "beanshell interpreter" >>>> from a user perspective (i.e a shell) and can also be used to drive >>>> JVM interaction for things like introspection. >>> >>> I took a look, looks cool and seems to work! >> >> Good! >> >>> >>>> Unlike, beanshell, I think we can easily support class reloading (i.e. >>>> live update the JVM for newly compiled classes), and extension of the >>>> classpath (so we can add new maven dependencies without restarting). >>>> We should be able to steal a lot of work from Cider (it's stacktrace >>>> support is nice!). >>> >>> Something that will have to be ironed out is redirection of streams, I >>> noticed that Standard Out went into the *Messages* buffer, but that >>> shouldn't be too hard to hook up. >> >> Actually, that's a fake! Standard Out actually goes to a process buffer. >> I just "tee" it to the *Messages* buffer so I can see what it says. >> >> I need to do something more intelligent, I agree. In the ideal world, it >> should be silent if it works, and popup a buffer if it crashes. >> >> >> >>>> The build is a little baroque at the moment, although it requires only >>>> standard tools, so is clean. From a user perspective, it will require >>>> maven, but no other downloads (once it's on Maven central). It's maven >>>> agnostic, though, so we *should* be able to support gradle, ant, any >>>> other build system or none with a little work. >>> >>> I opened a comment for the only issue I ran into when installing this >>> here: https://github.com/phillord/jde-with-clojure-backend/issues/1 >> >> Fixed there. >> >> >>>> I've renamed jde-interactive to jdee-live and removed my minimal ELPA >>>> compliant minimal jde as that is pointless now. My plan for the future >>>> is to get one vaguely useful tool working, so I can test interaction >>>> with the Clojure based middleware, then stop, until it is clear that >>>> this is the way forward. >>>> >>>> Thoughts welcome! >>> >>> Thanks for the work, I think this looks great so far, hopefully it can >>> be make useful here soon! (to me, useful means I can compile or check >>> compilation from a Java buffer) >> >> Compilation is a reasonable aim. I am trying to put "pomegranate" into >> place, so I can extend the classpath on-the-fly. After that, "compile" >> seems a reasonable aim, although this means I have to interact with >> maven to get it to launch the compile goal. Guess what? There are >> several different ways to do it and the documentation is rubbish for all >> of them. Maven, maven, maven. I might give up and see if cider >> completion code (middleware or emacs client) is reusable instead. >> >> Anyone else? I don't want to carry on with this for too long if I am the >> only one who thinks it makes sense. >> >> Phil >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> jdee-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/jdee-devel ------------------------------------------------------------------------------