Project

General

Profile

IntelliJ z2 plugin » History » Version 12

Udo Offermann, 09.05.2014 15:04

1 1 Udo Offermann
h1. IntelliJ z2 plugin
2
3
The z2-plugin for IntelliJ IDEA simplifies development with the z2-environment. 
4
The following features are supported as of version 1.0:
5
6 6 Udo Offermann
* *[[IntelliJ_z2_plugin#Launching|Launching]]:* Start your z2-environment on your local machine from the IDE
7 10 Udo Offermann
* *[[IntelliJ_z2_plugin#z2-sync|z2-sync]]:* Synchronize your local changes with the z2-environment
8 6 Udo Offermann
* *[[IntelliJ_z2_plugin#z2-dependency-resolution|z2 dependency resolution]]:* Resolve missing dependencies from the z2-environment
9
* *[[IntelliJ_z2_plugin#Managing z2-modules|Managing z2-modules]]:* z2-modules can be created and deleted on demand
10
* *[[IntelliJ_z2_plugin#Arming modules|Arming modules]]:* Armed z2-modules become active after z2-Sync.
11
* *[[IntelliJ_z2_plugin#z2-Module wizard|z2-Module wizard]]:* Create new z2-modules with or without Spring support
12
* *[[IntelliJ_z2_plugin#z2-Properties editor|z2-Properties editor]]:* Provides completions and documentation for z2-properties files
13 1 Udo Offermann
14
h2. Installation
15
16 11 Udo Offermann
h2. Prerequisites
17
18 12 Udo Offermann
The IntelliJ z2-plugin requires a certain project layout. The z2-repositories should be checked out directly beneath the project folder
19
(i.e. as siblings of the .idea folder). You have to checkout at least z2-core (e.g. z2-base.core) and the repository containing the modules
20
you want to work with (let's call it "modules"). If you are using Git you must not necessarily clone z2-base.core and z2-addons etc. - 
21
however if you are using subversion it might be easier to check out the whole trunk making it easier to update the sources with one command.
22
23
The important point is that the project structure should look like this:
24
25
<pre>
26
.../my-project
27
     /modules
28
       /my-module-A
29
         ...
30
       /my-web-app-X
31
         ...
32
       /my-web-app-Y
33
         ...
34
     /z2-base.core
35
      ...
36
</pre>
37
38
Where my-module-A and my-web-app-* are arbitrary z2-modules.
39
40
Note that this is slightly different to the Eclipse approach when working with subversion. In Eclipse it's much easier to checkout a project from subversion into
41
the workspace (note the an Eclipse project is more or less on the same level than an IntelliJ module). So in Eclipse you checkout projects and delete them on demand
42
(after you committed your changes). In IntelliJ you _map_ and _unmap_ modules into the IDE which is similar to the Eclipse-Git approach.
43
44
This means that all checked out repositories automatically belong to the z2 dev-repository. Of course their module remain inactive as long as they are unarmed.
45
46 1 Udo Offermann
h2. Preferences
47
48 8 Udo Offermann
The z2-plugin preferences can be found at Project-Settings -> z2-Environment. The typically development settings like host-name=localhost, port=8080, user=z* and password=z are set by default.
49
Once a z2-environment is up and running the settings can be verified using "Test connection...".
50
51
The field "z2 Home Directory" must point to the folder where the z2-core is installed. This location can be chosen by the file picker dialog or by "Search z2-Home" button.
52
The latter one searches the directory structure within your IntelliJ project folder for a valid z2-Home location. The z2-Home location defines which z2-environment will be started when 
53
launching the z2-environment from the IDE.
54
55 1 Udo Offermann
h2. Launching
56
57 9 Udo Offermann
Once the z2-Home is defined, the z2-environment can be launched from the IDE: Select *Tools* -> *Launch z2-environment...*.
58
This will start the z2-environment on your local machine using your local OS JDK (not the one defined in IntelliJ). Beside
59
the standard z2-Swing window the server output is logged inside an IntelliJ tool window (see *View* -> *Tool Windows* -> *z2-environment*).
60
Logs from the z2-server are displayed in red text color while output from the z2-plugin is displayed in blue.
61
62 10 Udo Offermann
h2. z2-sync
63 6 Udo Offermann
64 7 Udo Offermann
h2. z2 dependency resolution
65 6 Udo Offermann
66 7 Udo Offermann
h2. Managing z2-modules
67 6 Udo Offermann
68 7 Udo Offermann
h2. Arming modules
69 6 Udo Offermann
70 7 Udo Offermann
h2. z2-Module wizard
71 6 Udo Offermann
72 7 Udo Offermann
h2. z2-Properties editor