All you need to do is: <javac destdir="build"> <src path="src/team1" /> <src path="src/team2" /> </javac>
No need for a mapper. Works like a charm ;-) --DD > -----Original Message----- > From: Ulf Caspers [mailto:[EMAIL PROTECTED] > Sent: Monday, August 18, 2003 4:35 PM > To: [EMAIL PROTECTED] > Subject: Re: javac-task and mapper > > On Mon, 18 Aug 2003, Stefan Bodewig <[EMAIL PROTECTED]> wrote: > > > <java> or <javac>? > <javac>! > > > What would the mapper in <javac> be supposed to do? > There is a GlobPatternMapper in the javac-taskdef which is fixed to map > *.java-files to corresponding *.class-files. This is the reason why the > source directory structure and the destination directory structure must > match, which is usually no problem and what is expected by the > java-compiler as well. > > Nevertheless there are situations in which this not the best case. I think > about a source layout, where different packages are in different > directories like this: > > src > +--team1 > ! +--com > ! +--example > ! +--pack1 > ! +--Class1.java > ! +--Class2.java > +--team2 > +--com > +--example > +--pack2 > +--ClassA.java > +--ClassB.java > > But all packages should be compiled into a common directory like this: > > build > +--com > +--example > +--pack1 > ! +--Class1.class > ! +--Class2.class > +--pack2 > +--ClassA.class > +--ClassB.class > > The following task would compile all sources: > > <javac srcdir="src" > destdir="build"> > </javac> > > But it would not be able to track unchanged *.java-files and does a > recompile each time ant is invoked. > > Todays solution is either calling javac twice or copying all *.java-files > to a common directory before calling javac. > > I guess it's faster and easier just to tell javac, how to find matching > sources and output like this: > > <javac srcdir="src" > destdir="build"> > <mapper type="regexp" from="[^/]+/(.*)\.java" to="\1.class"/> > </javac> > > Of course <mapper type="glob" from"*.java" to="*.class"/> will be the > default. > > Do you think this makes sense? > > Ulf --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]