ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mpfoe...@ThoughtWorks.com
Subject workspaces
Date Mon, 18 Dec 2000 07:11:52 GMT

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:     <ant-dev@jakarta.apache.org>      
                               
                    <duncan@x180.        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" <donaldp@apache.org> 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.



Mime
View raw message