Status
as of Aug. 22
Display and navigation
All primary components of main window are in place and active to some degree:
- Central area for display of output and per-package files of interest, such as release.notes
- Menu bar with working menus
- Tool bar with working tools
- Status area
- Package hierarchy for base release
- Packages in override directory (currently disabled)
- File hierarchy within selected package
Configure options
- Select base root directory
- Select override directory (currently disabled)
- CVS-related set-up:
- path to cvs command
- value for CVSROOT
- value for CVS_RSH
- SCons-related set-up:
- path to SCons command
- select external libraries root directory
Functions
- Select a package
- Display per-package information
- Release notes
- SConscript
- <package>Lib.py
- ChangeLog
- version information
- command output
- Search displayed information for string
- Repository functions
- cvs update (3 flavors)
- cvs commit
- check out "regular" package
- check out container (Linux only)
- Build functions
- Build a package
- Clean a package (haven't tried Windows)
To do
Display and navigation
Visual representation of variants is misleading. Should disable builds of variants that our implementation of SCons will not in fact build and indicate visually which variant is the buildable one.
Configure options
- select compiler
- debug or not
- optimized or not
- select preferred debugging environment
More functions
- run a program
- run a program in debugger
full support of override directory. [Most of the work remaining is in SCons infrastructure, not GoGui]
- cvs tag
- file-specific functions selected by right-click in package hierarchy
- bring up file in Qt editor
- (better) bring up file in user-selected editor
- cvs diff of file
Optimization
Execution of the first command SCons is given is especially slow. Subsequent commnands for a code base as large as ScienceTools (to say nothing of GlastRelease) are still intolerably slow with default behavior (reread everything to regenerate all dependencies), especially on Windows. SCons supports various options and modes of operation which will give us adequate performance, but it takes some extra work to implement them.
Windows-specific
- Container checkout from GoGui
- Run an SCons command from GoGui.
Make Project and Solution files as part of build [requires changes to SCons infrastructure]