> From: Berin Loritsch [mailto:[EMAIL PROTECTED] 
> 
> Step one: Decide what we are going to do with Instrument.
> 
>    Option A: Release instrument and instrument manager ASAP
>        + Code is kept clean
>        - We have alot to do
>    Option B: Make dependencies on instrument soft by using
>              reflection.
>        + We can take our time with instrument
>        - Reflection code is ugly.

Berin,

I'd like to add an 

    Option C: Rework the package structure for Instrument
              and release it. Just move code around, nothing more.
         + We're not touching any logic, meaning that we'll be
           doing a lot of search/replace but when it compiles
           it is ready to go.
         - We have a lot to do

By reworking package structure I mean moving the interfaces to:

org.apache.avalon.instrument
org.apache.avalon.framework.ext.instrument
org.apache.avalon.frameworkext.instrument
org.apache.avalon.frameworkx.instrument
org.apache.avalon.extensions.instrument
org.apache.avalon.ext.instrument
come.on.insert.your.idea.here
...

or whatever package name we come up with. There was strong opposition
to putting instrument in o.a.a.framework, but I think there was
some consensus that it should be interface/impl separated and
moved out of excalibur.

>    Deciding factors:
>        * Are the interfaces something we like?  If so +1 on release

They are *good enough*. Since the instrument package will only be
one among many lifecycle extensions (of which some other will be
instrumentation as well), we don't have to be framework-perfect
with this one. Basically, the fact that they are used in the ECM
and Fortress now is reason enough to release.

>        * How much work is involved in bringing it close enough
>          for release?  If too much -1.

I think a package renaming/refactoring is achievable (i.e. I volunteer
to do it). Anything else is too much. Any change in program logic is
way too much.

>        * Are we comfortable with the reflection based approach
>          to loosen the requirement for Instrument?

No. That is just another thing that can go wrong.

>        * At a minimum Instrument and Instrument Manager need
>          to be released.

Yes.

> Step two: Prepare all ECM depenedencies (and ECM/TestCase)
>            for release.
> 
>     * All fully deprecated packages (like concurrent and
>       collections) get moved into a "compat" project that
>       exists strictly to provide a backwards compatibility
>       layer.  The original location gets nuked.

Yes. Will ECM move into the compat project?

> Step three: Prepare all Fortress dependencies (and Fortress/XFC)
>              for release.
> 
>      * Decide if we want to deprecate Pool (only used in ECM)

Iff ECM is deprecated, deprecate Pool. (Otherwise not.)

/LS


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to