You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Harold Putman <hp...@lexmark.com> on 2015/01/02 16:40:06 UTC

Re: Execute the target only if source files have changed

your targetfile attribute on uptodate looks wrong

 targetfile="png/**.*.png

Should that first dot be a slash?

invoking ant with -d should give you an idea on why it is always setting
png-uptodate

On Tue, Dec 30, 2014 at 6:17 PM, YuGiOhJCJ Mailing-List <
yugiohjcj-mailinglist@laposte.net> wrote:

> Hello,
>
> I have a target that transforms files XCF into PNG by calling the
> "convert" command.
> I would like that this target does not execute if source files (i.e., the
> XCF files ) have changed.
> I have tried with the "uptodate" task but it does not work.
> Each time I run ant, the "convert" command is called.
>
> Any idea ?
>
> Thank you.
> Best regards.
>
> This is my build.xml file:
> <project name="xcf2png" default="png">
>         <target name="png-check">
>                 <uptodate property="png-uptodate"
> targetfile="png/**.*.png">
>                         <srcfiles dir= "xcf" includes="**/*.xcf"/>
>                 </uptodate>
>         </target>
>         <target name="png" depends="png-check" unless="png-uptodate">
>                 <mkdir dir="png"/>
>                 <exec executable="convert">
>                         <arg value="-verbose"/>
>                         <arg value="-alpha"/>
>                         <arg value="on"/>
>                         <arg value="-background"/>
>                         <arg value="none"/>
>                         <arg value="-layers"/>
>                         <arg value="merge"/>
>                         <arg value="xcf/icon.xcf"/>
>                         <arg value="png/icon.png"/>
>                 </exec>
>         </target>
>         <target name="clean">
>                 <delete dir="png"/>
>         </target>
> </project>
>
> This is the result in the console:
> $ ant
> Buildfile: /home/yugiohjcj/xcf2png/build.xml
>
> png-check:
>
> png:
>      [exec] xcf/icon.xcf[0] XCF 32x32 32x32+0+0 8-bit sRGB 1.21KB 0.000u
> 0:00.000
>      [exec] xcf/icon.xcf[0] XCF 6x21 6x21+13+6 8-bit sRGB 0.000u 0:00.000
>      [exec] xcf/icon.xcf=>png/icon-0.png[0] XCF 32x32 32x32+0+0 8-bit sRGB
> 1c 255B 0.000u 0:00.089
>      [exec] xcf/icon.xcf=>png/icon-1.png[1] XCF 6x21 6x21+13+6 8-bit sRGB
> 3c 299B 0.000u 0:00.160
>
> BUILD SUCCESSFUL
> Total time: 0 seconds
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
>


-- 
Harold PUTMAN
Web Technology Specialist
*Lexmark International, Inc. <http://www.lexmark.com>*
740 W New Circle Rd.
Lexington, KY 40550
+1(859) 232-2839
hputman@lexmark.com

Re: Execute the target only if source files have changed

Posted by Dominique Devienne <dd...@gmail.com>.
On Fri, Jan 2, 2015 at 9:17 PM, YuGiOhJCJ Mailing-List <
yugiohjcj-mailinglist@laposte.net> wrote:

> Oh, I have not read correctly the documentation of the <uptodate> task:
> "multiple target files are specified using a nested <mapper> element"
>

I always recommend using Ant-Contrib's <outofdate> task instead of Ant's
older <uptodate>+target.

It's from an Ant committer, Peter Reilly, so it's as good as it gets. FWIW.
--DD

Re: Execute the target only if source files have changed

Posted by YuGiOhJCJ Mailing-List <yu...@laposte.net>.
Oh, I have not read correctly the documentation of the <uptodate> task:
"multiple target files are specified using a nested <mapper> element"

So this is the correct target:
<target name="png-check">
	<uptodate property="png-uptodate">
		<srcfiles dir= "xcf" includes="*.xcf"/>
		<mapper type="glob" from="*.xcf" to="../png/*.png"/>
	</uptodate>
