Sé cómo ejecutar un solo objetivo en ANT, pero también comprueba el atributo "depende" y lo ejecuta antes del objetivo. ¿Hay alguna manera de evitar esto o una forma de estructurar mi archivo ANT para que pueda hacer esto más fácilmente?ANT - Ejecutar un solo objetivo pero sin dependencias
Respuesta
Crea una versión del objetivo sin "ocultar". Si tenías
<target name="A" depends="B">
...
</target>
Cambiar para
<target name="A" depends="B,AwithoutDeps"/>
<target name="AwithoutDeps">
...
</target>
Ahora se puede llamar una forma normal (que disparar B entonces AwithoutDeps) o simplemente llamar AwithoutDeps explícita y no hay deps disparado. [Nota que "depende" llama a las dependencias con el fin]
Por supuesto, elegir algunos nombres mejor que estos;)
Creo que su única opción simple aquí sería simplemente hacer una copia del objetivo en cuestión y hacer que no tenga dependencias.
Solo estoy eliminando los atributos de los dependientes ahora (que es casi lo mismo), pero me pregunto si existe una solución más limpia. – GreenieMeanie
Sería bueno tener esto como una opción para la línea de comando ant. – user959690
me gustaría hacer algo como esto:
<target name="doSomethingNoDeps">
...
</target>
<target name="doSomething" depends="doSomeOther">
<antcall target="doSomethingNoDeps"/>
</target>
Una posibilidad es utilizar el atributo if
o unless
en el (los) objetivo (s) de dependencia. Por ejemplo:
<target name="dependency1" unless="dependency1.disabled">
<echo>Hello from dependency 1!</echo>
</target>
<target name="dependency2" unless="dependency2.disabled">
<echo>Hello from dependency 2!</echo>
</target>
<target name="main-target" depends="dependency1, dependency2">
<echo>Hello from the main target!</echo>
</target>
Ahora se puede ejecutar con Ant -Ddependency1.disabled=true
y/o -Ddependency2.disabled=true
a dejar de lado las dependencias que no desea, pero por defecto todavía habrá que incluirlos.
Y por supuesto, simplemente podría tener una propiedad "global" dependencies.disabled
si es más fácil para usted.
Si usted quiere hacer la inversa de este comportamiento (en la que las dependencias están excluidas por defecto), sólo tiene que utilizar el if
en lugar de unless
(y tienen nombres de propiedades como "dependency1.enabled" en lugar de "desactivado") .
Hice macro con código, lo que quiero. Luego hizo 2 objetivos, 1 macro de llamadas con "arg1", 2nd con "arg2". También puede hacer macro sin parámetros aceepting.
an la respuesta debe mostrar cómo resolver el problema. muestra lo que hiciste –
- 1. Ejecutar un comando en SCons sin dependencias
- 2. Use Ant para ejecutar solo pruebas JUnit específicas
- 3. Crear un archivo ant para ejecutar otros archivos ant
- 4. ¿Hay alguna forma de ejecutar Checkstyle solo en archivos .java SIN ANT?
- 5. Ant dependencia de telespectadores objetivo árbol
- 6. Ejecutar tarea ant en diferentes jvm
- 7. makefile ejecutar otro objetivo
- 8. makefile: ejecutar un objetivo de otro objetivo, más comandos adicionales
- 9. Ant http no falla el objetivo
- 10. Ant anticapa un objetivo que define una propiedad
- 11. Compilación de destino MSBuild sin dependencias
- 12. Ant/Eclipse se queja de artefacto: dependencias
- 13. Guiones de compilación Ant, antcall, dependencias, etc.
- 14. mvn limpio sin dependencias
- 15. Descripción del objetivo del eco en Ant
- 16. PIP: Instalar solo las dependencias
- 17. ¿Es posible seleccionar y ejecutar un objetivo específico ligado a una fase de maven?
- 18. Objetivo c: Cómo eliminar solo todos los archivos de un directorio pero conservar el directorio
- 19. falla del objetivo Ant: problema Antlib o Ivy?
- 20. Ejecutar una tarea Ant en Maven solo si se establece una propiedad
- 21. Cómo ejecutar R en un servidor sin X11, y evitar dependencias rotas
- 22. Cómo ejecutar el compilador JAXB de ANT
- 23. ejecutar un comando en cada archivo en un objetivo Phing
- 24. Ejecutar todas las pruebas unitarias con el generador de Ant
- 25. Ejecutar el objetivo de complemento Maven en módulos secundarios, pero no en el padre
- 26. Empaquetar y ejecutar una aplicación Java con dependencias de primavera
- 27. Establecer la propiedad de lo que maven.compile.classpath contiene SIN Ant
- 28. excepción de jersey solo lanzada cuando las dependencias se ensamblan en un solo contenedor
- 29. Obteniendo ANT scp solo archivos nuevos/modificados
- 30. cómo llamar a una tarea ant cuando anulando el objetivo en un archivo secundario
Muy similar a mi solución: creo que la diferencia es solo una cuestión de estilo. Esto explota la funcionalidad de dependencia de hormiga, mi solución explota la funcionalidad de "encapsulación". – Jared
¡Gracias! Esto parece más limpio que copiar y pegar. – GreenieMeanie
@Jared - También pensé en avisos antivuelco, pero es más caro AFAIK, ya que establece una copia de las propiedades y tal. No es que sea un gran problema ... –