martes, 2 de abril de 2024

Guia rapida de ANT para proyectos en Netbeans

 En esta entrada te dejaré las claves para que te manejes en el uso de ANT.

Apache Ant es una biblioteca Java y una herramienta de línea de comandos cuya misión es ejecutar los procesos descritos en archivos xml como target y task que dependen unos de otros. El principal uso conocido de Ant es la creación de aplicaciones Java. Ant proporciona una serie de tareas integradas que permiten compilar, ensamblar, probar y ejecutar aplicaciones Java. Ant también se puede utilizar de forma eficaz para crear aplicaciones que no sean Java, por ejemplo aplicaciones C o C++. De manera más general, Ant se puede utilizar para automatizar cualquier tipo de proceso que pueda describirse en términos de targets y tasks.

Ant está escrito en Java. Los usuarios de Ant pueden desarrollar sus propios "antlibs" que contienen tareas y tipos de Ant, y se les ofrece una gran cantidad de "antlibs" comerciales o de código abierto ya preparados.

Ant es extremadamente flexible y no impone convenciones de codificación ni diseños de directorios a los proyectos Java que lo adoptan como herramienta de compilación.
El proyecto Apache Ant es parte de Apache Software Foundation.


El archivo de tareas build.xml y build-impl.xml

Es un archivo xml donde se describen todas las tareas que quieres que ANT ejecute, tareas como compilar, crear archivos y directorios, copiar archivos, incluso ejecutar otros jars.

Este archivo XML debe cumplir con el DTD de ANT, aquí puedes encontrar la lista de cada una de las tareas predefinidas

https://ant.apache.org/manual/Tasks/

Si has creado tu proyecto con Netbeans en el directorio de tu proyecto vas a tener el archivo build.xml, si editas este archivo te vas a dar cuenta que el archivo está casi vacío pero hay una linea clave

<import file="nbproject/build-impl.xml"/>

Si entras al directorio nbproject vas a encontrar el archivo build-impl.xml, es un archivo de procesos para ANT, gracias a este archivo tu puedes hacer un clean and build y generar tu jar. No vamos a entrar en detalles, este archivo es muy complejo y extenso.

Para no tener que editar el archivo build-impl.xml Netbeans pone a tu disposición una lista de targets los cuales están vacíos y puedes usarlos para ejecutar tus tareas. A continuación te presento la lista disponible.


      -pre-init:                 called before initialization of project properties
      -post-init:                called after initialization of project properties
      -pre-compile:              called before javac compilation
      -post-compile:             called after javac compilation
      -pre-compile-single:       called before javac compilation of single file
      -post-compile-single:      called after javac compilation of single file
      -pre-compile-test:         called before javac compilation of JUnit tests
      -post-compile-test:        called after javac compilation of JUnit tests
      -pre-compile-test-single:  called before javac compilation of single JUnit test
      -post-compile-test-single: called after javac compilation of single JUunit test
      -pre-jar:                  called before JAR building
      -post-jar:                 called after JAR building
      -post-clean:               called after cleaning build products

Estos targets se ejecutan antes y después de los targets principales. Por ejemplo, existe un target llamado init, Netbeans te proporciona -pre-init y -pos-init y así para el resto de Targets.

Properties en ANT

Las propiedades son pares clave-valor donde Apache Ant intenta evaluar ${key} al valor en tiempo de ejecución.

Hay muchas tareas (task) que pueden establecer propiedades; la más común es la tarea property. Además, las propiedades se pueden definir mediante argumentos de línea de comando o mecanismos similares desde fuera de Ant.

Normalmente, los valores de las propiedades no se pueden cambiar: una vez que se establece una propiedad, la mayoría de las tareas no permitirán que se modifique su valor. En general, las propiedades son de alcance global, es decir, una vez que se han definido, están disponibles para cualquier tarea (task)  u objetivo (target) invocado posteriormente; no es posible establecer una propiedad en un proceso de construcción hijo creado mediante las tareas ant, antcall o subant y make. Sin embargo, está disponible para el proceso de compilación de llamadas.

Desde Ant 1.8.0, la tarea local se puede utilizar para crear propiedades con alcance local para un objetivo o un elemento secuencial como el de la tarea macrodef.

A continuación un ejemplo del uso de la tarea property

Definimos una propiedad con el nombre yguard.version y le asignamos el valor 4.1.0, definimos una propiedad lib.dir y le asignamos el resultado de la concatenación del valor de la propiedad ${basedir}/lib

Usamos la tarea echo para imprimir el valor de la propiedad basedir 




martes, 3 de octubre de 2023

Me retiro del desarrollo de Software

 Apreciable audiencia

Me retiro del desarrollo de Software, ahora me voy a dedicar a las Inversiones y Trading, si quieres seguirme puedes suscribirte a mi canal


https://www.youtube.com/@eltradermexicano