Dashboard > ringside > ... > Documentation > Build System
Build System Log In | Sign Up   View a printable version of the current page.

Build System

Phing

The Ringside build scripts are Phing scripts. In order to run these scripts, make sure you have Phing installed on your box. To execute one of these build scripts, "cd" to the location where the build script is located and execute:

phing -f <build-script-name> <target-name>

The -f <build-script-name> option is not required if the build script you are trying to run is called "build.xml" as it is the default. The target-name is not required if you want to run the default target, as defined by the build script you are executing.

Build Properties

There is a main build.properties file used by the build system. This is used by the build scripts to set certain build defaults. You will normally copy this file, naming the copy build.local.properties, and edit the local properties so your custom values are set. See the build.properties file - it is commented to describe what the different settings do. Some of these properties are written out to LocalSettings.php so the PHP code can pick up the values during runtime. Other build properties are used strictly for the build scripts so you can customize the build.

Build Scripts

There is a /build directory that contains build scripts that you use to build different artifacts and distributions.

build-clients.xml

Builds the client distribution. These are the PHP clients that social applications can use to communicate with a Ringside Server instance. As an example for how the client distro is used, see the Getting Started Trail that talks about it.

build-deploy.xml

Consolidates all server code into a distribution directory so it can be deployed in an Apache Web Server. This prepares a LocalSettings.php based on your build properties so the Ringside Server is customized for your local environment. In order to deploy your Ringside Server, you should just be able to take the dist/deploy/ringside content produced by this build and deploy in your Apache's htdoc directory.

TODO: someone needs to confirm that the above is true (about copying the dist/ content to htdocs). Is there anything else you need to do in order to complete the deployment?

build-dev.xml

Prepares your SVN working copy for use as a Ringside development environment by creating the following files in your trunk working directory:

  • ringside.conf (an Apache configuration file used to deploy Ringside in Apache)
  • LocalSettings.php (some global constants used by the Ringside server)
  • TestSettings.php (some global constants used by the tests)

For more information on how to prepare a development environment, see Advanced Developer Setup.

Build System

Phing

The Ringside build scripts are Phing scripts. In order to run these scripts, make sure you have Phing installed on your box. To execute one of these build scripts, "cd" to the location where the build script is located and execute:

phing -f <build-script-name> <target-name>

The -f <build-script-name> option is not required if the build script you are trying to run is called "build.xml" as it is the default. The target-name is not required if you want to run the default target, as defined by the build script you are executing.

Build Properties

There is a main build.properties file used by the build system. This is used by the build scripts to set certain build defaults. You will normally copy this file, naming the copy build.local.properties, and edit the local properties so your custom values are set. See the build.properties file - it is commented to describe what the different settings do. Some of these properties are written out to LocalSettings.php so the PHP code can pick up the values during runtime. Other build properties are used strictly for the build scripts so you can customize the build.

Build Scripts

There is a /build directory that contains build scripts that you use to build different artifacts and distributions.

build-clients.xml

Builds the client distribution. These are the PHP clients that social applications can use to communicate with a Ringside Server instance. As an example for how the client distro is used, see the Getting Started Trail that talks about it.

build-deploy.xml

Consolidates all server code into a distribution directory so it can be deployed in an Apache Web Server. This prepares a LocalSettings.php based on your build properties so the Ringside Server is customized for your local environment. In order to deploy your Ringside Server, you should just be able to take the dist/deploy/ringside content produced by this build and deploy in your Apache's htdoc directory.

TODO: someone needs to confirm that the above is true (about copying the dist/ content to htdocs). Is there anything else you need to do in order to complete the deployment?

build-doctrine.xml

Imports and exports database schema information.

The "sql" target creates the .sql file used to build your database schema.
The "import" target will generate PHP code based on an existing database schema.
The "export" target will take PHP code and build a database schema.

build-document.xml

Generates phpdoc using PhpDocumentor. After you run this build, dist/docs will contain the documentation.

You need to make sure your PHP environment has the PhpDocumentor extension. You can PEAR install it like this:

pear install pear/PhpDocumentor

build-pear.xml

Builds the distribution so it is installable by PEAR. The Ringside PEAR repository can be updated with this PEAR build so users can perform a PEAR install.

In order to be able to run this build script successfully, you must make sure your PHP environment has the following dependencies:

You can PEAR install the required dependencies using the following commands:

pear install --alldeps pear/PEAR_PackageFileManager
pear install pear/HTTP_Request
TODO: should explain this build-pear script in further detail

build-tar.xml

This is currently unused and may go away in the future.

build-test.xml

This build script is not meant to be run standalone. It provides some reusable, common tasks that other test scripts use. For examples, see:

Source Directories

The following are the major top level directories in the source code layout:

web

The front end code. These are the web pages of the Ringside Server itself.

social

The business tier of the social engine within the Ringside Server.

api

The API engine that applications call into when they need information from the Ringside Server.

m3

This is the "fourth tier" of the Ringside Application Server called "M3". It provides an implementation that is used by the other three tiers (web, social, api) so they can use the Monitoring, Metering and Management features.

demo-apps

The set of applications used to demo functionality of Ringside. Follow the Getting Started Trail Map to see how the demo apps are used.

system-apps

Someone needs to verify this information and explain further what system-apps are and why you would put an app in here. What are they for?

The internal Ringside applications that are deployed with the Ringside server out-of-box. They are apps that can be accessed by the social layer using the local client (i.e. no network hops necessary to talk to them).

extension-apps

TODO: some of this is to be deleted, if not all of it

build

Contains all the major build scripts used to generate Ringside artifacts and distributions.

Added by John Mazzitelli , last edited by John Mazzitelli on Jun 20, 2008  (view change)
Labels: 
(None)