CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010...

Preview:

Citation preview

CSS Build and Update System

Kunal Shroff

EPICS Spring Collaboration Meeting, June 2010

Aix-en-Provence

CSS Design

2

Eclipse RuntimeOSGi (Equinox)

Java Virtual Machine

IDE with CSS applications

CSS UI

CSS Core UI

Eclipse RCP UI

Eclipse IDE

CSS Headless

Eclipse RCP

CSS Core

CSS appl.CSS appl.CSS appl.

CSS appl.CSS appl.

UI CSS appl.

Slide stolen from DESY

CSS Mercurial repository

Distributed revision control• Offline operation• Changesets based

HgEclipse – mercurial plugin for eclipse• DVCS with best support• Clone, push, pull, commit• Add, remove, merge• Browse history

CSS build The Plug-in Development Environment (PDE)

• The usual way of building is using the Export wizard which requires

- launching eclipse IDE- Creating the target- Setting up the workspace- Lots of user interaction

Headless build system• Run from command line

CSS headless build

Generic Headless build ./build

• Download & untars eclipse in a temp directory

• Creates the buildDirectory by collecting all the required plugins and features

Site specific• product plugins/feature• build.properties• category.xml

are obtained from the css/product/site/…

CSS Continuous Integration SystemUsing Hudson

Building/testing software projects continuously• Detects and fixes

integration problems continuously

• Automate Deployment – publishes the update site to sourceforge

• Makes the build process transparent.

• Saves time and effort

Eclipse p2 – update management

p2 provides a provisioning platform for Eclipse-based applications• Update your RCP and OSGi applications• Provide a mechanism to install and manage new features• Provide a mechanism to manage different configurations• Manage your developers target platforms

CSS-NSLSII

p2 enabled product CSS-NSLSII update site

• http://cs-studio.sourceforge.net/nsls2/dev-updates

Install/update preferences.• List of update sites known to CSS• Update configuration options

- Self updating applications- Update from cloud- User initiated update

CSS-NSLSII update

Conclusions

Restructured repository Generic headless build system Continuous Integration with hudson p2 for installation and update management

Questions