</target>

It seems to work :)

On Fri, 2 Jan 2015 21:04:25 +0100
YuGiOhJCJ Mailing-List <yu...@laposte.net> wrote:

> In fact, yes, there is a mistake at this line.
> It should be:
> targetfile="png/*.png"
> It is corrected now but the problem is the same.
> 
> Here is my file hierarchy:
> $ tree
> .
> |-- build.xml
> |-- png
> |   `-- icon.png
> `-- xcf
>     |-- background.xcf
>     `-- icon.xcf
> 
> Why each time I run ant, my "png" target is executed please?
> 
> On Fri, 2 Jan 2015 10:40:06 -0500
> Harold Putman <hp...@lexmark.com> wrote:
> 
> > your targetfile attribute on uptodate looks wrong
> > 
> >  targetfile="png/**.*.png
> > 
> > Should that first dot be a slash?
> > 
> > invoking ant with -d should give you an idea on why it is always setting
> > png-uptodate
> > 
> > On Tue, Dec 30, 2014 at 6:17 PM, YuGiOhJCJ Mailing-List <
> > yugiohjcj-mailinglist@laposte.net> wrote:
> > 
> > > Hello,
> > >
> > > I have a target that transforms files XCF into PNG by calling the
> > > "convert" command.
> > > I would like that this target does not execute if source files (i.e., the
> > > XCF files ) have changed.
> > > I have tried with the "uptodate" task but it does not work.
> > > Each time I run ant, the "convert" command is called.
> > >
> > > Any idea ?
> > >
> > > Thank you.
> > > Best regards.
> > >
> > > This is my build.xml file:
> > > <project name="xcf2png" default="png">
> > >         <target name="png-check">
> > >                 <uptodate property="png-uptodate"
> > > targetfile="png/**.*.png">
> > >                         <srcfiles dir= "xcf" includes="**/*.xcf"/>
> > >                 </uptodate>
> > >         </target>
> > >         <target name="png" depends="png-check" unless="png-uptodate">
> > >                 <mkdir dir="png"/>
> > >                 <exec executable="convert">
> > >                         <arg value="-verbose"/>
> > >                         <arg value="-alpha"/>
> > >                         <arg value="on"/>
> > >                         <arg value="-background"/>
> > >                         <arg value="none"/>
> > >                         <arg value="-layers"/>
> > >                         <arg value="merge"/>
> > >                         <arg value="xcf/icon.xcf"/>
> > >                         <arg value="png/icon.png"/>
> > >                 </exec>
> > >         </target>
> > >         <target name="clean">
> > >                 <delete dir="png"/>
> > >         </target>
> > > </project>
> > >
> > > This is the result in the console:
> > > $ ant
> > > Buildfile: /home/yugiohjcj/xcf2png/build.xml
> > >
> > > png-check:
> > >
> > > png:
> > >      [exec] xcf/icon.xcf[0] XCF 32x32 32x32+0+0 8-bit sRGB 1.21KB 0.000u
> > > 0:00.000
> > >      [exec] xcf/icon.xcf[0] XCF 6x21 6x21+13+6 8-bit sRGB 0.000u 0:00.000
> > >      [exec] xcf/icon.xcf=>png/icon-0.png[0] XCF 32x32 32x32+0+0 8-bit sRGB
> > > 1c 255B 0.000u 0:00.089
> > >      [exec] xcf/icon.xcf=>png/icon-1.png[1] XCF 6x21 6x21+13+6 8-bit sRGB
> > > 3c 299B 0.000u 0:00.160
> > >
> > > BUILD SUCCESSFUL
> > > Total time: 0 seconds
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> > > For additional commands, e-mail: user-help@ant.apache.org
> > >
> > >
> > 
> > 
> > -- 
> > Harold PUTMAN
> > Web Technology Specialist
> > *Lexmark International, Inc. <http://www.lexmark.com>*
> > 740 W New Circle Rd.
> > Lexington, KY 40550
> > +1(859) 232-2839
> > hputman@lexmark.com
> 
> ---------------------------------------------------------------------
> 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


Re: Execute the target only if source files have changed

Posted by YuGiOhJCJ Mailing-List <yu...@laposte.net>.
In fact, yes, there is a mistake at this line.
It should be:
targetfile="png/*.png"
It is corrected now but the problem is the same.

Here is my file hierarchy:
$ tree
.
|-- build.xml
|-- png
|   `-- icon.png
`-- xcf
    |-- background.xcf
    `-- icon.xcf

