This looks OK/ Thanks. But in this case we will have messages something like
that
yeah, I was talking about it in my previous mail. But if you run for
example "ant clean" you will see a lot of such messages, they all are
written to stdout.
If it better for you than 3 'internal' target update the property.xml and
one any module (for example). I'll update other modules to support it.
This would be great, thank you.
With Best Regards,
2007/1/19, Vladimir Ivanov <[EMAIL PROTECTED]>:
This looks OK/ Thanks. But in this case we will have messages something like
that:
"
prepare-exclude:
[delete] Deleting:
C:\harmony.top\classlib\trunk\modules\archive\make\null920538197
"
If it better for you than 3 'internal' target update the property.xml and
one any module (for example). I'll update other modules to support it.
thanks, Vladimir
On 1/19/07, Alexei Zakharov <[EMAIL PROTECTED]> wrote:
>
> Aha, I see. This is because I didn't try it on Windows - it seems
> Windows doesn't like paths like "\C:\harmony\enhanced" :) So I
> reworked my code a little bit. You may see the updated version below.
> I've moved declarations of properties for exclude lists names from
> module-level build.xmls to global properties.xml since they are
> constants. So in this version we have only one property and one macro
> call for each build.xml.
>
> If you run the code below you may notice that the <delete> target
> prints some notifications to the screen. But this is ok because it
> prints to stdout rather than stderr so AFAIU this should not appear in
> CC reports.
>
> This is example for CRYPTO module.
>
> modules/crypto/build.xml:
> ---
> <property name="crypto.exclude.file"
> location="${hy.hdk}/build/crypto.exclude" />
> ...
> <target name="prepare-exclude">
> <prepare-exclude-list moduleName="crypto" dir="./make"
> result="${crypto.exclude.file}"/>
> </target>
>
>
> make/properties.xml:
> ---
> <property name="common.exclude.file" location="exclude.common" />
> <property name="platform.exclude.file"
> location="exclude.${ hy.platform}.${hy.test.vm.name}" />
> <property name="interm.exclude.file"
> location="exclude.${hy.platform}.${hy.test.vm.name }.interm" />
>
> <macrodef name="prepare-exclude-list">
> <attribute name="moduleName"/>
> <!-- directory with exclude list for the module -->
> <attribute name="dir"/>
> <!-- should be an absolute pathname -->
> <attribute name="result"/>
> <sequential>
> <condition property="@{moduleName}.fname1"
> value="${ common.exclude.file}">
> <and>
> <available
> file="@{dir}${file.separator}${common.exclude.file}"/>
> <length
> file="@{dir}${file.separator }${common.exclude.file}" when="greater"
> length="0"/>
> </and>
> </condition>
> <property name="@{moduleName}.fname1" value=""/>
>
> <condition property="@{moduleName}.fname2"
> value="${platform.exclude.file}">
> <and>
> <available
> file="@{dir}${ file.separator}${platform.exclude.file}"/>
> <length
> file="@{dir}${file.separator}${platform.exclude.file}" when="greater"
> length="0"/>
> </and>
> </condition>
> <property name="@{moduleName}.fname2" value=""/>
>
> <condition property="@{moduleName}.fname3"
> value="${ interm.exclude.file}">
> <and>
> <available
> file="@{dir}${file.separator}${interm.exclude.file}"/>
> <length
> file="@{dir}${file.separator }${interm.exclude.file}" when="greater"
> length="0"/>
> </and>
> </condition>
> <property name="@{moduleName}.fname3" value=""/>
>
> <tempfile property="@{moduleName}.tmpFile" destdir="@{dir}"/>
> <echo message="" file="[EMAIL PROTECTED]"/>
> <basename file="[EMAIL PROTECTED]"
> property="@{moduleName}.tmpFileName" />
> <concat destfile="@{result}" force="yes">
> <filelist dir="@{dir}"
> files="[EMAIL PROTECTED]
> [EMAIL PROTECTED] [EMAIL PROTECTED]
> [EMAIL PROTECTED]"/>
> </concat>
> <delete file="[EMAIL PROTECTED]" failonerror="false"
> quiet="true"/>
> </sequential>
> </macrodef>
> </project>
>
>
> 2007/1/19, Vladimir Ivanov <[EMAIL PROTECTED] >:
> > In may case the whole message was (with your update):
> > "
> > prepare-exclude:
> > [concat] File
> \C:\harmony.top\classlib\trunk\deploy\build\null36175345
> > does not exist.
> > [concat] No existing files and no nested text, doing nothing
> > "
> > thanks, Vladimir
> >
> >
> > On 1/19/07, Alexei Zakharov <[EMAIL PROTECTED]> wrote:
> > >
> > > > In this case we will see something like:
> > > > "prepare-exclude:
> > > > [concat] File <file_name> does not exist."
> > >
> > > Why? Please look again at the code - it tries to concat only existent
> > > files. The list of existent files is builded before the concat target
> > > is called. If no one exists it concats just an empty temporary file
> > > that have been created beforehand.
> > >
> > > Regards,
> > >
> > > 2007/1/19, Vladimir Ivanov < [EMAIL PROTECTED]>:
> > > > In this case we will see something like:
> > > > "prepare-exclude:
> > > > [concat] File <file_name> does not exist."
> > > >
> > > > for missed files. I think, we can prepare the exclude list into one
> > > target
> > > > with ant.contrib but it used for DRLVM build only. So we need 3
> > > conditional
> > > > tasks to hide these messages.
> > > >
> > > > thanks, Vladimir
--
Alexei Zakharov,
Intel ESSD