How to run a sample » History » Version 21
Henning Blohm, 18.09.2012 09:45
1 | 19 | Henning Blohm | h1. How to run a sample |
---|---|---|---|
2 | 1 | Henning Blohm | |
3 | Various z2-based sample system configurations have been prepared as Git repositories. |
||
4 | |||
5 | 14 | Henning Blohm | Assuming you know the repository URL these three steps (with or without Eclipse) are all there is to do: |
6 | |||
7 | 21 | Henning Blohm | h1. Eclipse users (recommended) |
8 | 14 | Henning Blohm | |
9 | 20 | Henning Blohm | Most likely you will want to look at code or configuration files of a sample. That is why we recommend to start from within the Eclipse IDE. If you prefer the command line or another IDE, please proceed to [[How to Run a Sample#From the command line|From the command line]]. |
10 | 14 | Henning Blohm | |
11 | 17 | Henning Blohm | Open Eclipse with a new workspace in a new folder, say *sample*. Note: We will clone repositories as siblings to your workspace. So let's assume your workspace is *sample/workspace*. |
12 | 1 | Henning Blohm | |
13 | 19 | Henning Blohm | h2. 1. Prepare a z2-base installation |
14 | 1 | Henning Blohm | |
15 | 17 | Henning Blohm | As the location where repositories are cloned to matters, it is simplest you open the Git tab in the Eclipse preferences and enter "${workspace_loc}/.." as default repository location. |
16 | 1 | Henning Blohm | |
17 | 18 | Henning Blohm | Open the Git Perspective and clone the "z2-base.core":http://redmine.z2-environment.net/projects/z2-base/repository/core repository from this URL *http://git.z2-environment.net/z2-base.core*. For convenience choose to import all projects into the workspace or do so after cloning has completed. You should end up having a project *core* in your workspace. That project is the z2 core that will fetch dependency resources as needed later on. |
18 | 1 | Henning Blohm | |
19 | 19 | Henning Blohm | h2. 2. Clone the sample repository |
20 | 17 | Henning Blohm | |
21 | Now repeat the same with the repository for the specific sample. It is important that the repository is cloned as a sibling to the core, So that the core can pick up modules defined in the sample. |
||
22 | |||
23 | 21 | Henning Blohm | h2. 3. Start and Introspect |
24 | 1 | Henning Blohm | |
25 | You can launch Z2 from Eclipse by the _launcher_ file in the root of the *core* project (or by navigating to *Run* / *External Tools* / *External Tools Configurations...* and pick the launcher). A GUI wrapping the console should open up and you are ready to go. |
||
26 | 21 | Henning Blohm | |
27 | Once it is running, import the projects from the sample repository into your workspace, so that you can have a look at them. If you have previously installed the Eclipsoid plugin (see [[Step_3_-_First_steps_with_Z2_on_Git#Installation-of-the-Eclipsoid-plug-in]]) you can conveniently resolve all compilation dependencies with one click from within Eclipse. |
||
28 | 17 | Henning Blohm | |
29 | 19 | Henning Blohm | h1. From the command line |
30 | 17 | Henning Blohm | |
31 | All you need is Java Runtime Environment (JRE) of at least version 6. Other pre-requisites, for example some database setup may be required based on the specific example, i.e. stuff that cannot be covered here. |
||
32 | 1 | Henning Blohm | |
33 | 19 | Henning Blohm | h2. 1. Prepare a z2-base installation |
34 | 2 | Henning Blohm | |
35 | Create a folder to hold the installation. We will assume that folder is called *sample* |
||
36 | |||
37 | In *sample* execute |
||
38 | 11 | Henning Blohm | |
39 | 5 | Henning Blohm | <pre> |
40 | 11 | Henning Blohm | git clone -b master http://git.z2-environment.net/z2-base.core |
41 | 2 | Henning Blohm | </pre> |
42 | |||
43 | Go into *sample/z2-base.core/run/bin* and run |
||
44 | |||
45 | <pre> |
||
46 | ./gui.sh |
||
47 | </pre> |
||
48 | |||
49 | or |
||
50 | |||
51 | <pre> |
||
52 | gui.bat |
||
53 | 1 | Henning Blohm | </pre> |
54 | 3 | Henning Blohm | |
55 | 2 | Henning Blohm | depending on your operating system. A simple graphical console should open up that displays the console log output of the z2 <home> and worker processes - as explained in http://www.z2-environment.eu/check_it_out. |
56 | |||
57 | 18 | Henning Blohm | At the first start, the environment will download required resources, which may take a few minutes - depending on your network bandwidth. Subsequent starts will be much quicker. Eventually the server should be up and you can go to the basic admin view at http://localhost:8080/adm (use z* with password z) to verify everything is cool. You do actually not need to start before completing step 3. But checking things are working doesn't hurt either. |
58 | 6 | Henning Blohm | |
59 | 1 | Henning Blohm | Stop the environment again by either pressing Ctrl+C on the console where you started the GUI or by clicking the Exit button on the GUI. |
60 | 3 | Henning Blohm | |
61 | 1 | Henning Blohm | h2. 2. Clone the specific sample repository |
62 | 3 | Henning Blohm | |
63 | 1 | Henning Blohm | Given the sample repository is called *z2-samples.sampleX*, go into *sample* once more and run |
64 | 3 | Henning Blohm | |
65 | 1 | Henning Blohm | <pre> |
66 | git clone -b master http://git.z2-environment.net/z2-samples.sampleX |
||
67 | 5 | Henning Blohm | </pre> |
68 | 3 | Henning Blohm | |
69 | 18 | Henning Blohm | h2. 3. Start |
70 | |||
71 | Now start the environment again as described above. The environment will now run with the sample configuration and all required dependencies. |
||
72 | 4 | Henning Blohm | |
73 | In other words: That's it. |
||
74 | 3 | Henning Blohm | |
75 | 19 | Henning Blohm | h2. Why does that actually work? |
76 | 3 | Henning Blohm | |
77 | If you care, here is how everything falls into place: |
||
78 | 13 | Henning Blohm | |
79 | 3 | Henning Blohm | The z2-base.core repository contains a z2 core installation that is bound to a remote "system repository" at "http://git.z2-environment.net/z2-base.base":http://redmine.z2-environment.net/projects/z2-base/repository/base?rev=master. As it is by now best practice with z2, that repository contains an *environment* module that describes system specific settings such as other repositories. |
80 | |||
81 | By cloning the sample repository you put an override of *environment* module into view of the _dev repository_. That is, the local server will take your local definitions with preference over the remote definitions. These may include other remote component repositories such as *z2-addons.spring*. |
||
82 | |||
83 | In addition the sample repository contains all the modules holding code and other resources that implement the actual sample. |
||
84 | |||
85 | If you already understand how the _dev repository_ works, you will not be surprised to find files called LOCAL in the module folders of cloned repository's workspace. |
||
86 | |||
87 | h2. References |
||
88 | |||
89 | 1 | Henning Blohm | * Dev Repository: http://www.z2-environment.eu/v20doc#Workspace%20Development%20Using%20the%20Dev%20Repository |