Skip to end of metadata
Go to start of metadata

How to setup build system - dependencies and core modules building.

Preparations

First of all install Java SDK, version 1.5.0 or higher.

http://java.sun.com/j2se/1.5.0/download.jsp

Be sure you have set $JAVA_HOME pointing to java installation directory and $JAVA_HOME/bin directory is in your $PATH.
Execute 'java -version' if you can see following output go to the next step:

java version "1.5.x_xx"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.x_xx-xxx)
Java HotSpot(TM) Client VM (build 1.5.x_xx-xxx, mixed mode, sharing)

To build cyklotron, you need to install Apache Maven first. We strongly recommend using the most recent stable version (1.1 Beta 1, at the time of writing). Building with older version is possible but requires tweaking configuration files, and we will not provide any support in this regard.

Set $MAVEN_HOME to point to maven directory and add $MAVEN_HOME/bin to your execution $PATH.

Execute 'maven -v' to assure you did it correctly.

Non distributable dependencies

Then you need to download some dependency jars and put it into your local maven repository. On Unix systems it is normally $HOME/.maven/repository/ Consult Maven documentation for more information.

name

url

local repository path

Java Mail 1.3.2

http://java.sun.com/products/javamail/

javamail/jars/mailapi-1.3.2.jar
javamail/jars/smtp-1.3.2.jar

Java Activation Framework 1.0.2

http://java.sun.com/products/javabeans/glasgow/jaf.html

jaf/jars/activation-1.0.2.jar

Java Transaction API 1.0.1b

http://java.sun.com/products/jta

jta/jars/jta-1.0.1b.jar

J2EE Connector Architecture 1.5

http://java.sun.com/j2ee/connector/

connector/jars/connector-1.5.jar

(warning) It happens that sun provide jar archives with zip extension.

All the remaining dependencies should be dowloaded automatically by Maven. (warning) Be prepared that about 20mB of jars will be downloaded during the first build cycle.

Getting the source

All needed sources are located in following repositories:

host

cvs root

login

module name

objectledge.org

/cvsroot/coral

anoncvs

coral-api

objectledge.org

/cvsroot/coral

anoncvs

coral-browser

objectledge.org

/cvsroot/coral

anoncvs

coral-common

objectledge.org

/cvsroot/coral

anoncvs

coral-datatypes

objectledge.org

/cvsroot/coral

anoncvs

coral-maven-plugin

objectledge.org

/cvsroot/coral

anoncvs

coral-reactor

objectledge.org

/cvsroot/coral

anoncvs

coral-ri

objectledge.org

/cvsroot/coral

anoncvs

coral-web

objectledge.org

/cvsroot/ledge

anoncvs

ledge-common

objectledge.org

/cvsroot/ledge

anoncvs

ledge-components

objectledge.org

/cvsroot/ledge

anoncvs

ledge-container

objectledge.org

/cvsroot/ledge

anoncvs

ledge-forms

objectledge.org

/cvsroot/ledge

anoncvs

ledge-lgpl

objectledge.org

/cvsroot/ledge

anoncvs

ledge-maven-plugin

objectledge.org

/cvsroot/ledge

anoncvs

ledge-reactor

objectledge.org

/cvsroot/ledge

anoncvs

ledge-web

objectledge.org

/cvsroot/cyklotron

anoncvs

cyklotron-common

objectledge.org

/cvsroot/cyklotron

anoncvs

cyklotron-core

objectledge.org

/cvsroot/cyklotron

anoncvs

cyklotron-ui

objectledge.org

/cvsroot/cyklotron

anoncvs

cyklotron-reactor

objectledge.org

/cvsroot/cyklotron

anoncvs

cyklotron-webapp

To get them from command line for each listed module type:

cvs -z3 -d :pserver:<LOGIN>@<HOST>:<CVSROOT> co <MODULE NAME>

Invoking maven

To build all projects comprising a product (ledge, coral or cyklotron), you should enter the corresponding -reactor directory, and in case of release builds execute:

maven multiproject:install

and case of development builds execute:

maven multiproject:install-snapshot

To build a single project enter an apropriate project directory and execute an command apropriate for the project type

project name suffix

release build

development build

-common

-reactor

-webapp

maven war:install

maven war:install-snapshot

-plugin

maven plugin:install

maven plugin:install-snapshot

none of the above

maven jar:install

maven jar:install-snapshot

First time building

If you build Cyklotron for the first time you should take care of building sequence due to projects dependencies. Follow commands below to assure you do it right.

...
>cd ledge-reactor
>maven multiproject:install-snapshot
>cd ../coral-reactor
>maven multiproject:install-snapshot
>cd ../ledge-forms
>maven jar:install-snapshot
>cd ../cyklotron-reactor
>maven multiproject:install-snapshot
>cd ../cyklotron-webapp
>maven war:install

No error appeared on the screen means you've finished building Cyklotron CMS.
The web application archive 'cyklotron-webapp.war' is already waiting for you in target subdirectory.

Annoyed with repeated SNAPSHOT downloads?

First, use a http proxy if you have one near by. It really boosts performance. To configure it, add the following entries into your global build.properties file (username and password are optional, leave them out if you don't need them):

maven.proxy.host=...
maven.proxy.port=...
maven.proxy.username=...
maven.proxy.password=...

Another option is to tell maven that you are working offline. If you wan't to do it just for single run, insert -o as the first argument on the command line. If you want to set it permanently, add the following to your build.propreties file, eiter globally, or in the *-common project directories.

maven.mode.online=false
Labels: