Hi Arnout,

"Arnout J. Kuiper" wrote:
> 
> Hi,
> 
> I finally managed to get some work done on the specification of the core
> tasks (Holidays, JavaOne and a new employer (with a name that resembles
> that big bright yellow thingy in the sky;-) kept me from doing so).
> 
> It's a rough draft and a bunch of tasks is not filled in yet, but it can at
> least be used as a starting point for discussions on the core tasks. The
> spec is largely based on discussions held in the past on the ant-dev list.
>

I have been working with ant as part of Tomcat and would like to replace
our internal developed build tool (Java/XML and shell script based) for
it's takes too much time to maintain.

One major issue keeping me from doing this is the current lack of
pattern matching rules to guide the build process, to be more precise:
naming conventions for files and directories to activate certain tasks.

However I'm willing to drop this functionality in favour of a general
tool like ant, if the concept of filesets would be implemented in a
different way. I have the strong need for specifying general include and
exclude patterns at the top of the build file (standard patterns) that
can be reused by all the task in need of these. Therefore I would like
to see the concept of patternsets:

<!ELEMENT patternset (include*, exclude*)>
<!ATTLIST patternset
    id ID #REQUIRED>

<!ELEMENT include EMPTY>
<!ATTLIST include
   name #REQUIRED>

<!ELEMENT exclude EMPTY>
<!ATTLIST exclude
    name #REQUIRED>

A fileset could be defined as a combination of a base directory and a
patternset:

<!ELEMENT fileset EMPTY>
<!ATTLIST fileset
    dir #REQUIRED
    patternset #IMPLIED>

patternset has to be the unique ID as specified in the patternset
element.

It is also possible to make a mixture between your concept and my
suggestion in the form of: (however I don't think 'best of 2 worlds'
don't apply here ;-)

<!ELEMENT fileset (include*, exclude*)>
<!ATTLIST fileset
    dir #REQUIRED
    patternset #IMPLIED>

If a patternset has been provided it will use these along the one
possibly defined in include and exclude elements.

Also the concept of having attributes for pattern matching and elements
in your fileset is overkill IMHO, before you know it you have shortcuts
everywhere.

> 
> Due to the drafty nature, I did not commit it to CVS yet. It can be found
> at http://home.planet.nl/~ajkuiper/taskspec.html. The spec assumes that you
> are familiar with the pattern matching based on includes/excludes (see the
> Ant manual).
> 
> Comments please...
> 

You're welcome,

> Cheers,
> 
>    Arnout
-- 
Mark Brouwer

Reply via email to