css build and update system kunal shroff epics spring collaboration meeting, june 2010...

11
CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence

Upload: charlene-butler

Post on 14-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence

CSS Build and Update System

Kunal Shroff

EPICS Spring Collaboration Meeting, June 2010

Aix-en-Provence

Page 2: 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

Page 3: CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence

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

Page 4: CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence

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

Page 5: CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence

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/…

Page 6: CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence

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

Page 7: CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence

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

Page 8: CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence

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

Page 9: CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence

CSS-NSLSII update

Page 10: CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence

Conclusions

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

Page 11: CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence

Questions