Etics Quick Start Guide

Etics Overview

Etics Web

Etics Web Interface


A component is the a directory that contains the source code for a given functionality. Each component should create a package with the same name of the component. A subsystem is a group of components. As one component should create one package, the granularity of packaging should be considered when creating a component. Module is the generic term for a component or subsystem. A project is a logical group subsystems.

Linux Installation

Download and execute the setup script which will fetch and install the Etics clients and dependencies to the current directory.

wget "" -O

python etics-client-setup

The client will be installed by default in the directory 'etics' in the current directory. Alternatively the client can be installed in a different directory by using the --prefix option of the script.

Finally set the following environment variables:

$ export ETICS_HOME=/etics

(i.e. the etics directory from which you have run etics-client-setup)

$ export PATH=$ETICS_HOME/bin:$PATH

Get Project

The etics-get-project command sets the project with which to work with. This command contacts the Etics server and downloads all the meta-data e.g. project/subsystem/component relationships, about the project to an xml file in the current direcotry. Running subsiquent Etics commands will look for this xml in the current directory.


The etics-checkout command will checkout all the components and dependencies of a module. If a specfic tag is to be used, the -c < tag > option can be used. If the -c option is not specified the HEAD will be used. A list of available tags can be found by using the etics-list-configuration command. For more details about the tag, the command etics-show-configuration-structure can be used.


The etics-build command can be used to build all the components in the correct order.

Build Output

Creating New Projects, Subsystems and Components

Build Targets


Examples of target implementation for gLite:

ant checkstyle
ant clean
ant compile
ant doc
ant init
ant install
ant rpm
ant dist
ant unittest

Target Semantic

Semantic of target implementation:

verify coding standards and conventions
remove intermediate and generated files
compile code
generate documentation
perform initialisation
install software in the workspace, such that dependent modules can use the build products
build rpm (if empty, the ETICS standard packager is invoked)
create a local distribution tree (including documentation, test results, collected metrics, etc)
run unit tests

Here's the order of execution of the targets:

  • clean: needs to be explicitly called
  • init -> checkstyle -> compile -> test -> packaging -> publish

System Properites

Handeling Dependencies


Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r6 - 2008-12-09 - DoinaCristinaAiftimiei
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    ETICS All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback