En este corto post hablare un poco de la gran usabilidad que tiene la consola de Spring Roo y como esa simplicidad de uso es una de las razones de la popularidad que esta tomando esta herramienta.
Empecemos entrando a la consola de Roo.
Si damos TAB aparecerá algo como:
roo>
*/ /* // ; addon date development exit help hint metadata poll project
quit reference script system version
Hay que notar los comandos que aparecen.
Por el momento Roo solo nos brinda ayuda (help), guia (hint), la fecha del sistema (date), la versión de Roo (version), entre otros comandos.
Si ya han usando Roo antes recordaran que hay comandos para crear entidades (entity) y sus controllers web (controller), pero en este momento Roo no nos muestra esos comandos, ¿porque? la consola de Roo tiene la capacidad de ser consciente del contexto actual bajo el cual se esta ejecutando un comando. Por esta razón oculta comandos como entity y controller, porque para poder crear una entidad antes es necesario tener creado un proyecto y tener configurado el método de persistencia, solo cuando esas condiciones se cumplen Roo nos muestra los comandos.
Por ponerlo en otras palabras, la consola de Spring Roo oculta los comandos que no aplican
Por ejemplo, tratemos de ejecutar el comando entity en la consola de Roo en este momento. Como pueden notar no hemos creado un proyecto ni configurado su persistencia. Veamos que pasa:
roo> entity
Command 'entity' was found but is not currently available (type 'help' then ENTER to learn about this command)
Roo nos dice que el comando 'entity' no esta disponible por el momento.
Ok, ahora vamos a crear el proyecto con el comando 'project' pero no vamos a teclear todo el comando solo la letra 'p' y vamos a dar TAB, veamos que pasa:
roo> p
poll now poll speed poll status project
Roo nos muestra todos aquellos comandos disponibles por el momento que empiecen por la letra 'p'. Esta es otra característica de la consola de Roo la capacidad de completar comandos con TAB, pero no solo nos sirve para completar comandos parcialmente escritos también nos ayuda a que Roo nos muestre todas aquellas opciones que son 'requeridas' por un comando o si tecleamos '--' y TAB nos muestre las opciones (requeridos y no requeridas) del comando. Por ejemplo, tecleemos 'project' y demos TAB:
roo> project --topLevelPackage
Roo nos completo la opción 'topLevelPackage' del comando 'project' ya que esta opción es requerida. ¿Como nos podemos dar cuenta de que esta opción es requerida?, es simple, si tecleamos el comando 'project' y damos ENTER:
roo> project
You must specify a default option (otherwise known as option 'topLevelPackage') for this command
Si bien Roo tiene muchos comandos y conforme salgan mas liberaciones y mejoras tendrá muchos mas, no debemos preocuparnos ya que con la gran usabilidad que tiene podemos obtener fácilmente ayuda y guía de como usarlos.
Siempre podemos ver las opciones y descripción completa de un comando usando 'help':
roo> help project
Keyword: project
Description: Creates a new project
Keyword: ** default **
Keyword: topLevelPackage
Help: The uppermost package name (this becomes thein Maven and also the '~' value when using Roo's shell)
Mandatory: true
Default if specified: '__NULL__'
Default if unspecified: '__NULL__'
Keyword: projectName
Help: The name of the project (last segment of package name used as default)
Mandatory: false
Default if specified: '__NULL__'
Default if unspecified: '__NULL__'
Keyword: java
Help: Forces a particular major version of Java to be used (will be auto-detected if unspecified; specify 5 or 6 or 7 only)
Mandatory: false
Default if specified: '__NULL__'
Default if unspecified: '__NULL__'
Keyword: template
Help: The type of project to create (defaults to STANDARD_PROJECT)
Mandatory: false
Default if specified: 'STANDARD_PROJECT'
Default if unspecified: 'STANDARD_PROJECT'
Keyword: project
Description: Creates a new project
Keyword: ** default **
Keyword: topLevelPackage
Help: The uppermost package name (this becomes thein Maven and also the '~' value when using Roo's shell)
Mandatory: true
Default if specified: '__NULL__'
Default if unspecified: '__NULL__'
Keyword: projectName
Help: The name of the project (last segment of package name used as default)
Mandatory: false
Default if specified: '__NULL__'
Default if unspecified: '__NULL__'
Keyword: java
Help: Forces a particular major version of Java to be used (will be auto-detected if unspecified; specify 5 or 6 or 7 only)
Mandatory: false
Default if specified: '__NULL__'
Default if unspecified: '__NULL__'
Keyword: template
Help: The type of project to create (defaults to STANDARD_PROJECT)
Mandatory: false
Default if specified: 'STANDARD_PROJECT'
Default if unspecified: 'STANDARD_PROJECT'
* project - Creates a new project
** Type 'hint' (without the quotes) and hit ENTER for step-by-step guidance **
Es todo por ahora. Comenten por favor.
2 comments:
gracias por el artículo, estaré atento, soy nuevo en esto de Roo pero ya me está emocionando, saludos
Muy bueno, realmente creo que Spring roo es una herramienta bastante simple de usar.
Post a Comment