-- FastCreateMap.cm
-- Russ Atkinson, May 23, 1983 10:46 pm
-- This file details how to make a new pair of version maps given a parsable list of versions and names, plus the old version maps from the last release. If you do not want to use the old version maps, use &merge ← FALSE, and only the files in Release.VersionMapFile will be used (a useful option if all files in the release are described by Release.VersionMapFile).
-- We initially assume that the file "Release.VersionMapFile" has been created by the ReleaseTool and has been placed on the local disk. As of Cedar 3.4.1, this file was manually stored by Eric Schmidt.
-- first, if necessary, acquire the old version maps from the Cedar directory
-- bringover /a [Indigo]<Cedar>Top>SaveMap.df
-- second, run the implementation files
run IFSFileImpl
run VersionMapBuilderImpl
run CedarMapsBuilderImpl
-- third, set up the options
← &merge ← TRUE
-- &merge controls the usage of the old version maps
← &production ← TRUE
-- IF NOT &production, the maps are written to *.VersionMap$
-- fourth, parse the new map from the file created by the ReleaseTool
← &update ← VersionMapBuilderImpl.ParseMapFromFile["Release.VersionMapFile"]
-- fifth, read the maps for the previous release (if merging)
← &restore ← VersionMapImpl.RestoreMapFromFile
← &source ← IF &merge THEN &restore["CedarSource.VersionMap"] ELSE NIL
← &symbols ← IF &merge THEN &restore["CedarSymbols.VersionMap"] ELSE NIL
-- sixth, make the new maps from the old maps and the update map
← CedarMapsBuilderImpl.MakeCedarMaps[&update, &source, &symbols, &production]
-- finally, store the new maps away on Cedar (you must have appropriate rights)
smodel /a /f SaveMap
-- NOTE: as a last manual step, you must set the create date of SaveMap.df to match the create date expected by the rest of the release!