From e16ec959bf6f3c1d76cc7d3ba7a05fb9a0537aa6 Mon Sep 17 00:00:00 2001 From: Erik Lumme Date: Tue, 12 Sep 2017 09:47:41 +0300 Subject: [PATCH] Migrate VaadinOnGrailsCreateProjectInIntellijIDEA --- ...GrailsCreateProjectInIntelliJIDEA.asciidoc | 108 ++++++++++++++++++ documentation/articles/contents.asciidoc | 1 + 2 files changed, 109 insertions(+) create mode 100644 documentation/articles/VaadinOnGrailsCreateProjectInIntelliJIDEA.asciidoc diff --git a/documentation/articles/VaadinOnGrailsCreateProjectInIntelliJIDEA.asciidoc b/documentation/articles/VaadinOnGrailsCreateProjectInIntelliJIDEA.asciidoc new file mode 100644 index 0000000000..a63200fa5e --- /dev/null +++ b/documentation/articles/VaadinOnGrailsCreateProjectInIntelliJIDEA.asciidoc @@ -0,0 +1,108 @@ +[[vaadin-on-grails-create-project-in-intellij-idea]] +Vaadin on grails - Create project in IntelliJ IDEA +-------------------------------------------------- + +_Versions used in this tutorial: Grails 2.3.x, Vaadin 7.1.x. News and +updates about Vaadin on Grails are available on +https://twitter.com/VaadinOnGrails[VaadinOnGrails]_ + +In this tutorial we will show how to create and setup +http://grails.org/doc/latest/guide/single.html[Grails] project together +with https://vaadin.com/learn[Vaadin], in IntelliJ IDEA. These two +frameworks Grails and Vaadin are integrated together with this +http://grails.org/plugin/vaadin[plugin]. + +First we need to setup Grails with IDE, +http://www.jetbrains.com/idea/[IntelliJ IDEA 13] in this tutorial. Or we +could get https://spring.io/tools/ggts[Groovy/Grails Tool Suite] +which is without any fees. + +[[setup-ide]] +Setup IDE ++++++++++ + +1. Go to http://grails.org/download and get the latest version of +Grails +2. Unpack it on your local computer and start up IntelliJ IDEA +3. Open the *New Project* window and select Grails from the list. Click +on *Create...* button and then select the root of your unpacked Grails +archive.  + +image:http://vaadinongrails.com/img/setup-idea.png[Setup IDEA] + +[[create-new-project]] +Create New Project +++++++++++++++++++ + +Fill in the name of the project and choose the latest version of Grails. + +image:http://vaadinongrails.com/img/new-project.png[Create new project] + +Click on *Finish* and on the next dialog, choose **Run 'create +app'** + +image:http://vaadinongrails.com/img/create-app-idea.png[Create app IDEA] + +Open file `BuildConfig.groovy` and add new plugin as follows: +`compile ":vaadin:7.1.11"`. The latest version of the plugin is always +available on http://grails.org/plugin/vaadin + +image:http://vaadinongrails.com/img/build-config-idea.png[Build config IDEA] + +We have to disable Grails to take control over the URLs, so Vaadin can +do it. Open `UrlMappings.groovy` file and remove the mapping, so the +content of the file is the following: + +.... +class UrlMappings { + static mappings = {} +} +.... + +If you see this error, run grails again and compile it again. There an +issue with grails and it is not possible to compile the project in the +first run. + +.... +target/work/plugins/vaadin-7.1.11/scripts/_Events.groovy: 1: unable to resolve class com.vaadin.grails.VaadinConfiguration @ line 1, column 1. import com.vaadin.grails.VaadinConfiguration +.... + +Now we want Vaadin plugin to generate the mandatory files in order to be +able to run Vaadin application. On the right side in the menu, there is +a launch button, click on that one. + +image:http://vaadinongrails.com/img/run-app-idea.png[Run app IDEA] + +You can also press `Alt+Cmd+G` on Mac OS or `Ctrl+Alt+G` on Windows and +type `run-app` command there. + +Mark `grails-app/vaadin` folder as a source folder in IDE. + +image:http://vaadinongrails.com/img/source-folder-idea.png[Source folder IDEA] + +Run the application again and a Vaadin application with a single *Home* +label will be available on http://localhost:8080/ria-app in your +browser. + +image:http://vaadinongrails.com/img/first-run.png[First run] + +[[developing]] +Developing +++++++++++ + +All the Vaadin code should be placed in `grails-app/vaadin` folder. All +the other classes that are not UI related can be put to `src/groovy` or +`src/java`. + +Open the generated `MyUI.groovy` file, edit the content a bit and save +the file. See that the class has been recompiled and when you refresh +the page, it gets automatically updated. You don't have to restart the +application or use JRebel for small changes. But if we change the +application context, add a new bean, change method signature and other +'big' changes, we have to restart the application. + +image:http://vaadinongrails.com/img/recompile-idea.png[Recompile IDEA] + +Now you can continue with +link:VaadinOnGrailsDatabaseAccess.asciidoc[Vaadin +on Grails - Database access] diff --git a/documentation/articles/contents.asciidoc b/documentation/articles/contents.asciidoc index 3a3a42910e..7fb53da2dc 100644 --- a/documentation/articles/contents.asciidoc +++ b/documentation/articles/contents.asciidoc @@ -41,3 +41,4 @@ are great, too. - link:CreatingASimpleComponent.asciidoc[Creating a simple component] - link:IntegratingAnExistingGWTWidget.asciidoc[Integrating an existing GWT widget] - link:IntegrationExperiences.asciidoc[Integration experiences] +- link:VaadinOnGrailsCreateProjectInIntelliJIDEA.asciidoc[Vaadin on grails - Create project in IntelliJ IDEA] -- 2.39.5