ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Weintraub" <qazw...@gmail.com>
Subject Re: 'clean' target specifying all files 'except' a given fileset
Date Mon, 16 Jun 2008 15:52:10 GMT
You have "src/**/*" instead of just "src/**".

I believe they both mean the same, but I can't say for certain. The
"**" means all the files in the current directory and all files in the
subdirectories too.

You can have something like this:

<exclude name="src/**/*.java"/>

which will exclude all files in all directories with the *.java suffix, but in

<exclude name="src/**/*"/>

The single asterisk will match all file names anyway. But, there might
be some circumstance where this might not be true.

BTW, I also recommend that you add "${basedir}" to your excludes.
Otherwise, if the build.xml is callled from a different location, you
might be deleting files you don't want to delete.

As someone already said and I hinted at: It is a bit dangerous to
specify a <delete> and hope you're somehow you specified all the
directories you don't want to touch. If you use <delete> and forget to
specify a directory to delete, you didn't really do any harm. But if
you use <delete> and specify the files you want to keep, but forget a
directory, you're up a rather smelly estuary without the means of
propulsion.

The best thing to do is put all files that your build.xml creates
under a single directory, then your "clean" command just specifies
that directory.

--
David Weintraub
qazwart@gmail.com


On Mon, Jun 16, 2008 at 11:29 AM, Tim Visher <tim.visher@gmail.com> wrote:
> Hey David,
>
> Thanks for the help.  This is the final copy, and it appears to be working.
>
>    <target name="clean" depends="init" >
>        <delete includeemptydirs="true">
>            <fileset dir="${basedir}">
>                <exclude name="build.xml"/>
>                <exclude name="test.xml"/>
>                <exclude name="src/**/*"/>
>                <exclude name="tests/**/*"/>
>            </fileset>
>        </delete>
>    </target>
>
> I had to add the /* to the end of the directories to get the actual
> files under those directory trees to be excluded, but other than that
> it's pretty much what you had.  In the docs, they say you're supposed
> to be able to have each of the exclude/include statements incorporate
> a group of patterns, separated by ',' or ' ', but I haven't been able
> to get this to work.  Anyone know anything about those?
>
> On Mon, Jun 16, 2008 at 11:21 AM, David Weintraub <qazwart@gmail.com> wrote:
>> One more thing I just noticed (bad eyesight due to staring at computer
>> screens for way too long), You have just "src/*" and "test/*". You
>> probably want "src/**" and "test/**". A single asterisk means just the
>> current directory. A double asterisk means all subdirectories too.
>>
>> --
>> David Weintraub
>> qazwart@gmail.com
>>
>>
>> On Mon, Jun 16, 2008 at 10:57 AM, Tim Visher <tim.visher@gmail.com> wrote:
>>> Partially solved my own problem at this point.  No longer getting
>>> NullPointer but I still can't get the right includes.  My syntax must
>>> be off or something.  Good news is that the exclude seems to be
>>> working.
>>>
>>> Current target contents:
>>> <target name="clean" depends="init" >
>>>        <delete>
>>>            <fileset dir="." includes="**/*">
>>>                <exclude name="build.xml" />
>>>                <exclude name="test.xml" />
>>>                <exclude name="src/*" />
>>>                <exclude name="test/*" />
>>>            </fileset>
>>>        </delete>
>>>    </target>
>>>
>>> On Mon, Jun 16, 2008 at 10:46 AM, Tim Visher <tim.visher@gmail.com> wrote:
>>>> Hey Everyone,
>>>>
>>>> I'm trying to develop a clean target that essentially deletes
>>>> everything but a given set of files, rather than explicitly specifying
>>>> everything to delete.  This seems like a slightly more elegant
>>>> solution than the alternative, but I'm having very little success at
>>>> the moment.  I've included the contents of the clean target here
>>>> (since it's pretty small at the moment).  Any help would be greatly
>>>> appreciated.
>>>>
>>>> Now:
>>>> <target name="clean" depends="init" >
>>>>        <delete failonerror="false">
>>>>            <fileset>
>>>>                <not>
>>>>                    <filename name="build.xml" />
>>>>                    <filename name="test.xml" />
>>>>                    <filename name="src/*" />
>>>>                    <filename name="tests/*" />
>>>>                </not>
>>>>            </fileset>
>>>>        </delete>
>>>> </target>
>>>>
>>>> Former:
>>>> <target name="clean" depends="init" >
>>>>        <delete dir="${build}" />
>>>>        <delete dir="${dist}" />
>>>>        <delete dir="${doc}" />
>>>>        <delete dir="${tests:out}" />
>>>>        <delete dir="${tests:reports}" />
>>>> </target>
>>>>
>>>> FYI: I'm actually failing on an error, a Null Pointer Exception to be
>>>> exact.  So it's not only not deleting the desired fileset; it's not
>>>> even executing.
>>>>
>>>> --
>>>>
>>>> In Christ,
>>>>
>>>> Timmy V.
>>>>
>>>> http://burningones.com/
>>>> http://five.sentenc.es/ - Spend less time on e-mail
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> In Christ,
>>>
>>> Timmy V.
>>>
>>> http://burningones.com/
>>> http://five.sentenc.es/ - Spend less time on e-mail
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>>> For additional commands, e-mail: user-help@ant.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>> For additional commands, e-mail: user-help@ant.apache.org
>>
>>
>
>
>
> --
>
> In Christ,
>
> Timmy V.
>
> http://burningones.com/
> http://five.sentenc.es/ - Spend less time on e-mail
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message