Federico:
gracias por la respuesta.
1) Estos eventos son siempre en orden , no? Cuando mando a compilar 10
objetos que peden estar en diferentes plataformas, se compilan en
forma secuencial o pueden ejecutarse en paralelo?
La pregunta viene para saber si me llegan dos beforecompile seguidos,
puedo suponer que el primero dio error, pues no llamo al aftercompile.
2)Saber si hay warnings en la compilación no se puede ,no?
3)Puedo obtener el log del output de una compilación de un objeto?
gracias
On Friday, April 29, 2011, Federico Azzato <fazzato@genexus.com> wrote:
> Hola Enrique
> Hay algunos eventos que te pueden servir para implementar la funcionalidad que quieres.
>
> [EventPublication(GXEvents.BeforeCompileAll)]
> public event EventHandler<KBObjectCollectionCancelEventArgs> BeforeCompileAll;
>
> [EventPublication(GXEvents.BeforeCompile)]
> public event EventHandler<KBObjectCancelEventArgs> BeforeCompileObject;
>
> [EventPublication(GXEvents.AfterCompileAll)]
> public event EventHandler<KBObjectCollectionEventArgs> AfterCompileAll;
>
> [EventPublication(GXEvents.AfterCompile)]
> public event EventHandler<KBObjectEventArgs> AfterCompileObject;
>
>
> Lamentablemente ninguno de los After dicen si la compilación fue exitosa o no, por lo que paso a comentarte el mecanismo, para que veas como puedes implementar la funcionalidad.
>
> El evento BeforeCompileAll se llama antes de comenzar a compilar cualquier lista de objetos (aunque sea una lista de un único objeto).
>
> El evento BeforeCompileObject se llama una vez por cada objeto de la lista de objetos a compilar en cada plataforma. O sea, si un Environment genera para más de un lenguaje, y un mismo objeto debe compilarse para más de un lenguaje, el BeforeCompileObject se llamará más de una vez para ese objeto.
>
> El evento AfterCompileObject se llama una vez por cada objeto compilado de forma exitosa. Igual que el anterior, si un objeto se compila en distintos lenguajes, será invocado más de una vez. Lo que hay que tener en cuenta con este evento, es que si la compilación del objeto falla, el evento no es invocado.
>
> El evento AfterCompileAll se invoca al finalizar la compilación, independientemente de si ninguno, alguno, o todos los objetos fallaron. En este punto puedes evaluar cuántas veces se llamó al BeforeCompileObject y AfterCompileObject para cada key, y asignar/quitar la categoría que quieras a los objetos en función de si compilaron correctamente en cada plataforma.
>
> SaludosFederico Azzato, GeneXus Development
>
>
> +598 2 601 20 82 |
> ¿Ya probó la Evolution 1?
>
>
> Síguenos en Facebook | LinkedIn | Orkut | Twitter <http://twitter.com/genexus>
>
>
>
> 2011/4/29 Enrique Almeida <enrique.almeida@gmail.com>
>
> Revisar los logs del output para ver que fue lo que dio error de compilacion en modelos grandes, me resulta un metodo
> bastante primitivo.
>
> Me interesaria hacer una extension para poner todos los objetos main que al
> compilarlos dieron errores, en una catergoria, para que fuera mas facil
> corregirlos.
>
> Tengo algun evento al que suscribirme para saber como termino una
> compilacion? En un build all, necesito saber como termino cada una de las
> compilaciones y no solo el resultado final.
>
> Gracias,
> Enrique Almeida
> Concepto
>
>
>
--
Has recibido este mensaje porque estás suscrito al grupo "GeneXus" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a genexus@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a genexus+unsubscribe@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/genexus?hl=es.
0 Response to "[genexusextensions] Fwd: Evento fin de compilacion."
Publicar un comentario