Download presentation
Presentation is loading. Please wait.
Published byMarylou Higgins Modified over 8 years ago
1
CSS Build and Update System Kunal Shroff EPICS Fall Collaboration Meeting, June 2010 Aix-en-Provence
2
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
3
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
4
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
5
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
6
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
7
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
8
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
9
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
10
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
11
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
12
CSS-NSLSII update
13
Conclusions Restructured repository Generic headless build system Continuous Integration with jenkins p2 for installation and update management
14
Alluring Albatross: 3.0.0 release The main theme is modularization, splitting the platform plugin into independent chunks.
15
Questions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.