> -----Original Message----- > From: Matt Benson [mailto:[EMAIL PROTECTED] > Sent: Friday, November 18, 2005 6:32 PM > To: Ant Users List > Subject: Re: Subdirectory problem/always recompiles > > --- "Brown, Carlton" <[EMAIL PROTECTED]> > wrote: > > > I've got a situation where the directory structure > > of the source code > > doesn't exactly correspond to the package structure, > > and therefore the > > javac task always recompiles. Due to a number of > > policy considerations > > I can't change the dir structure, so I've tried to > > work around this with > > some clever mapping and globbing. I couldn't come > > up with a solution > > so I thought I'd bring it here. > > > > > > > > Here's my source directory hierarchy: > > > > src/gadget/alpha/com/company/foo > > > > src/gadget/beta/com/company/foo > > > > src/gadget/gamma/com/company/foo > > > > > > > > here's the output class hierarchy: > > > > classes/com/company/foo > > > > > > > > And to make it more difficult, the files in the 3 > > subdirectories all > > depend on each other. > > > > > > > > What's the correct way to write this so that it > > compiles only when the > > target is not up to date? > > > > > > > > Sorry if this is a trivial question, I admit I'm new > > to the product and > > am having some trouble with it. > > This buildfile works fine for me for your "situation." > ;) > > <project default="build"> > <property name="build.dir" location="classes" /> > <property name="srcg" location="src/gadget" /> > <path id="srcpath" > > path="${srcg}/alpha:${srcg}/beta:${srcg}/gamma"/> > > <target name="clean"> > <delete dir="${build.dir}" /> > </target> > > <target name="build"> > <mkdir dir="${build.dir}" /> > <javac destdir="${build.dir}"> > <src refid="srcpath" /> > </javac> > </target> > </project>
Matt, if you use this build file and run the same target twice, does it recompile the second time you run it? I tried your solution and it recompiled for me, and the second recompilation is what I'm trying to avoid. Just confirming that we're both talking about the same problem. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
