Project Reports
Overview
Section titled “Overview”Migration Project reports provide high-level information about the nature and status of your migration project tasks, configuration, and workspaces.
Project Summary
Section titled “Project Summary”This is a text file mashup of three other reports:
- The brief set of summary metrics that is displayed when you click [Project Summary] on the [Information] Panel.
- The listing produced when you click [Help/Check Environment] from the menu.
- The content of the active Migration Project file.
Metrics Summary
Section titled “Metrics Summary”This is a high level html report providing summary counts about the source codebase.
Migration Set
Section titled “Migration Set”A high level report detailing the current attribute values for each migration task
MigName ' Name of parent migration projectSrcName ' Unique identifier of the task within the migration projectSrcSize ' Source LOC for VBP/ASP (a negative value for missing files)IntName ' Internal Name of Migration Task (e.g. VBP.Name)RefStat ' Interface description file status (see LibStat Flags)SrcBlds ' VB6 Build Status (SUCCESS|FAIL)TrnStat ' Translation Status (SUCCESS|WARN|ERROR|ABEND)NetSize ' Source LOC for .NET code (includes RESX, CODE, PROJ)NetBlds ' .NET Build Status (SUCCESS|FAIL)LastMsg ' Last status messageUsrCmnt ' User comment for tracking and documentation purposesNetLang ' Target .NET Language (csh|vbn)UsrDesc ' Task description for tracking and documentation purposesSrcOrdr ' Source build order based on Vbp references or Asp #includesSrcFldr ' Location of source file (Vbp or Web content)SrcFile ' Name of migration project source fileSrcType ' Type of migration project (VBP|WEB|XML)BldPath ' Path of build productBldType ' Type of build product (VBP:Exe|OleDll|OleExe|Control or WEB:PULP|INCLUDE|PAGE)TScript ' Translation script template nameUsrCmds ' User command script to run after key processing stepsTaskTag ' tag (used to help identify files and directories associated with each unit/task)SrcDesc ' VBP Project Title, or file path for ASPAll Logs
Section titled “All Logs”A consolidated listing of the logs and migration task attributes; an audit of inputs and outputs (free form)
.NET Build Log
Section titled “.NET Build Log”The .NET build logs, parsed, tabulated, and aggregated. Answers the question: What is breaking the build?
PrjName ' .NET Project File NameTaskTag ' Migration Task TagSrcName ' Migration Task NameRunDate ' Build Log DateMsgType ' Build Log Message TypeMsgTool ' Build Log Message ToolMsgNumb ' Build Log Message NumberMsgText ' Build Log Message Full TextGenText ' Build Log Message Generic TextSrcFile ' Build Log Message Source File NameSrcRecd ' Build Log Message Source Location<br />SrcText ' Build Log Message Source Content<br />SrcMemb ' Build Log Message Source Member containing the error (C# only)PrjFldr ' Build Log Message Source FolderSrcOrdr ' Migration Task Build Order<br />SrcType ' Build Log Message Source File TypeTranslation Log Report
Section titled “Translation Log Report”Translation Logs: the translation logs, parsed, tabulated, and aggregated. Answers the question: What is happening during translation?
SrcName ' Migration Task NameRunDate ' Migration Task Translation DateMsgType ' Translation Message TypeMsgNumb ' Translation Message NumberMsgText ' Translation Message Full TextGenText ' Translation Message Generic TextSrcFile ' Source File NameSrcType ' Source File TypeSrcPosn ' Source File Location ColumnSrcText ' Source File ContentSrcRecd ' Source File Location LineTranslation Audit Report
Section titled “Translation Audit Report”The Translation Audit report is a Target Code Scan for a list of .NET code patterns that when found indicate issues that will potentially require resolution in some way. This list of search terms is distributed with gmStudio in the CodeScanList.txt file as the Translation Audit PRESET:
PRESET Translation Audit (as of 10/8/2022)ref argTemp\(object\)\(dynamic\)\bCallByName\b&\(+dynamic\)\w+\)*\.\w+&CallByName\(\S*,"\S*"&gmRTL(\.\w+)+UPGRADE_TODOUPGRADE_INFO\w+_mignameThe Translation Audit is a technique for identifying Custom Upgrade planning. Most Translation Audit items are resolved automatically by common Custom Upgrade features such as COM API replacements and Type Inference optimization or the automated integration of hand-written .NET code developed for other applications. Occasional outliers may have to be dealt with using one-off solutions. Some of the Translation Audit Items are described as follows:
- dynamic, this token indicates that a specific object.member reference was not recognized. In these cases, we want to understand why the object.member reference was not recognized so that it may be addressed by adding stronger typing in the translation rules, if appropriate. This is less common in VB.NET which allows some dynamic calls to be passed through implicitly. For VB.NET the pattern indicating a explicit late-call \bCallByName\b. For some ideas on how to resolve unrecognized calls see Support Statement: Type Inference and Type Replacement and Support Statement: Type Inference Limitations
- ref argTemp, this token in the code indicates the tool passed a temporary variable to a byref This usually occurs because the actual argument is not of a type compatible with the declared parameter. The default translations do not assign the temporary variable back to the original variable. This may or may not be a problem. There are many ways to prevent the use of argTemp: improve typing, remove the need for byref at the method definition, migrate to use a different API, overloading, etc.
- *Resume References to gmRTL.Core.ErrorHandling.ResumeNext indicates the tool rewrote On Error Resume Next (OERN) to use the gmRTL.Core.ErrorHandling.ResumeNext ) method. Upgrading OERN to C# typically requires several different strategies reflecting the original intent of using OERN in the VB6. This work will be done as part of resolving the Error Handling Language Incompatibility issue.
- UPGRADE_TODO these tokens in the code indicate various matters warranting inspection and review. In PWS, it appears that almost all of these issues are relating to with Error Handling code that could not be restructured automatically. These will be resolved with the Error Handling Language Incompatibility issue.
Code Bundle Metrics
Section titled “Code Bundle Metrics”Code Bundles: the code bundles, parsed, tabulated, and aggregated. Answers the question: What is the migration deployment manifest?
BundlFldr ' Bundle File FolderBundlFile ' Bundle File NameEntryText ' Bundle Content NameEntryType ' Bundle Content TypeEntryExtn ' Bundle Content ExtensionEntryFrst ' Bundle Content Start LocationEntryLast ' Bundle Content End LocationEntrySize ' Bundle Content Line CountInterface File Headers
Section titled “Interface File Headers”The interface descriptions, parsed, tabulated, and aggregated. Answers the question: What libraries are in play and how are they defined to the system?
FilPath ' IDL File PathComFldr ' COM File FolderComFile ' COM File NameLibName ' COM Library NameLibType ' COM Library TypeLibGuid ' COM Library GUIDLibVers ' COM Library VersionLibDesc ' COM Library DescriptionInterface File ProgIds
Section titled “Interface File ProgIds”The COM ProgIDs defined in the COM types referenced by a migration project. Answers the question: What classes are in play and where are they defined to the system?
ProgId ' ProgIdIdfPath ' IDF File Path