Presentation is loading. Please wait.

Presentation is loading. Please wait.

GLAST CHEP 03 March 24-28 2003 T.Burnett1/14 User-friendly tools for Managing Software Development Projects User-friendly tools for Managing Software Development.

Similar presentations


Presentation on theme: "GLAST CHEP 03 March 24-28 2003 T.Burnett1/14 User-friendly tools for Managing Software Development Projects User-friendly tools for Managing Software Development."— Presentation transcript:

1 GLAST CHEP 03 March 24-28 2003 T.Burnett1/14 User-friendly tools for Managing Software Development Projects User-friendly tools for Managing Software Development Projects Toby Burnett University of Washington Marco Frailis University of Udine Alex Schelssinger SLAC

2 GLAST CHEP 03 March 24-28 2003 T.Burnett2/14 Introduction Objective: make HEP software developers more productive HEP software development components: –Package: group of related source files, usually to build a single library and/or executable Versioning via cvs tags –“Release” system to manage and build executables from set of tagged packages –Development scheme: “Test area” mechanism for developing and testing new code against a release. Observations: The release/management systems are command-line oriented, can be daunting to new developers Hard to get overall view, especially when dealing with multiple packages

3 GLAST CHEP 03 March 24-28 2003 T.Burnett3/14 The development environment Release Package User development Area Package Package/build manager

4 GLAST CHEP 03 March 24-28 2003 T.Burnett4/14 Solutions for CMT (Similar approaches would apply to SRT and scram) A GUI application –VCMT (windows and linux versions) Simplified command-line interface: – glastpack

5 GLAST CHEP 03 March 24-28 2003 T.Burnett5/14 An OO analysis: The players Objects: –Environment: CMT env vars, etc. –CMT packages system (read-only, sticky tags) development (head versions) requirements files, sources –binaries: libs, dlls, exes Tools: –CMT –CVS –development tools Windows: Visual Studio Linux: gmake, emacs, gdb/ddd –Doxygen

6 GLAST CHEP 03 March 24-28 2003 T.Burnett6/14 The strategy Present the user with a view of all the objects Allow appropriate tools to be used according to development scenarios: –set environment –checkout packages, singly or in groups –browse set of available packages –examine properties of each package, relationships –modify and rebuild binaries –check in and/or tag new versions –run executables

7 GLAST CHEP 03 March 24-28 2003 T.Burnett7/14 We have objects: let’s define classes WhatClass NameVcmt(windows) implementation CMT environmentCmtcmt.wsc COM object A CMT packagePackageJscript class Package Package, its projects, and dependent projects WorkspaceJscript class Workspace Individual binary targetProjectJscript class Project

8 GLAST CHEP 03 March 24-28 2003 T.Burnett8/14 The object model diagram

9 GLAST CHEP 03 March 24-28 2003 T.Burnett9/14 A tour of the application Examine CMT settings Set CMT path Browse a package’s properties –requirements file –used packages –macros, sets, etc. Modify requirements file Check cvs status Start a console session in the package context Checkout a package Set up and build a package Run a package application Start Visual Studio (windows only

10 GLAST CHEP 03 March 24-28 2003 T.Burnett10/14 VCMT for Windows List of accessible package/versions Actions to apply to selected package Build actions: Visual Studio 6 or 7 cvs operationsDoxygenate it Text input/output window

11 GLAST CHEP 03 March 24-28 2003 T.Burnett11/14 Structure of the Windows code: Jscript and HTML Windows Script Host vcmt.wsf COM cmt.wsc main program: manage objects, GUI run cvs, visual studio vcmt.htm Internet Explorer gui description CMT interface

12 GLAST CHEP 03 March 24-28 2003 T.Burnett12/14 The Linux version Written in RUBY

13 GLAST CHEP 03 March 24-28 2003 T.Burnett13/14 glastpack.pl usage: glastpack.pl create dirname usage: glastpack.pl help command usage: glastpack.pl build version usage: glastpack.pl rco package version usage: glastpack.pl run package exename usage: glastpack.pl add /path/to/area usage: glastpack.pl rebuild package usage: glastpack.pl remove /path/to/area usage: glastpack.pl co package version usage: glastpack.pl login usage: glastpack.pl logout

14 GLAST CHEP 03 March 24-28 2003 T.Burnett14/14 Concluding remarks Experience –In use by all GLAST developers: mature, few problems it can test for consistency when starting, avoid installation problems Package browsing Buttons for all basic scenarios override CMT behavior (checkout, broadcast) Sources : VCMT/win: http://glast.stanford.edu/cgi-bin/cvsweb-SLAC/vcmt http://glast.stanford.edu/cgi-bin/cvsweb-SLAC/vcmt VCMT/linux: http://glast.stanford.edu/cgi-bin/cvsweb-SLAC/vcmt4linux http://glast.stanford.edu/cgi-bin/cvsweb-SLAC/vcmt glastpack: http://glast.stanford.edu/cgi-bin/cvsweb-SLAC/glastpack


Download ppt "GLAST CHEP 03 March 24-28 2003 T.Burnett1/14 User-friendly tools for Managing Software Development Projects User-friendly tools for Managing Software Development."

Similar presentations


Ads by Google