¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Generación de Clases Java JAXB desde Archivos XSD con ANT y Patrón de Llamada SEO

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 44 Vistas
0
Cargando...

Creé un nuevo objetivo, que es para generar clases Java JAXB basadas en archivos XSD, alineado con otros objetivos ANT predefinidos en la extensión existente, pero no sé cómo se llamará, o cuál será el patrón de llamada aquí.

     <target name="generate-myextension-jaxb-files">
         <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
             <classpath>
                 <fileset dir="${ext.core.path}/lib" includes="*.jar" />
                 <fileset dir="${ext.cockpit.path}/antlib" includes="*.jar" />
             </classpath>
         </taskdef>
         <echo>Generando archivos JAXB</echo>
         <xjc
                 destdir="${ext.myextension.path}/src"
                 schema="${ext.myextension.path}/resources/123.xsd"
                 package="a.b.c">
             <produces dir="${ext.myextension.path}/a/b/c">
                 <include name="*.java"/>
             </produces>
             <depends file="${ext.myextension.path}/resources/123.xsd"/>
         </xjc>
     </target>

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

3 Respuestas

0
Cargando...

El patrón Hybris habitual aquí es poner la tarea que realiza en una macro y llamarla desde las macros de devolución de llamada y un objetivo.

por ejemplo.

 <macrodef name="generate-myextension-jaxb-files-executor">
    <!-- do the work here, e.g. call xjc -->
 </macrodef>
 <macrodef name="myextension_before_build">
    <generate-myextension-jaxb-files-executor/>
 </macrodef>
 <target name="generate-myextension-jaxb-files">
     <generate-myextension-jaxb-files-executor/>
 </target>

Consulta el buildcallbacks.xml de tu extensión de tienda para ver ejemplos.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Claro, esta es la forma habitual de hacerlo. Pensé que estabas preguntando cómo hacer que se llame como parte del proceso de construcción y poder ser llamado a través de un objetivo ant regular.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Solo para el registro, solución encontrada: dirijo todo el contenido objetivo en macrodef:

 <macrodef name="myexten_before_build">
     <sequential>
         <xjc
                 destdir="${ext.myexten.path}/src"
                 schema="${ext.myexten.path}/resources/ABC.xsd"
                 package="this.is.a.package">
             <produces dir="${ext.myexten.path}/src/this/is/a/package">
                 <include name="*.java"/>
             </produces>
             <depends file="${ext.myexten.path}/resources/ABC.xsd"/>
         </xjc>
     </sequential>
 </macrodef>
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?