Error al correr ./guarani compilar_recursos en g2w3

Hola
Estamos con las siguientes versiones:
Guarani 2.9.1
Guarani Web version 1.0

Al compilar recursos nos da varios errores del siguiente tipo, y no entiendo a qué se deben… transcribo:


borrando cache de twig
-- omitiendo directorio /var/guarani3w/src/siu/operaciones/_comun/js
-- omitiendo directorio /var/guarani3w/src/siu/operaciones/_comun/css
-- omitiendo directorio /var/guarani3w/src/pers/econ/operaciones/_comun/js
-- omitiendo directorio /var/guarani3w/src/pers/econ/operaciones/_comun/css
Exception in thread "main" java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.yahoo.platform.yui.compressor.Bootstrap.main(Bootstrap.java:21)
Caused by: java.util.MissingResourceException: Can't find bundle for base name org.mozilla.javascript.resources.Messages, locale es_AR
	at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
	at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
	at java.util.ResourceBundle.getBundle(ResourceBundle.java:795)
	at org.mozilla.javascript.ScriptRuntime$DefaultMessageProvider.getMessage(ScriptRuntime.java:3608)
	at org.mozilla.javascript.ScriptRuntime.getMessage(ScriptRuntime.java:3592)
	at org.mozilla.javascript.ScriptRuntime.getMessage0(ScriptRuntime.java:3540)
	at org.mozilla.javascript.Parser.addError(Parser.java:145)
	at org.mozilla.javascript.Parser.reportError(Parser.java:160)
	at org.mozilla.javascript.Parser.memberExprTail(Parser.java:2039)
	at org.mozilla.javascript.Parser.memberExpr(Parser.java:1977)


Hola Iris,

¿y si lo probas correr con permisos de super usuario (sudo)?

saludos.

Ya lo probé y lo mismo…

Hola Iris,

Parece ser un error de sintaxis en sus personalizaciones, fíjate que el error lo da cuando esta procesando los archivos de la ruta /var/guarani3w/src/pers/econ.

Fíjate de revisar los archivos JavaScript y CSS que personalizaron, y ver que no halla ningún error de sintaxis. Los podes verificar con esta aplicación (tenes una solapa de YUI Compressor que es la que usa el comando compilar_recursos).

Referencias:
https://stackoverflow.com/questions/11276135/yuicompressortask-cant-find-bundle-for-base-name-org-mozilla-javascript-resou
https://github.com/yui/yuicompressor/issues/302

saludos.

Hola
Estaba intentando agregar el plugin de fullcalendar. No pude resolver las excepciones con la versión 3.10.0.
Pero luego de mucho probar, lo resolví dejando la versión fullcalendar-3.6.2 y con esa no tuve inconvenientes.
Para cualquiera de las versiones, la herramienta http://refresh-sf.com/ no indica ningún error. Tampoco hay declaración de variables con LET.
Supongo debe ser el tema de las funciones declaradas con algún parámetro con valor por defecto…
Pude detectar que era la compresión del fullcalendar, modificando un poco el archivo src/siu/lib/kernel/consola/comandos/compilar_recursos.php para que de un poco más de info, en la función guardar_archivo emito por línea de comandos la sentencia que está intentando ejecutar:


        if ($comprimir) {
			$encoding = kernel::proyecto()->get_encoding();
                        $cmd = "yui-compressor $archivo --charset $encoding -o $path_nuevo";
 	                echo("$cmd\n\r");
                        exec($cmd);
        }

Saludos.

Hola Iris,

