Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Make it into a new kind of "override" container
  • Make it a full-fledged container, just like ST and GR. In CVS ASP-scons would have symbolic links to all packages it uses: both ASP-specific and those coming from ScienceTools.

Override

ASP is similar in all respects to containers ScienceTools, GlastRelease and CHS with one notable exception: it depends on ScienceTools, another a full-fledged container, more or less as if it were an external library. When building or running ASP, one must have access to ScienceTools installed files (includes, libraries, python scripts). This is just the way an override directory behaves. The base installation is (or should be) read-only and packages in the override directory may access any of the installed products from the base directory, as well as files installed under the override directory.

...

Up till now, in the case where there is an override directory, all the global files come from the base, but if the override directory is container-like it might need its own copy of the category 2 files. ASP needs its own package.scons (which should override the ScienceTools one) but, as currently constituted, does not need its own externals.scons.

Modified ASP

CVS organization depends upon the approach chosen.

CVS organization (override)

Make an ASP-scons container package containing

...

The job AspPolicy does will be handled some other way, perhaps involving adding code to package.scons or inventing a new top-level file.

CVS organization (complete container)

Make an ASP-scons container package containing

  • package.scons
  • externals.scons (must at a minimum reference all externals used by ScienceTools packages)
  • symbolic links to files in category 3 above (SConstruct, allExternals.scons, site_scons/site_tools/) as is the case for other containers
  • symbolic links to all code packages specific to ASP and any used from ScienceTools

To-do

The steps for either approach are the same in either case, but details of #1 and #4 depend on approach chosen:

  1. Implement appropriate CVS organization
  2. Add SConscript files to all ASP packages
  3. Add xxxLib.py files to all ASP packages building libraries
  4. Design and implement SCons code equivalent

...

  1. to

...

  1. AspPolicy

...