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

Slides:



Advertisements
Similar presentations
Control System Studio (CSS)
Advertisements

RDz and Process Integration Using Menu Manager and HATS to customize your RDz installation David Myers.
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Jenkins User Conference San Francisco, Sept #jenkinsconf Business Process Model & Notation (BPMN) Workflows in Jenkins Max Spring Cisco
Introduction Main technologies: core written in Java embedded Jython interpreter code managed using the Eclipse plugin framework client program uses Eclipse.
CSS: where do we want to go? Gabriele Carcassi Contributions from: Gabriele Carcassi, Kunal Shroff – BNL Jan Hatje – DESY Kay Kasemir – ORNL.
Developing an Eclipse Plug-in David Gallardo. Platform Runtime Workspace Help Team Workbench JFace SWT Eclipse Project Java Development Tools (JDT) Their.
Eclipse Architecture Dwight Deugo Nesa Matic
Android: Hello World Frank Xu Gannon University. Steps Configuration ▫Android SDK ▫Android Development Tools (ADT)  Eclipse plug-in ▫Android SDK and.
Eclipse Introduction Dwight Deugo Nesa Matic
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007.
Developing an approach for Learning Design Players Patrick McAndrew, Rob Nadolski & Alex Little Open University UK and Open University NL Paper available.
Control System Studio (CSS)‏ Kunal Shroff EPICS Training Meeting 07/10/2010.
Background The Encyclopedio of Life (EOL) is an ROR open source project to create a free, online reference source and database for every one of the 1.8.
Introduction to Android. Android as a system, is a java based operating system that runs on the Linux kernel. The system is very lightweight and full.
Deutsches Elektronen-Synchrotron DESY Helmholtz Association of German Research Centres Hamburg, Germany The European X-Ray Laser Project.
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Copyright © IBM Corp., All rights reserved. From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP Benjamin Pasero.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
A (very brief) intro to Eclipse Boyana Norris June 4, 2009.
© 2006 by WTP PMC; made available under the EPL v1.0 | Cambridge | September 6, 2006 Hakeem Shittu Software Consultant Customizing Eclipse Functionality.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS Jan Control System Studio Training - Development Setup.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
CSS – Control System Studio
XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser Matthias Clausen, DESY XFEL Refrigerator Controls – April CSS Introduction 2 nd.
Managed by UT-Battelle for the Department of Energy Kay Kasemir, Xihui Chen ORNL/SNS April Control System Studio Training - Development.
CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence.
CVS Hudson Build Server krykhudson.desy.de:8282 User Developer.
© 2008 by Shawn Spiars; made available under the EPL v1.0 | March 17, 2008 Case Study – Phurnace Software and RCP Shawn Spiars Lead UI Developer Phurnace.
Slide 1 ApacheCon 2011 > Doreen Seider> Using OSGi to Build Better Software > Using OSGi to Build Better Software Lessons from a Telemedicine.
Gradle and Eclipse RCP Ned Twigg
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Jan Hatje, DESY CSS – Control System Studio EPICS collaboration meeting CSS – Control System Studio Update EPICS collaboration meeting 2008 Shanghai.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS 2012, January 9-12 at NSRRC, Taiwan Control System Studio Training.
Introduction 1 Lars Vogel 4/22/2009.  Who am I?  Eclipse as a platform  What is Eclipse RCP?  Extension Points / Extensions  Equinox  SWT & JFace.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
A Quick Look at the EPICS IDE Kenneth Evans, Jr. Presented at the EPICS Collaboration Meeting June 13, 2006 Argonne National Laboratory, Argonne, IL.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
EUFORIA FP7-INFRASTRUCTURES , Grant Migrating Desktop Uniform Access to the Grid Marcin Płóciennik Poznan Supercomputing and Networking Center.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
An EPICS IDE Using Eclipse Kenneth Evans, Jr. Presented at the EPICS Collaboration Meeting June 15, 2006 Argonne National Laboratory, Argonne, IL.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
SCDB Update Michel Jouvin LAL, Orsay March 17, 2010 Quattor Workshop, Thessaloniki.
Introduction to Control System Studio (CSS) Kay Kasemir, Kunal Shroff EPICS Fall Collaboration Meeting, October 2011 PSI.
Objectives Update IDE used to develop AWIPS2 plugins  Learn about API Baseline/Target Platform  Configure formatter and code templates.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
This material is based upon work supported by the U.S. Department of Energy Office of Science under Cooperative Agreement DE-SC , the State of Michigan.
ImageJ2. Who Develops ImageJ2? And anyone who wants to contribute!
Initiating UK OOI CI Project 7 th /8 th March 2011.
ImageJ2. Why ImageJ2? ● Support the next generation of image data ● Interoperate and collaborate with other projects ● Broaden the ImageJ community ●
XNAT 1.7: Getting Started 6 June, Introduction In this presentation we’ll discuss:  Features and functions in XNAT 1.7  Requirements  Installing.
If it’s not automated, it’s broken!
Packaging and Deploying Windows Applications
CSS Build and Update System
What is Apertis? Apertis is a versatile open source infrastructure tailored to the automotive needs and fit for a wide variety of electronic devices.
CLIF meets Jenkins Performance testing in continuous integration, and more... Bruno Dillenseger - Orange Labs CLIF is OW2's load testing framework project,
CSS Build and Update System
X in [Integration, Delivery, Deployment]
Control System Studio (CSS)
Web Starter Kit: runtime
Presentation transcript:

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

