; Copyright (c) 2000, Perforce Software, All rights reserved.
;
; This software was originally developed by Silicon Graphics, Inc (SGI).
;
; Redistribution and use in source and binary forms, with or
; without modification, are permitted provided that the following
; conditions are met:
;
; Redistributions of source code must retain the above copyright notice,
; this list of conditions and the following disclaimer.
;
; Redistributions in binary form must reproduce the above copyright
; notice, this list of conditions and the following disclaimer in the
; documentation and/or other materials provided with the distribution.
;
; Neither name of Perforce Software nor SGI nor the names of its
; contributors may be used to endorse or promote products derived from
; this software without specific prior written permission.
;
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Filename: setup.il
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Description: Load all files with .il extension from first directory in
;;; SkillPath.
;;; This file should be called from the top level setup file which has set
;;; the skill path to point at the directory in which this file is located.
let((loadFiles excludeFiles allFiles skillFiles)
;;----------------------------------------------------------
;; List files (with non .il extension) to be loaded
;;----------------------------------------------------------
loadFiles = list(
); includeFiles
;;----------------------------------------------------------
;; List files (with .il extension) not to be loaded
;;----------------------------------------------------------
excludeFiles = list(
"setup.il" ; prevent recursive load
"CDS_P4Utils.il" ;; loaded in CDS_P4Triggers
"CDS_P4IPCFuncs.il" ;; as above
"CDS_P4NFS.il"
"CDS_P4Config.il"
); excludeFiles
;;-----------------------------------------------------------
;; Get all the skill files in the current directory
;;-----------------------------------------------------------
allFiles = getDirFiles(simplifyFilename(car(getSkillPath())))
skillFiles = setof(file allFiles rexMatchp("\\.il$" file))
;;-----------------------------------------------------------
;; Derive list of files to be loaded
;;-----------------------------------------------------------
foreach(file skillFiles
unless(member(file loadFiles) || member(file excludeFiles)
loadFiles = cons(file loadFiles)
); unless
); foreach
;;-----------------------------------------------------------
;; Load the files - loadi to keep going after an error
;;-----------------------------------------------------------
foreach(file loadFiles loadi(file))
);let