Fine. But I see an error in my example: It executes the target and javah only on Java10 and higher. For Java9 and lower you have to use: <target unless="java10+"> <javah if:unset="java10+" ...
Jan > -----Ursprüngliche Nachricht----- > Von: 大平怜 [mailto:rei.oda...@gmail.com] > Gesendet: Dienstag, 7. Mai 2019 17:26 > An: Ant Users List > Betreff: Re: Skipping a javah task with Java 10 and higher > > Thanks much for your help! The javaversion condition works perfectly. > > > Rei Odaira > > 2019年5月7日(火) 0:58 Jan Matèrne (jhm) <apa...@materne.de>: > > > With xml namespaces like if:set you could exclude individual tasks. > > http://ant.apache.org/manual/ifunless.html > > > > > > <project> > > <condition property="java10+"> > > <javaversion atleast="10"/> > > </condition> > > > > <target name="do-only-on-newer-versions" if="java10+"> > > ... > > </target> > > > > <target name="compile"> > > <javah ... if:set="java10+" xmlns:if="ant:if"/> > > <javac ... /> > > </target> > > </project> > > > > > > Jan > > > > > -----Ursprüngliche Nachricht----- > > > Von: Jaikiran Pai [mailto:jaiki...@apache.org] > > > Gesendet: Dienstag, 7. Mai 2019 07:38 > > > An: user@ant.apache.org > > > Betreff: Re: Skipping a javah task with Java 10 and higher > > > > > > Recent versions of Ant (starting 1.10.2) have a "javaversion" > > > condition[1] which you can use to setup a "property" which can then > > > be used with "if"/"unless" attribute on a target. > > > > > > Here's an example: > > > > > > <target name="the-one-which-has-javah-task" depends="check-java- > > > version" > > > unless="java10+"> > > > ... > > > </target> > > > > > > <target name="check-java-version"> > > > <condition property="java10+"> > > > <javaversion atleast="10"/> > > > </condition> > > > </target> > > > > > > [1] https://ant.apache.org/manual/Tasks/conditions.html#javaversion > > > > > > -Jaikiran > > > > > > On 07/05/19 10:53 AM, 大平怜 wrote: > > > > Hello, > > > > > > > > My build.xml has a javah task. Since it no longer works with Java > > > > 10 and higher, I added nativeHeaderDir to a javac task, and it is > > > working fine. > > > > However, I still want to keep the javah task, so that the same > > > > build.xml works for older Java. > > > > > > > > How can I make ant skip the javah task only when running with > Java > > > > 10 and higher? More generally, is there any way to switch the > > > > execution path in build.xml, depending on the Java version? Or, > is > > > > there any other standard way to migrate a javah task from old > Java > > > > to Java > > > 10/11 > > > > with backward-compatibility being maintained? Appreciate your > help. > > > > > > > > > > > > Thanks, > > > > Rei Odaira > > > > > > > > > > > > > ------------------------------------------------------------------- > - > > > - To unsubscribe, e-mail: user-unsubscr...@ant.apache.org For > > > additional commands, e-mail: user-h...@ant.apache.org > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: user-unsubscr...@ant.apache.org For > additional > > commands, e-mail: user-h...@ant.apache.org > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@ant.apache.org For additional commands, e-mail: user-h...@ant.apache.org