Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Overview

On occasion you will have a source tree with files that are not important to the upgrade effort. One way to clean this up is to create a new folder having only the files that are important.   gmStudio can help you do this by creating the list of code files referenced by the VBPs that are part of your upgrade project using the Source Structure Report and Search Reporting to build a batch file.

The following steps describe how to use the Source Structure Report to create a clean source directory.

1) Create a gmStudio project containing the VBPs that are important to your project. The code files referenced by these VBPs will be the ones that end up in the cleaned folder.
2) Search the "Source Structure Report" to create a full list referenced by the VBPs
3) Report the file paths from the search results using the Search Report template:

call :copysrc "%ModFile%"

The results panel will look something like this

call :copysrc "C:\gmClients\ABC\src\Dlls\WFCore\frmError.frm"
call :copysrc "C:\gmClients\ABC\src\Dlls\AppMgrs\frmStatus.frm"
...
call :copysrc "C:\gmClients\ABC\src\Dlls\HttpRequestDLL\HttpRequestPay.vbp"
call :copysrc "C:\gmClients\ABC\src\Screens\Corporation\Corp.vbp"

Now copy and past the search report results into a batch file named copysrc.cmd.  This Windows console script uses batch commands and the robocopy utility to copy just the desired files from folder ...\ABC\.. to folder ...\clean\....  Note a .* copy is used to get both frm and frx files.

del copysrc.log

call :copysrc "C:\gmClients\ABC\src\Dlls\WFCore\frmError.frm"
call :copysrc "C:\gmClients\ABC\src\Dlls\AppMgrs\frmStatus.frm"
...
call :copysrc "C:\gmClients\ABC\src\Dlls\HttpRequestDLL\HttpRequestPay.vbp"
call :copysrc "C:\gmClients\ABC\src\Screens\Corporation\Corp.vbp"
exit /b

::-------------------------------------------------------
:copy1src
::-------------------------------------------------------
@echo off
::echo full path : %~f1
::echo drive : %~d1
::echo path : %~p1
::echo file name only : %~n1
::echo extension only : %~x1
::echo expanded path with short names: %~s1
::echo attributes : %~a1
::echo date and time : %~t1
::echo size : %~z1
::echo drive + path : %~dp1
::echo name.ext : %~nx1
::echo full path + short name : %~fs1

set src=%~p1
set dst=%src:ABC=clean%
set srcfldr=%src:~0,-1%
set dstfldr=%dst:~0,-1%
set filnam=%~n1
echo robocopy "%srcfldr%" "%dstfldr%" "%filnam%.*"
robocopy "%srcfldr%" "%dstfldr%" "%filnam%.*">>copysrc.log

exit /b

:end


4) run the script to copy the just the desired source files from the source to destination.


  • No labels