> Jarek Gawor wrote: >> ... >> >> 2) Move the base, local, tcp, and http transport modules back to Axis2 >> and release them with Axis2. That way the transports project would >> only have the 'optional' transport modules and we wouldn't have to >> release the transports for/with Axis2. >> > > +1 for this approach. Having two projects which are mutually dependent > on each other is just plain stupid.
Agreed, but that doesn't necessarily mean that moving the relevant parts of one directly into the other is smart. The normal way to break a cyclical dependency is to introduce a third element with no dependency on either, that both elements can in turn depend on; or a third element with a dependency on both, that neither themselves depend on. I.e: factor out the bits that both share into a common api, or to create a separate artifact that glues the parts together as needed. (I'm still new around here, I'm not familiar enough with the codebase to know which makes more sense in this case). - Jason