Pllugin para Grails que permite integrar código Scala
Hola,
Acabo de publicar una nueva versión del plugin de Grails que permite tener código Scala en una aplicación Grails. En breve, lo que hace este plugin es invocar al compilador de Scala con los fuentes que encuentre en el directorio src/scala y src/java de una aplicación Grails, deja los binarios en el classpath para que sean usados por artefactos Grails. Cualquier controller, servicio, taglib, etc. de Grails puede usar los binarios de Scala. La única limitante por ahora, es que desde código Scala no es posible acceder a artefactos Grails, esto debido a que no se cuenta con un joint-compiler entre Grovy/Scala. Solo existe entre Java/Scala.
Esta ultima versión, incorpora soporte para la mas reciente versión estable de Scala, la 2.9.1. Espero les sea tan útil como lo es para mi.
Ya se encuentra publicado en el repositorio oficial de plugins de Grails:
- domix's blog
- Inicie sesión o regístrese para enviar comentarios
Que bien
je je
@domix
Que bueno que te animaste a publicar este post... ya ves no hay que temerle a los trolls/bots. Voy a probar el plugin s ve interesante.
?:)
src/java
Se compila doble entonces? Creo que Grails sin ningún plugin ya compila los fuentes de Java que haya en src/java, no? que ahí es donde podría estar el puente entre Groovy y Scala, si primero el compilador de Groovy compila fuentes de Java en src/java que puedan hacer referencia a clases en src/groovy (creo que lo de src/java tampoco puede hacer referencia a controladores ni servicios ni nada de eso, son como puras clases auxiliares a fin de cuentas).
Supongo que la solución sería hacer dos pases, primero compilar lo de src/java y src/scala pero ignorar las clases que no pudieron compilar por hacer referencia a clases de Groovy que todavía no existen (controladores, etc), luego que Grails compile todo eso, y finalmente compilar las clases que fallaron en la primera pasada por ese error. Sería cosa de ver si se puede interceptar el error de compilación específico de cuando no encuentra una clase para poner ese fuente en una lista aparte para la segunda pasada...
esta bueno hay que provarlo
esta bueno hay que provarlo
Ya le echaré manos a proyectos grails
Dado a que no me gusta Groovy (siento que es forzar cosas de Ruby a Java y es algo verdaderamente forzado) echaba mucho rodeo para evitar tocar proyectos Grails, ahora tengo un proyecto Grails y estaba pues metiéndole un poco y de verdad que por más que le tecleo al Groovy nomás no me gusta.
Voy a ver que ondas con tu plugin Domingo, porqué a diferencia de Groovy, Scala me entona un buen, que bien que hay gente que se avienta proyectos cómo este, muchas gracias.
Re: Ya le echaré manos a proyectos grails
Si de plano no te gusta Groovy pero usarás Grails porque se puede usar Scala, ¿no sería mejor que probaras algún framework web para Scala como Lift?
Re: Re: Ya le echaré manos a proyectos grails
El problema mi H.H. benek es que hay veces que me dicen: "Oye va a faltar Inutilmeno y necesitamos aventarnos ese proyecto para el Lunes, ¿nos echas la mano?, está en Grails". A eso me refiero.
De ser puro Scala con gusto utilizo Lift o Play! (dependiendo, porqué de verdad que Anorm es bien Cool). En fin, a eso me refería, meterle manos a proyectos que empezaron en Grails y que me piden darle mantenimiento o asistencia :), de mis manos no espero teclear código puramente Groovy, al menos no por voluntad.
Es un poco mas elaborado que
@chochos
Es un poco mas elaborado que eso, pero tal como lo describes a grandes rasgos funciona un joint-compiler. Pero esa es la idea. Mientras no tengamos el joint-compiler no podremos hacer referencias mutuas.
No se compila 2 veces, tal como lo escribí busca código Scala, y si el Scala necesita una clase Java la busca en src/scala y src/java