]> source.dussan.org Git - vaadin-framework.git/commitdiff
Migrate VaadinOnGrailsCreateProjectInIntellijIDEA pr9959/r12
authorErik Lumme <erik@vaadin.com>
Tue, 12 Sep 2017 06:47:41 +0000 (09:47 +0300)
committerErik Lumme <erik@vaadin.com>
Tue, 12 Sep 2017 06:47:41 +0000 (09:47 +0300)
documentation/articles/VaadinOnGrailsCreateProjectInIntelliJIDEA.asciidoc [new file with mode: 0644]
documentation/articles/contents.asciidoc

diff --git a/documentation/articles/VaadinOnGrailsCreateProjectInIntelliJIDEA.asciidoc b/documentation/articles/VaadinOnGrailsCreateProjectInIntelliJIDEA.asciidoc
new file mode 100644 (file)
index 0000000..a63200f
--- /dev/null
@@ -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]
index 3a3a42910e2ea9e03eba077766d6d103038f929b..7fb53da2dc7998f50763b32e0724feaa6a614cce 100644 (file)
@@ -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]