Why each time I run ant, my "png" target is executed please?

On Fri, 2 Jan 2015 10:40:06 -0500
Harold Putman <hp...@lexmark.com> wrote:

> your targetfile attribute on uptodate looks wrong
> 
>  targetfile="png/**.*.png
> 
> Should that first dot be a slash?
> 
> invoking ant with -d should give you an idea on why it is always setting
> png-uptodate
> 
> On Tue, Dec 30, 2014 at 6:17 PM, YuGiOhJCJ Mailing-List <
> yugiohjcj-mailinglist@laposte.net> wrote:
> 
> > Hello,
> >
> > I have a target that transforms files XCF into PNG by calling the
> > "convert" command.
> > I would like that this target does not execute if source files (i.e., the
> > XCF files ) have changed.
> > I have tried with the "uptodate" task but it does not work.
> > Each time I run ant, the "convert" command is called.
> >
> > Any idea ?
> >
> > Thank you.
> > Best regards.
> >
> > This is my build.xml file:
> > <project name="xcf2png" default="png">
> >         <target name="png-check">
> >                 <uptodate property="png-uptodate"
> > targetfile="png/**.*.png">
> >                         <srcfiles dir= "xcf" includes="**/*.xcf"/>
> >                 </uptodate>
> >         </target>
> >         <target name="png" depends="png-check" unless="png-uptodate">
> >                 <mkdir dir="png"/>
> >                 <exec executable="convert">
> >                         <arg value="-verbose"/>
> >                         <arg value="-alpha"/>
> >                         <arg value="on"/>
> >                         <arg value="-background"/>
> >                         <arg value="none"/>
> >                         <arg value="-layers"/>
> >                         <arg value="merge"/>
> >                         <arg value="xcf/icon.xcf"/>
> >                         <arg value="png/icon.png"/>
> >                 </exec>
> >         </target>
> >         <target name="clean">
> >                 <delete dir="png"/>
> >         </target>
> > </project>
> >
> > This is the result in the console:
> > $ ant
> > Buildfile: /home/yugiohjcj/xcf2png/build.xml
> >
> > png-check:
> >
> > png:
> >      [exec] xcf/icon.xcf[0] XCF 32x32 32x32+0+0 8-bit sRGB 1.21KB 0.000u
> > 0:00.000
> >      [exec] xcf/icon.xcf[0] XCF 6x21 6x21+13+6 8-bit sRGB 0.000u 0:00.000
> >      [exec] xcf/icon.xcf=>png/icon-0.png[0] XCF 32x32 32x32+0+0 8-bit sRGB
> > 1c 255B 0.000u 0:00.089
> >      [exec] xcf/icon.xcf=>png/icon-1.png[1] XCF 6x21 6x21+13+6 8-bit sRGB
> > 3c 299B 0.000u 0:00.160
> >
> > BUILD SUCCESSFUL
> > Total time: 0 seconds
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> > For additional commands, e-mail: user-help@ant.apache.org
> >
> >
> 
> 
> -- 
> Harold PUTMAN
> Web Technology Specialist
> *Lexmark International, Inc. <http://www.lexmark.com>*
> 740 W New Circle Rd.
> Lexington, KY 40550
> +1(859) 232-2839
> hputman@lexmark.com

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