Claro, con ese echo que agregaron (echo(“$cmd\n\r”):wink: pueden saber con precisión que archivo esta dando el error. Luego pueden ver si dicho archivo tiene un problema de sintaxis, encoding, etc.

saludos.

Al archivo no le encontré ningún error de sintaxis…
Me inclino a que la versión del yui-compressor es un poco vieja… por eso no funciona para las versiones más nuevas del fullcalendar.

Hola Iris, gracias por la información!!!

Te pediría una cosa, ¿nos podrías adjuntar el archivo que falla al comprimir?. Asi podemos reproducir el caso, y ver si podemos actualizar el yui-compressor.

saludos.

De acuerdo!!
Hasta la versión fullcalendar-3.6.2 comprime sin problemas.
Recién a partir de fullcalendar-3.7.0 tira las excepciones.
En puntual estaba intentando usar fullcalendar-3.10.0 que es la que les envío en adjunto.
Gracias!!


fullcalendar.zip (127 KB)

La semana pasada escribí un hilo relacionado con esto… dejo el enlace por si a alguien le resulta útil:
http://foro.comunidad.siu.edu.ar/index.php?topic=20105.0

Muchas gracias!!

Hola,

Tal como dicen yui-compressor falla al comprimir el archivo fullcalendar.js, ya creamos ticket para reemplazar yui-compressor por alguna librería que haga algo parecido.

Por ahora les recomiendo alguna herramienta para comprimir de manera manual como ser estas:
https://refresh-sf.com/
https://closure-compiler.appspot.com/home

El archivo compilado lo vas a tener que copiar en /src/siu/www/_comp//js/fullcalendar.js.
El original lo vas a tener que quitar temporalmente de /src/pers//www/js/fullcalendar.js para que el comando bin/guarani compilar_recursos no te de error, luego lo volves a copiar.

saludos.
2

Hola Leonel buenas tardes.
Estoy actualizando a la versión 3.20 de 3w y me está tirando el mismo error al compilar recursos en varios archivos personalizados.
En algunos detectó un error (o cosas que no le gustaban), modifiqué el código y quedó bien.
Pero tengo otro archivo que no tiene errores, lo comprimí con https://refresh-sf.com/ y queda bien.
Por lo que entiendo, tengo que compilarlo manualmente y agregarlo a la carpeta _comp.

El tema es que me falta revisar varios archivos.
Mi pregunta es,
¿Este es el procedimiento correcto o algo nos quedó mal?
Cada vez que compile tengo que hacer esto?

Saludos!

Hola Facundo,

Ya tenemos creado ticket por este asunto, vamos a ver de reemplazar YUI Compressor por alguna otra librería que pueda minimizar todo tipo de archivos.

Por lo que entiendo, tengo que compilarlo manualmente y agregarlo a la carpeta _comp.
Claro, por ahora los que falla minimizar podes compilarlos a mano usando alguna otra librería o este sitio https://refresh-sf.com/
¿Este es el procedimiento correcto o algo nos quedó mal? Cada vez que compile tengo que hacer esto?
Si, lo vas a tener que hacer cada vez que compiles.

saludos.
2

Un atajo para ver que archivos fallan es el siguiente:

Archivo vendor/siu/chulupi-framework/src/SIU/Chulupi/consola/comandos/CompilarRecursos.php función guardar_archivo:


    protected function guardar_archivo($archivo, $path_nuevo, $comprimir = true, $absoluto = false)
    {
       .............
			$cmd = "$cmd_yui $archivo --charset $encoding -o $path_nuevo";
			
			$output=null;
			$retval=null;
			exec($cmd, $output, $retval);
			if ($retval != 0) {
				echo "Fallo el comando: $cmd \n";
			}
        ..............
    }

Cuando ejecutes el comando bin/guarani compilar_recursos en la consola te va a decir que archivos falló compilar, ej:


Fallo el comando: yuicompressor /usr/local/app/src/siu/operaciones/reinscripcion/form_reinscripcion/pagelet_form_reinscripcion.js --charset iso-8859-1 -o /usr/local/app/src/siu/www/_comp/siu/operaciones/reinscripcion/form_reinscripcion/pagelet_form_reinscripcion.js

Ahí te dice el archivo original y el destino (compilado), luego vos podrías compilarlo con otra herramienta y colocarlo en el path destino.

¿cuales son los archivos que fallan? ¿me los podrías adjuntar para tenerlos de prueba?

saludos.
2