It builds now because Javac is able to handle this case - as long as it all 
happens in the same compile. For those of us used to older languages that 
compiled one class at a time under the covers, and proceeded in order through 
each source file, it sounds odd, but javac has been doing this since at least 
1.02.

Short answer: I cannot break the graph at present, so it all has to happen in 
one compile - and that's really unfortunate as the coupled classes include half 
of two major subsystems, a third of another, and bits and pieces of a dozen 
more.

It's very frustrating.

On Jul 25, 2013, at 12:34 AM, Ron Wheeler <[email protected]> 
wrote:

> On 24/07/2013 10:56 PM, Russell Gold wrote:
>> Exactly. Which I cannot do because these classes are public and our 
>> customers rely on them. If I break the graph, that means changing a behavior 
>> that a customer might be using, and that would be a serious problem.
>> 
>> I am pushing to deprecate the entire graph and provide a completely 
>> different api that won't have these problems, but even if I get that 
>> approved, we have to support this for several releases.
>> 
>> If there's an alternative, I'm all ears.
>> 
>> On Jul 24, 2013, at 10:38 PM, Barrie Treloar <[email protected]> wrote:
>> 
>>> On 25 July 2013 12:06, Russell Gold <[email protected]> wrote:
>>>> Or let me rephrase that. In simple terms, I have dependency graphs like 
>>>> this:
>>>> 
>>>> A ----> B ----> C
>>>> ^                       |
>>>> \------- D <----/
>>>> 
>>>> How do I put these classes into separate modules?
> I am not sure how you build them now!
> If you can build this now, you can break the graph in the same way and put 
> them in dependent projects.
> 
> How many of these cyclical graphs do you have?
> 
> Once you break the graph you should be able to end up with a set of modules 
> that the customers can continue to use as A,B,C and D even if D no longer 
> depends on A or C no longer depends on D.
> A-->B-->C-->X
> D-->A
> or
> A-->B-->C-->D-->X
> or
> A implements X and depends on B-->C-->D
> D-->X
> 
> Ron
> 
>>> Short answer is:
>>> Break the graph.
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>> 
>> -----------------
>> Come read my webnovel, Take a Lemon <http://www.takealemon.com>,
>> and listen to the Misfile radio play 
>> <http://www.gold-family.us/audio/misfile.html>!
>> 
>> 
>> 
>> 
>> 
> 
> 
> -- 
> Ron Wheeler
> President
> Artifact Software Inc
> email: [email protected]
> skype: ronaldmwheeler
> phone: 866-970-2435, ext 102
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 

-----------------
Come read my webnovel, Take a Lemon <http://www.takealemon.com>, 
and listen to the Misfile radio play 
<http://www.gold-family.us/audio/misfile.html>!




Reply via email to