No debo comprender correctamente el atributo unless
. Tengo un archivo de propiedades que tiene una propiedad de la siguiente manera:Ant a menos que el atributo no funcione?
module.project.enabled=false
module.finance.enabled=true
Y en mi fichero de construcción Ant Tengo el siguiente pieza
<echo message="Finance module enabled is ${module.finance.enabled}"/>
<echo message="Project module enabled is ${module.project.enabled}"/>
<javac srcdir="src" destdir="${classes}" debug="true">
<classpath>
<pathelement path="src"/>
<fileset dir="web/WEB-INF/lib" includes="*.jar"/>
<fileset dir="lib" includes="*.jar"/>
<fileset dir="${GWT.HOME}" includes="gwt-user.jar,gwt-servlet.jar"/>
</classpath>
<exclude name="bla/finance/*.java" unless="${module.finance.enabled}"/>
<exclude name="bla/project/*.java" unless="${module.project.enabled}"/>
</javac>
Al ejecutar mi tarea ant las propiedades parecen ser leídos
[echo] Finance module enabled is true
[echo] Project module enabled is false
pero cuando miro el directorio ${classes}
lo que habría esperado ver no hay clases en el paquete de proyectos y clases en el paquete de financiación, pero por desgracia parece ser incluído udiendo ambos paquetes?
Solo he visto 'unless' (y' if') usado en tareas, nunca en elementos de configuración anidados, no sé si esto * debería * funcionar. –
¿Tiene 1.8 o más? – JoseK
No, estoy usando 1.7.1 –