CSS Design 2 Eclipse Runtime OSGi (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. UI CSS appl. Slide stolen from DESY

CSS Repository : Architecture  http ://cs- studio.sourceforge.net/ http ://cs- studio.sourceforge.net/  Restructured based on Functionality and usage Build system requirements  Criteria core/: provide contributions to the CSS framework applications/: plugins/features used by one or more CSS applications build/: contains the build scripts product/ /: site’s product plugin, site specific configuration files and features

CSS Repository : Mercurial  Distributed SCM Improved scalability Changeset support Offline operation no single point of failure  HgEclipse – mercurial plugin for eclipse DVCS with best support Clone, push, pull, commit Add, remove, merge Browse history  Hudson plugin SoftwareCVSSVNGit Mercur ial Atomic commitsNoYes File renameNoYesPartialYes Merge file renames No Yes Symbolic linksNoYes Pre/Post event hooks PartialYes Signed revisionsNo Yes Merge trackingNoYes Eol conversionYes TagsYesPartialYes Internationsl support YesPartialYes Unicode filename format NoYesNo

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 : requirements  Generic Headless build  Simple and easily adaptable for new CSS products Reuses default build scripts provided by PDE build system Requires minimum configuration. Minor modification to - Build.properties - Plugin/feature.lists - customTarget.xml/ allElements.xml

CSS headless build : build steps ./build.sh NSLS2 Create Target (the group of plugins the CSS product is built against) - Downloads and untars eclipse RCP + Delta pack + all other third party plugins. Create BuildDirectory (all the plugins/features to be built) - Collects the core,application and site specific plugins and features to be built Build (uses the PDE build system) - Launches “headless” eclipse. - Builds using antRunner applications and the default product.xml build scripts. css-nsls2.zip p2 update repository

CSS Continuous Integration System Using 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

CSS Common Product  Continuous Integration with Hudson  Ensures satisfaction of Build requirements This can be done by simply adding a dependency to the XYZ plugin in the product definition file. The plugin also needs to be added to the plugins.list in the cs-studio/product/COMMON/plugins.list. Make sure that all the plugins required by XYZ are also added to both the product definition and the plugin.lists file.  Does not guarantee that nothings broken org.csstudio.testsuite

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  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 jenkins  p2 for installation and update management

Alluring Albatross: release The main theme is modularization, splitting the platform plugin into independent chunks.

Questions