scala - que - ¿Cómo integrar Play Framework 2.0 en la administración de compilaciones de Gradle utilizando las dependencias de Maven?
maven tutorial español (4)
Buenas noticias, a partir de Gradle 2.7 hay un complemento de juego oficial: https://docs.gradle.org/current/userguide/play_plugin.html
Play Framework 2.0 es un marco independiente de pila completa para crear aplicaciones web. Probablemente, muchas personas necesitan integrarlo en su gestión de compilación, sin embargo. Desafortunadamente, no encontré mucha información sobre él.
Aquí está mi caso de uso: quiero crear un nuevo proyecto, que usa Scala y Play 2.0. NO quiero usar sbt. Quiero usar Gradle, y la administración de la dependencia debe hacerse a través de los repositorios de Maven.
Solo he encontrado este módulo de juego: http://www.playframework.org/modules/maven-1.0/home que admite la administración de dependencias a través de Maven.
Estoy buscando algo como estos ejemplos en Grails: https://github.com/grails/grails-gradle-plugin o http://grails.org/doc/latest/guide/commandLine.html#4.5%20Ant%20and%20Maven
Por supuesto, podría escribir scripts / tareas que llamen "comandos de la consola de reproducción". Sin embargo, no me gusta esta solución. ¿Hay alguna forma mejor de usar Gradle / Maven para la administración de compilación? Si esta es la única solución, entonces usaría Gradle, que luego llama a los comandos Play (es decir, sbt internamente), ¿verdad? ¿Esto funciona, o surgirán otros problemas?
Diseñé un script de compilación simple en Gradle para Play Framework 1.2.x, que también podría usar para Play 2.x
LinkedIn está haciendo un plugin de Gradle para apoyar esto . Están implementando esto en 3 hitos:
- Usando Gradle para construir una aplicación Play
- Modo continuo y recarga en caliente
- Scala interactivo REPL
Milestone 1 ya está completo. Está disponible a través de las compilaciones nocturnas de Gradle . En la publicación de blog vinculada anterior, animan a la gente a intentarlo.
Este es un negocio muy complicado. SBT in Play se utiliza para buscar dependencias, compilar fuentes y plantillas, y para la compilación incremental SBT + función de recarga automática. build.gradle
una build.gradle
comandos build.gradle
para resolver todas las dependencias de Play 2.0 y configurar las rutas de build.gradle
Eclipse o IntelliJ IDEA, y lo hice público aquí .
Trataré de implementar la compilación más tarde cuando tenga tiempo, pero eso requeriría un poco de investigación. Por supuesto, puede agregar tareas de compilación y ejecución que simplemente deleguen a SBT, pero eso requeriría describir todas las dependencias de su proyecto tanto en SBT como en Gradle, lo cual será difícil de administrar.
Editar:
He actualizado el archivo build.gradle de muestra . He agregado tareas de playCompile
y playClean
que deberían ser playClean
en un entorno de CI. La tarea playCompile
hace lo siguiente:
- Copie todas las dependencias de usuario (definidas en la configuración de
compile
) alib/
folder. Esto funciona porque Play amablemente recogerá todos los jar de debajo delib/
. - Ejecute el comando
play compile
para compilar todas las fuentes, plantillas y otras funciones de Play framework.
Puede usar cleanCopyPlayLibs
y playClean
para eliminar la salida de los comandos anteriores, respectivamente.
Tenga en cuenta que parece haber un problema extraño (¿error?) En Windows, lo que significa que incluso si la play compile
falla, Gradle le dirá que tuvo éxito.
Responder para comentar:
Creo que simplemente estás perdiendo
repositories{
mavenCentral()
}
en tu archivo. Verifique este documento .