gmBasic: Upgrade Engine
gmBasic is a code transformation tool that reads, interprets, and rewrites VB6/ASP/COM systems to one of the .NET languages (C# or VB.NET). Based on feedback from our clients and migration projects in the field, we are continuously improving gmBasic so as to help users more easily produce cleaner and more correct results. Most recently, this work changes how the tool is extended to perform advanced upgrade analysis and transformation. This distribution, Version 40.03, includes several enhancements:
- Improves gmSL, gmAPI, and Migration Utility frameworks for integrating custom migration and reporting rules with the Upgrade Engine. Our scripting language (gmSL) and C#-based API (gmAPI) were extended to enable a new programming model: Migration Utilities. These technologies allow "deep" code analysis and refactoring and simpler integration with gmStudio and debugging with Visual Studio. Some of these deep migration features were implemented using the C-based gmNI (GM Native Interface) programming model. gmNI was an internal-use-only technology. gmNI has been replaced by C#/gmAPI solutions that may be modified by upgrade teams as needed.
- Several Migration Utilities, implemented in gmAPI/C#, are now part of the standard distribution:
- gmCodeStyle.exe implements the custom coding style transformations
- gmSharedFile.exe implements the shared file analysis and reporting that enables shared file consolidation
- gmGlobalIncludes.exe implements the global analysis of #include files in an ASP and directs migrating web sites with complex #include file dependencies
- gmWPFSubsystem.exe implements the migration of VB6 Forms layout and logic to XAML and WPF APIs
gmStudio: Upgrade Solution Development Environment
Powered by gmBasic, gmStudio is a development environment for analyzing code and developing custom VB6/ASP/COM to .NET upgrade solutions. We are continuously adding functionality to gmStudio and making it easier to use. This distribution includes several enhancements:
- Adds support for invoking Migration Utilities during Translation Script processing
- Adds support for User-Command-Only tasks in a migration project simplifying the use of external tools during batch processing
- Improves performance of COM reference analysis when setting up an ASP site, particularly in the New Project Wizard
- Improves progress and error reporting in the UI
- Improves handling duplicate file names in an ASP site
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest product improvements and conventions.
- Various improvements to gmAPI allowing Migration Utility approach to building gmBasic extensions
- Various improvements to gmSL to make it more interchangeable with gmAPI
gmStudio Extensions
gmStudio ships with a collection of sample upgrade rules that can be used to add custom features to your upgrade solution. These XML documents and gmSL scripts are distributed as source that you may modify to fit your unique requirements. The sample rules were updated to reflect the latest product improvements and conventions. See also additions and changes in gmStudio Extensions Repository.
- Simplifies the gmSL scripts implementing the deep migrations for Windows Common Controls (MSCOMCTL) to WinForms
Sample Upgrade Solutions
Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions and results were updated to reflect the latest product improvements and conventions.
- Improves the WPFCalculator sample to use gmWPFSubsystem Migration Utility
- Improves the WPFScanTool sample to use gmWPFSubsystem Migration Utility