On Feb 25, 2010, at 1:12 PM, Gilles Scokart wrote:

On 25 February 2010 17:53, Dominique Devienne <ddevie...@gmail.com> wrote:

On Thu, Feb 25, 2010 at 10:00 AM, Gilles Scokart <gscok...@gmail.com>
wrote:
Did you have any example to demonstrates the benefits of such task ?

The benefits with conjunction with <import> could be important, in
that you can "mix-in" specialized pre-defined builds dealing with
specific concerns (like JAXB pre-compilation for example) and have
those builds "implicitly" augment the classpath or Javac source path
appropriately for example (as documented in those builds, and you do
explicitly import those, so are kinda in control).



This is indeed a valuable use case.



Sure, it does open
the door for some complexity, and Ant would enter some un-chartered
waters indeed, but when trying to design reusable builds in the
(distant now) past, I've often felt the need for such a feature. Yet
it doesn't necessarily mean that would have been the right solution
either. I'd be interesting to have the input of the EasyAnt people on
the matter in fact.


Yes, that would be interresting.


Maybe an opt-in approach, explicitly adding
final="false" on those datatype ids *designed* for extension, would be
a more conservative introduction of this feature, although that does
force to have "perfect hindsight" into what will be necessary to
extend/augment or not. --DD


If we want to allow mutability, it seems indeed safer to keep immutability
by default (for easier maintainability of the script).

Note that there is an other benefits to immutability : it make it easier to make multithread system. The more support ant has for mutable datatype, the more complex it will be to make it multithread (and I believe that's one of
the important evolution for the coming years).

BTW, isn't already possible to overwrite a reference? If I remember well,
it prints a warning but it replace the object.


My example hopefully illustrated why, while it is possible to completely overwrite the reference, it is less than desirable to do so, particularly if, as DD's description of pretty much my same motivations seems to imply, you may even want to have multiple augmentations of a given reference, e.g. when multiple components of your build may want to contribute additional children to a reference.

-Matt

Gilles Scokart


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org

Reply via email to