I suppose that at this time the best that you can do is break out the clean bits into small projects and leave the rest as one big compile.

Ron

On 25/07/2013 12:43 AM, Russell Gold wrote:
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>!







--
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]

Reply via email to