Wiki » History » Version 4
Henning Blohm, 22.01.2015 16:32
| 1 | 1 | Henning Blohm | h1. Intro |
|---|---|---|---|
| 2 | |||
| 3 | 2 | Henning Blohm | This project is for the development of [[z2-environment:wiki|z2-environment]] version 3.0. |
| 4 | 1 | Henning Blohm | |
| 5 | 2 | Henning Blohm | Version 3.0 is a major refactoring release of z2 with new repository code lines and complete package renaming. |
| 6 | 1 | Henning Blohm | |
| 7 | 2 | Henning Blohm | h1. Essential Differences between v2.3 and v3. |
| 8 | 1 | Henning Blohm | |
| 9 | 2 | Henning Blohm | * All the typical declarations and package names are no longer *com.zfabrik.<something>* but rather *org.z2env.<something>* |
| 10 | 3 | Henning Blohm | * The <z2 home> layout is completely new. |
| 11 | * The essential component types that can be _invoked_ from the core is *system state* and *main program*. |
||
| 12 | 2 | Henning Blohm | * While Jetty is still contained to support Eclipsoid and z2Unit, we support a pre-installed Tomcat as application container. |
| 13 | 1 | Henning Blohm | * The core is lighter and more dedicated. |
| 14 | 3 | Henning Blohm | * No worker suppport without a corresponding add-on. |
| 15 | 2 | Henning Blohm | * There will be substantially less application support like a built-in JTA implementation but we will rather demonstrate how to use third-party tools. |
| 16 | 1 | Henning Blohm | |
| 17 | 2 | Henning Blohm | h1. Draft Documentation |
| 18 | 1 | Henning Blohm | |
| 19 | 2 | Henning Blohm | h2. Getting Started |
| 20 | 1 | Henning Blohm | |
| 21 | 2 | Henning Blohm | To understand how z2 works, you need to understand at most what are z2 modules and components and what are component repositories and how these concepts interplay. |
| 22 | 1 | Henning Blohm | |
| 23 | 2 | Henning Blohm | Check out [[wiki#understanding-z2|understanding-z2]] for that. |
| 24 | 1 | Henning Blohm | |
| 25 | 2 | Henning Blohm | It is simplest to start by running a simple Java main program in z2 or a simple Web App. |
| 26 | 1 | Henning Blohm | |
| 27 | 2 | Henning Blohm | Follow this trail: |
| 28 | 1 | Henning Blohm | |
| 29 | 4 | Henning Blohm | * [[wiki#Building-z2env-core|Building the core]] |
| 30 | 3 | Henning Blohm | * [[wiki#running-a-hello-world-main-program|Running a Hello World main program]] |
| 31 | * [[wiki#running-a-hello-world-web-app|Running a Hello World Web App]] |
||
| 32 | 1 | Henning Blohm | |
| 33 | 3 | Henning Blohm | h2. Building z2env-core |
| 34 | 1 | Henning Blohm | |
| 35 | 3 | Henning Blohm | First clone http://git.z2-environment.net/z2env.core |
| 36 | |||
| 37 | <pre> |
||
| 38 | git clone http://git.z2-environment.net/z2env.core |
||
| 39 | </pre> |
||
| 40 | |||
| 41 | Switch into *org.z2env.core.main* and run |
||
| 42 | |||
| 43 | <pre> |
||
| 44 | ant -Doutput=<location of z2 home> -Dsetup=<pre configured roots> |
||
| 45 | </pre> |
||
| 46 | |||
| 47 | where <location of z2 home> is where you want to install z2 (the <z2-home>) and <pre configured roots> is a choice of pre-configured content, actually component repositories. |
||
| 48 | |||
| 49 | If you omit *output* it will default to *gen/dist*. If you omit *setup*, no content will be pre-configured will be modified. |
||
| 50 | |||
| 51 | Check the folder *setups* for available setups of the core build. These can be local (all repos will be cloned locally) or remote (repos will be remoted). |
||
| 52 | |||
| 53 | In general this build always updates only boot, z.jar, roots. It will not remove anything. |
||
| 54 | |||
| 55 | Example to install/update a core only into ../../z2env: |
||
| 56 | |||
| 57 | <pre> |
||
| 58 | ant -Doutput=here |
||
| 59 | </pre> |
||
| 60 | |||
| 61 | To install/update a web-basic setup (with tomcat and eclipsoid support) with updates from remote repos: |
||
| 62 | |||
| 63 | <pre> |
||
| 64 | ant -Doutput=../../z2env -Dsetup=web-basic-remote |
||
| 65 | </pre> |
||
| 66 | |||
| 67 | h2. Understanding the <HOME> |
||
| 68 | |||
| 69 | We call an installation of a z2env core a *<home>*. The file structure of the *<home>* consists of few but important locations: |
||
| 70 | |||
| 71 | | z.jar | The actual core implementation. This is precompiled.| |
||
| 72 | | boot/ | A component repository adding to the core and provides the most basic capabilities such as compiling Java code and running a main program. | |
||
| 73 | | roots/ | A file system component repository that is always registered by the core. This is typically filled with other repository components linking to remote or local component repositories. | |
||
| 74 | | modules/ | A file system repository declared under roots/ that is useful to locally augment a core installation.| |
||
| 75 | |||
| 76 | We use the modules repository for example for command line experiments and simple hacks. It is not as useful for regular development operations as is the dev repo. |
