commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jerome lacoste <jerome.laco...@gmail.com>
Subject [exec] design goals, API sketch, etc.. next step?
Date Mon, 23 Jan 2006 21:53:07 GMT
    Niklas, Brett, Trygve & all,


Things were stagnating a little bit end of last year. I am happy to
see that things are in motion again.

Last interesting initiative was Brett's idea to start with an API
sketch. I think it is a good start but it's only solving the start
Process feature. That's the low level building block. We ought to
provide more (otherwise we are just JDK 1.5 equivalent and that's not
interesting to me). See my past mails (expesially 'vision....') for
more info.


Below is a list of past emails that contain information relative to the subject.

[exec] Design of commons-exec
http://thread.gmane.org/gmane.comp.jakarta.commons.devel/69584

I listed there a list of high level requirements that I want to keep
in mind when designing the library.



[exec] API, implementation various notes
http://thread.gmane.org/gmane.comp.jakarta.commons.devel/72242

Those mails are maybe too long to read, if you can only read one, pick
the second in the thread. There I compared the various APIs (JD 1.4,
JDK 1.5, old common-exec). This is an important point to remember when
making the API sketch.

After those mails I refactored the existing commons-exec code
according to the vision I had proposed. I also did integrate the
refactored library into the CruiseControl code (which has about 30
code points that can make use of commons-exec).

The refactoring ended up here:

http://moca.dynalias.com/~jerome/projects/exec2/

(Unfortunately it seems like I messed up apache access rights, but I
should make this code available tomorrow).

[Someone told me at some point that I should send this refactoring as
a serie of patches. I can do it now if we think it is worth doing.]

This code is important to keep in mind. It keeps the past working
code, it has a cleaner interface (although not perfect) and it is
integrated with an existing project. To me it's better than an API
sketch (although the API sketch is a very nice complement, because it
is fresh and untangled).



After that I sent a mail based on my experience from the refactoring.

[exec] vision for the library
http://thread.gmane.org/gmane.comp.jakarta.commons.devel/72295

(once again a long read...)


[Exec] API sketch
http://thread.gmane.org/gmane.comp.jakarta.commons.devel/77425

And now the latest emails related to the new API sketch.




So here's what I propose to do:
- decide which requirements are important. What is the problem we are
trying to solve? How do we position us compared to the official's API?
etc... Someone using SDK 1.4 or 1.5 should find a compelling reason to
migrate to commons-exec. The migration should be intuitive. Benefits
for migrating clear. I think I exposed my ideas in the thread about
the library's vision.


- we compare the clean API sketch to the refactoring I made in
September. We focus on making this API easy to use and remember
without compromise on flexibility.

- we then take a decision on how to reach an implementation that
satisfies this API (Either start from the API sketch, or from the
refactorings I made 4 months ago).


I don't care on the approach as long as we get things moving and that
efforts are not wasted.

Niklas you said you could coordinate. I offered my help for coding,
documentation and tests. There's already a lot of work done on that.
Who else is interested? How do we proceed? Niklas I let you answer
those questions.

Let's try not to loose the momentum. I just don't want my efforts to
be wasted (so far they haven't been productive enough to my taste). I
would really like this library to be in early alpha by end of
February. So I can get it off the list of things I said I would do.


Cheers,

Jerome

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message