Workspaces cannot be articulated cleanly as a parent/child project tree,
IMO. Projects form DAG's, not trees, the same way targets do.  For example,
a (very) quick glance at the build.xml file for tomcat reveals that it
depends on the catalina, jasper, and webapps subprojects. Catalina and
jasper  both depend on jaxp. Catalina and webapps both depend on
servletapi. A theoretical project that depended on tomcat might also depend
on regexp, which is used by catalina. And so on.

We currently get around this  by building the binaries for things like jaxp
and regexp as a completely different step, then importing them into the
other projects. That makes a fair amount of sense in these cases, since
they are actually standalone projects in their own right. But on any large
application with many subprojects, there are going to be a number of
"framework" or "utility" projects that have more than one parent that
depends on them.  And I don't want to build those separately.  In fact, I
would prefer it if I didn't even have to build the jaxp or regexp (or
whatever) stuff separately...

The parent/child architecture forces us to use "recursive ant" which
doesn't really model dependencies accurately (see
http://www.pcug.org.au/~millerp/rmch/recu-make-cons-harm.html).  The
antfarm proposal addresses this by adding a "Workspace" class which manages
multiple projects. Projects can reference stuff in other projects by using
an "import" statement, and ant will  build up the entire graph of
dependencies before starting the build. So no target will be built more
than once...

Matt Foemmel
ThoughtWorks, Inc.


                                                                                
                                   
                    James Duncan                                                
                                   
                    Davidson             To:     <[EMAIL PROTECTED]>            
                          
                    <[EMAIL PROTECTED]        cc:                               
                                        
                    net>                 Subject:     Re: Anteater... I'm 
Baaaack...                               
                                                                                
                                   
                    12/17/2000                                                  
                                   
                    11:26 PM                                                    
                                   
                    Please                                                      
                                   
                    respond to                                                  
                                   
                    ant-dev                                                     
                                   
                                                                                
                                   
                                                                                
                                   




On 12/14/00 5:22 PM, "Peter Donald" <[EMAIL PROTECTED]> wrote:

> However there are things that would be nice features - JPan discussed a
> while back is one of them as is the idea of "Workspaces" that contain
many
> ant-projects.

Workspaces are a valuable concept. My take is that they can be clearly
articulated as a parent/child Project tree. However, as soon as AntEater
dogfoods, I'll set up some experiments to take a really close look.


Reply via email to