Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

A Migration Project File contains the settings and a list of migration units that you wish to process as a coherent set. 

Migration Project Files

A Migration Project document is an XML file with *.gmproj extension.

A Migration Project is created using the Migration Project Setup form as described in the Preparation section of this guide.

A Migration Project file contains two types of information:

  • migration settings  
  • a list of migration tasks.

Here is an example of a project file for one of the migrations discussed in the samples section -- Interop1_csh.gmProj:

Code Block
languagehtml/xml
titleSample gmProj File
<gmStudio>
   <MigName>ScanTool</MigName>
   <MigType>VBP</MigType>
   <DevEnv>VS2008</DevEnv>
   <ProjFolder>\gmProj\DemoScantool</ProjFolder>
   <DeployFolder>%ProjFolder%\deploy</DeployFolder>
   <TlbSearchPath>c:\3pc</TlbSearchPath>
   <TaskFilter>*|*|*|*|*|*|*|*|*|*|*|*|*|*|*|*|*|*|*|*|*|*</TaskFilter>
   <BatchCommands>Author Interop Assemblies,Author Interface Descriptions,Run Translation,Deploy Translation,Build Translation,</BatchCommands>
   <TaskList><![CDATA[ ... Task List Data ... ]]></TaskList>
</gmStudio>

The settings stored with the Migration Project are initially set when you create the project file as discussed the Preparation section. The settings in a Migration Project file include the following:

ElementDescription
MigName
 
Migration Name: User-defined string used to identify the migration
MigType
 
Migration Type: VBP or WEB.
DevEnv
 
Target IDE: e.g. VS2010
ProjFolderWorkspace Root Folder: this folder will contain Migration Project-specific folders to contain files such as logs, Configuration Files, and reports.
DeployFolderDeployment Root Folder: this folder will receive deployments of migrated code. The deployment folder can be defined in terms of application variables. For example, to make the deployment folder a child of the workspace set DeployFolder to something like this

 


    %ProjFolder%\deploy (this is the default)
To make the deploy folder relative to the location of the migration unit, set DeployFolder to something like this

      %SrcFolder%\.. (this will create target project folders next to the source folders)

     
See the discussion of Deployment for more information on target project folder naming conventions.
 
TlbSearchPathTypeLib Search Path. This is a semicolon delimited list of folders to use to find COM components that are not registered.
 
VirtualRootFolderVirtual Root Folder: this folder is used as the "VirtualRoot" when resolving #includes in ASP Site migrations. Not used by VBP migrations.
 
TaskFilterTask Filter: a sequence of pipe-delimited wild-card patterns that define which migration tasks to display in the gmStudio UI.
This element is maintained by the [Filter Dialog] in gmStudio.
 
BatchCommandsCommand List: a comma-delimited list of operations to be performed when the user clicks the Batch Button. This element is maintained by the [Batch Control] Dialog in gmStudio.
 
TaskListTask List: The list of Migration tasks associated with the migration project.


The task lists stored with each Migration Project describes a collection of Migration Units (e.g., VBPs or ASP pages). Each item in the task list contains about 20 pieces of data that describe the nature and status of a migration unit.

Migration Tasks are added on the Migration Project setup form. Tasks may be removed using the Migration Task Context Menu. Individual tasks may be edited on the [Edit] display of the [Information] Panel. gmStudio can also help you edit and load a task list as a tab-delimited file.

Task Record Format

Task records are stored as a block of tab-delimited text in the Migration Project files.

Each task record contains the following fields:

FieldDescription
BldPathPath of build product
BldTypeType of build product (VBP:Exe|OleDll|OleExe|Control or WEB:PULP|INCLUDE|PAGE)
LastMsgLast status message
LibRegdReferenced COM components are registered (READY|NOTFOUND)
MigNameName of parent migration project
NetBlds.NET Build Status (SUCCESS|FAIL)
NetLangTarget .NET Language (csh|vbn)
NetSizeSource LOC for .NET (includes RESX, CODE, PROJ)
RefStatInterface description file status (see LibStat Flags)
SrcBldsVB6 Build Status (SUCCESS|FAIL)
SrcFileName of migration unit source file
SrcFldrLocation of migration unit source file (Vbp or Web content)
SrcNameUnique identifier of the task within the migration project
SrcOrdrTask build order based on VBP references or ASP #includes
SrcSizeSource LOC for VBP/ASP (may be negative if files are missing)
SrcTypeType of migration unit (VBP|WEB|XML)
TScript

Translation script template name.

Optionally the Tscript value may be of the form

template/option

where option is gmBasic command line options and/or special processing options.

The special processing options are :

  • makemetalang: rebuilds the metalang file before running the translation.
    The tool will rebuild the metalang file from a project-specific vb7lang,xml script in the usr folder.
  • startdefault: use the default metalang file even if the tool is configured to use a project-
specifig
  • specific metalang file.
 


TaskTagA short string used to differentiate different types of migration tasks; for example for different migration configurations
TrnStatTranslation Status (SUCCESS|WARN|ERROR|ABEND)
UsrCmdsUser command script to run after key processing steps translation, deployment, or build (optional). See User Batch Command Script in this section.
UsrCmntUser-Defined Comment for filtering and tracking (optional)
UsrDescUser-Defined Description of Task (optional)

Table of Contents