[ANN] CCW 0.7.0 First Beta released

55 views
Skip to first unread message

Laurent PETIT

unread,
Mar 29, 2012, 10:38:33 AM3/29/12
to counterclockwise, clojuredev-users
The work in this Beta is all thanks to Chas Emerick updating Counterclockwise to work with nREPL 0.2.

There are really interesting features, such as the ability to send, from the REPL client, an interrupt signal for the last sent command.

I've started the Release Note here: http://code.google.com/p/counterclockwise/wiki/ReleaseNotes

If within a week or so, I do not have any outstanding blocking issue reported, this version would then become the final 0.7.0.

Cheers,

-- Laurent

zoka

unread,
Apr 1, 2012, 2:37:58 PM4/1/12
to counterclockwise-users
Hi Laurent,

Here are my first impressions of 0.7.0. Decided to try it with
noirMon which is a Noir blog [1] with ringMon [2] middleware
embedded. I could not do this with 0.6.0 due to the conflict between
nREPL versions. Steps performed (with inline comments):

1) start with fresh checkout of [1]

2) `lein2 pom` - here is first gotcha, lein2 will place pom.xml in
target/pom.xml - if you try to do the m2e import step straight away,
it will not work correctly

3) copy/move pom.xml into project top folder

3) In Eclipse do File/Import/Maven/ExistingMavenProjects/ and select
the project folder. noirmon will appear in Project Explorer, right
click on it, select Enable/disable clojure language support (should
clojure be upper case here?), Right click again, select Run as/Clojure
Application

4) REPL tab will open but it has not loaded and selected the
noirmon.server namespace, as per :main key in project.clj, so this can
be done by hand by entering this in REPL:

5) (require `noirmon.server)
(ns noirmon-server)

6) Everything is ready now, so start the noirMon by entering this in
REPL:
(-main)

7) Point the browser to localhost:8080 and you will see the blog front
page
Just for the added twist select ‘here’ link on the blog page and
now you have 2 different nREPL front ends running side by side, one in
Eclipse, and one in the browser!

8) Press ‘Execute’ button in the browser window and a small Clojure
snippet will start execution.
Notice that ringMon’s REPL prompt has proper namespace indication
as noirmon.server


So, there are only 2 minor things to address:

1) Honoring the :main key in project.clj. One way to solve this is to
parse project.clj, generate small setup function and then send it to
nREPL server when session is created. See [3] and [4] for details how
ringMon has implemented this.

2) Proper indication of the current namespace in the REPL prompt (as
far as I can remember that worked in 0.6.0)


All in all excellent job, Chas and Laurent!

Regards
Zoka

[1] https://github.com/zoka/noirMon
[2] https://github.com/zoka/ringMon/
[3] https://github.com/zoka/ringMon/blob/master/src/ringmon/nrepl.clj#L345
[4] https://github.com/zoka/ringMon/blob/master/src/ringmon/nrepl.clj#L386

Chas Emerick

unread,
Apr 1, 2012, 4:35:33 PM4/1/12
to clojured...@googlegroups.com

On Apr 1, 2012, at 2:37 PM, zoka wrote:

> So, there are only 2 minor things to address:
>
> 1) Honoring the :main key in project.clj. One way to solve this is to
> parse project.clj, generate small setup function and then send it to
> nREPL server when session is created. See [3] and [4] for details how
> ringMon has implemented this.
>
> 2) Proper indication of the current namespace in the REPL prompt (as
> far as I can remember that worked in 0.6.0)
>
>
> All in all excellent job, Chas and Laurent!

Thanks for giving ccw a run! :-)

#2 is definitely a preferences item. The "prompt" (really, it's not a prompt since the input and response areas in ccw are separate) has been namespace-less for some time. That happens to be my preference, but I know others like it the usual way. I think there's an issue for this already; if not, feel free to create one and I'll see about picking it up in my next ccw hacking session.

#1 is Laurent's department… :-)

Cheers,

- Chas

Laurent PETIT

unread,
Apr 5, 2012, 4:59:33 AM4/5/12
to clojured...@googlegroups.com
Hi Zoka,

2012/4/1 zoka <ztom...@gmail.com>

With the first version of the upcoming Leiningen support, the workflow you described would be changed (simplified) into the following steps:


1) start with fresh checkout of [1]

2) File > Create New > Java Project [ change the path accordingly to root the project on the fresh checkout's filesystem location ]

3) On the project's contextual menu, Configure > Add/Enable Leiningen Support

4) On the project's contextual menu, Configure > Add/Enable Clojure Support

… from there, it continues as you described with "Run as Clojure Application" …
 

So,  there are only 2 minor things to address:

1) Honoring the :main key in project.clj. One way to solve this is to
parse project.clj, generate small setup function and then send it to
nREPL server when session is created. See [3] and [4] for details how
ringMon has implemented this.

This is an interesting idea, I mark it since I think it's good having it implemented somehow.
Now, I don't want yet to couple CCW "hardly" with the Leiningen Support Eclipse plugin I've started (they're independent pieces of software), so I'll have to think about how to make this modular, probably via OSGi services, or just plain regular Eclipse Extension Points mechanism (probably via a middleman third party Plugin to connect the two, opening the grounds for e.g. Maven experts to also provide a middleman third party Plugin to connect m2e and CCW, etc.)
 
2) Proper indication of the current namespace in the REPL prompt (as
far as I can remember that worked in  0.6.0)


All in all excellent job, Chas and Laurent!

Regards
Zoka

[1]  https://github.com/zoka/noirMon
[2] https://github.com/zoka/ringMon/
[3] https://github.com/zoka/ringMon/blob/master/src/ringmon/nrepl.clj#L345
[4] https://github.com/zoka/ringMon/blob/master/src/ringmon/nrepl.clj#L386

--
You received this message because you are subscribed to the Google Groups "counterclockwise-users" group.
To post to this group, send email to clojured...@googlegroups.com.
To unsubscribe from this group, send email to clojuredev-use...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/clojuredev-users?hl=en.


Reply all
Reply to author
Forward
0 new messages