ReleaseToolVerify.mesa
Russ Atkinson on January 9, 1984 12:08 pm
DIRECTORY
DFUtilities USING [Date],
DFOperations USING [InteractionProc],
IO USING [STREAM],
Rope USING [ROPE],
VersionMap USING [MapList];
ReleaseToolVerify: CEDAR DEFINITIONS = BEGIN
BcdCache: TYPE = REF BcdCacheObject;
BcdCacheObject: TYPE;
Date: TYPE = DFUtilities.Date;
MapList: TYPE = VersionMap.MapList;
ROPE: TYPE = Rope.ROPE;
STREAM: TYPE = IO.STREAM;
Verify:
PROC [
dfFile: ROPE, bcdCache: BcdCache, sourceMaps,symbolsMaps: MapList ← NIL,
interact: DFOperations.InteractionProc ← NIL, clientData: REF ANY ← NIL, log: STREAM ← NIL]
RETURNS [errors, warnings, filesActedUpon: INT ← 0];
Verifies the named DF file according to ReleaseTool conventions. All mentioned DF files are required to be in the source version map. Errors, warnings, and progress information are logged to the given stream.
CreateBcdCache:
PROC [replacementSize:
NAT]
RETURNS [bcdCache: BcdCache];
Creates the cache for bcd files that is used in Verify. Having the cache creation outside of the Verify operation allows us to retain cache entries over several invocations, thereby accelerating verification of multiple DF files.
FlushBcdCache:
PROC [bcdCache: BcdCache];
Empties the bcd cache, returning its VM to the system. The cache remains available for use, should this prove useful.
IsInFileCache:
PROC [name:
ROPE, date: Date]
RETURNS [inCache:
BOOL ←
FALSE];
Checks to see if the file with the given name and the given date is in th FS cache. If date.gmt = BasicTime.nullGMT then any version in the cache will return TRUE. Otherwise the date match must be exact.
END.