Etics Quick Start Guide

Etics Overview

Etics Web

Etics Web Interface

Terminology

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 "http://eticssoft.web.cern.ch/eticssoft/repository/etics-client-setup.py" -O etics-workspace-setup.py

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.

Checkout

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.

Build

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

Targets

Examples of target implementation for gLite:

checkStyle
ant checkstyle
clean
ant clean
compile
ant compile
doc
ant doc
init
ant init
install
ant install
packaging
ant rpm
publish
ant dist
test
ant unittest

Target Semantic

Semantic of target implementation:

checkstyle
verify coding standards and conventions
clean
remove intermediate and generated files
compile
compile code
doc
generate documentation
init
perform initialisation
install
install software in the workspace, such that dependent modules can use the build products
packaging
build rpm (if empty, the ETICS standard packager is invoked)
publish
create a local distribution tree (including documentation, test results, collected metrics, etc)
test
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

Tagging

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-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback