Suppose I have a piece of software which I market as two editions.

How would I build both editions using Ant?

I mean, inside the code, as far I can see, I'd check for example:

```
if(Editions.PRO)
{
    // 'Pro' edition code
}
else
{
    // 'Normal' edition code
}

```

and since Editions.PRO is "static final boolean" *only one part of the above* code will be compiled.

I could also use different source files but that sounds painful to maintain.  

I could also use interfaces, but thats...... nm.

So, the "conditinoal compilation" (above) method seems best to me.  

How would I implement that on Ant?

Can Ant **manipulate the value of "Editions.PRO"** in its file?  

That actually doesn't sound very good to me.  

Instead, I was thinking about **replacing files** (using Ant commands), or even better, **exclude the (real, dev)** file that defines "Editions.PRO" and **add as a class-path another folder** that has the **same file but with "Editions.PRO" configured accordingly** (to the desired edition).... I hope I'm clear.

How do/would you do that?