Stefano Mazzocchi wrote:
> 
> Carsten Ziegeler wrote:
> > First, Stefano, relax - I didn't want to attack you directly.
> > Don't assume that all my comments were hinting at something you did!
> 
> Sorry but it looked pretty personal to me.
> 
Sorry for that - I really hate writing long emails and perhaps this
leads to more misunderstandings. 

> Change line 192 of the current build.xml file from
> 
>     <!-- [FIXME] THE DEPENDENCY ON DEPRECATED SHOULD GO AWAY!!!! -->
>     <path location="${deprecated.src}"/>
>     <path location="${build.src}"/>
>     <path location="${java}"/>
> 
> to
> 
>     <!-- [FIXME] THE DEPENDENCY ON DEPRECATED SHOULD GO AWAY!!!! -->
>     <!--path location="${deprecated.src}"/-->
>     <path location="${build.src}"/>
>     <path location="${java}"/>
> 
> and recompile.
> 
> You'll see what I consider a mess.
> 
Yes, I know.

> I don't necessarely blame the Source refactoring since it could well be 
> that some files were moved to 'deprecated' even if they didn't belong 
> there. I would like to hear your opinion on this since you know the 
> internals of this stuff more than I do.
> 
The reason is simple: compatibility - Apart from some other minor places
that can be changed easily, there are two problem areas:
a) source resolving
b) caching
Both mechanism were replaced by a better/newer/cleaner one. This leads
to the problem, that the old one is deprecated and therefore moved
into the deprecated block. But to maintain compatibility the new code
tests for some now deprecated classes/features; otherwise cacheable
components or components using the source resolver that were written
for 2.0.x were not working properly anymore with 2.1.

When I suggested moving deprecated sources into an own block, I did
not thought about moving the classes that are used by the core into
that package as well - although they are deprecated. 
But they were moved, too - and I didn't thought about the impact.

So what's the solution? If we want to maintain compatibility and I
know we want this - we can move *some* of the required but deprecated
core classes back into the core. That's the only solution I currently
see.

> 
> Deprecated classes should depend on core (obviously) and should be 
> packaged separately for those who need back compatibility, but should 
> not block the core compilation.
> 
One problem area is the caching algorithm that supports the old deprecated
Cacheable interface and the other one is that we deprecated the source
resolving but unfortunately each sitemap component directly gets a 
source resolver and does not have to lookup it up.

 
> I just want to know if others believed that I did refactoring against 
> the will of this community.
> 
I don't think that you refactored the build system against the will.
You could have let the old build system first intact and give the
new one a new name, so that everything would still working. But that's
not required, so if we can get the full build up running again
soon, I think it's ok.

Carsten

Reply via email to