In order to scan source code into repository, the source code must be collected into a subdirectory under the scanning directory on the scanning server. In addition, a manifest file must be created in order to describe the source code.
The subdirectory under which the source code is placed may have any name, but it must appear immediately under scanning directory that is specified in the configuration. All source code which should be scanned in a single batch should be placed under this subdirectory.
The manifest file may be a standard properties file, called app.properties, that is recognized by the source code scanner itself and is described below. Alternatively, it may be a custom manifest file that is loaded and parsed by a plugin (see CM Meta Analytics Plugins for more information.)
Creating app.properties
After all source files have been loaded into the subdirectory, the next step is to create a properties file called app.properties in the subdirectory. The format of app.properties is as follows:
#- # SSI.application
- #
- # Descriptive name of application that will be displayed in the GUI.
- #
- SSI.application = My Application
- #
- # SSI.system
- #
- # System name of programs scanned.
- #
- SSI.system = SYS
- #
- # SSI.subsys
- #
- # Subsystem name of programs scanned.
- #
- SSI.subsys = SUBSYS
- #
- # SSI.serverName
- #
- # Server name for tables scanned.
- #
- SSI.serverName = GAP1
- #
- # SSI.creator
- #
- # Creator name for tables scanned.
- #
- SSI.creator = PT18
- #
- # SSI.ALL.encoding
- #
- # Character set encoding of all input files, unless otherwise specified.
- #
- SSI.ALL.encoding=CP-037+R80
- #
- # SSI.ALL.panvaletIncludePath
- #
- # Path to search for files included using the Panvalet inclusion directive (++INCLUDE).
- # Multiple paths may specified delimited by a semicolon. Paths are relative to the application root.
- #
- SSI.ALL.panvaletIncludePath=
- #
- # SSI.COBOL.sourcePath
- #
- # Path of a directory (relative to the application root) that contains all COBOL source
- # to be processed. Any files found under this path using a recursive directory walk are
- # passed to the COBOL scanner.
- #
- SSI.COBOL.sourcePath=
- #
- # SSI.COBOL.copyLibPath
- #
- # Paths to search for files included with the COBOL COPY statement.
- # Multiple paths may specified delimited by a semicolon. Paths are relative to the application root.
- #
- SSI.COBOL.copyLibPath=
- #
- # SSI.COBOL.copySystemLibPath
- #
- # Paths to search for files included with the COBOL COPY ... FROM statement. The paths will be
- # searched for a directory matching the name of the system library in the FROM clause of the
- # statement.
- #
- # Multiple paths may specified delimited by a semicolon. Paths are relative to the application root.
- #
- SSI.COBOL.copySystemLibPath=
- #
- # SSI.JCL.sourcePath
- #
- # Path of a directory (relative to the application root) that contains all JCL source
- # to be processed. Any files found under this path using a recursive directory walk are # passed to the JCL scanner.
- #
- SSI.JCL.sourcePath=
- #
- # SSI.JCL.procPath
- #
- # Path of a directory (relative to the application root) that contains a
- # a directory containing include files and procedures.
- #
- SSI.JCL.procPath=VALPROC
- #
- # SSI.ALC.sourcePath
- #
- # Path of a directory (relative to the application root) that contains all ALC non-
- # copybook, non-macro source files to be processed. Any files found under this path
- # using a recursive directory walk are passed to the ALC scanner.
- #
- SSI.ALC.sourcePath=
- #
- # SSI.ALC.copyPath
- #
- # Path of a directory (relative to the application root) that contains all ALC
- # copybook or macro source files to be processed. Any files found under this path
- # using a recursive directory walk are passed to the ALC scanner.
- #
- SSI.ALC.copyPath=
- #
- # SSI.JAVA.sourcePath
- #
- # List of absolute paths of source directories for the Java projects. Each
- # source directory should be separated by a semicolon. The absolute path of
- # each directory must be used.
- #
- SSI.JAVA.sourcePath=d:/path/to/java/src
- #
- # SSI.JAVA.classPath
- #
- # List of absolute paths of source directories for libraries that should be
- # on the Java classpath. Each source directory should be separated by a
- # semicolon. The absolute path of each directory must be used.
- #
- SSI.JAVA.classPath=d:/path/to/classpath/src
If the files are encoding in mainframe EBCDIC with fixed 80-column lines, then the property SSI.ALL.encoding should be set to CP-037+R80. Otherwise, it should be set to the Java name of the character set that is in use.
Note: When generating app.properties from an external process, ensure that it is created after all source code files have been transferred to the scanning server.
Preparing the Work Tables
The work tables on the server should be cleared before starting the scanner. The scanner will use work units that begin with the prefix CS. These can be cleared using the following DB2 statements:
DELETE FROM DBXRELXX.PRMXML_OI WHERE WORK_UNIT LIKE 'CS%';
DELETE FROM DBXRELXX.PRMXML_AI WHERE WORK_UNIT LIKE 'CS%';
DELETE FROM DBXRELXX.PRMXM
Related Articles
Source Scanner for HLASM/ASM
This document describes the entities and relations the HLASM Scanner creates on encountering various ALC code constructs. Metrics The scanner computes a variety of standard code-line metrics, including: total lines of code comment line count blank ...
CM Meta Analytics Plugins
The CM Meta Analytics engine supports plugins in its architecture. Plugins are able to contribute functionality such as additional methods to detect input files, and data structures to store additional information. Plugins are automatically loaded at ...
Installation
Prerequisites CM Meta Analytics should be installed on a dedicated Windows server sized appropriately for the expected work load. Operating System: Windows XP, 2003, 7, or better. 32 or 64 bit supported. VMWare host/guest supported. Java: Java 6 or ...
Source Scanner for IBM JCL
This document describes the entities and relations the JCL Scanner creates on encountering various JCL code constructs. Current output Structures Jobs Procedures (cataloged and in-stream) JobSteps(EXEC) Properties File-levelmetrics Procedure default ...
Configuration
Verifying the initial configuration After the installation has completed, navigate to the following URL in a web browser: http://localhost:8082/ It may take a few moments for the server component to initialize. Once the page has loaded, you will see ...