-
Include and Exclude Mask Consistency
Visual Build PRO provides two columns in certain steps, namely the
step that is used for copying or moving files or folders as shown in
Figure 1 below:
Figure 1: The "Copy" step properties showing include and exclude
text areas that should be available in the "Source Safe" step
properties.
This option proves to be very useful and can be a very important
option when wanting to use Source Safe to either Get latest or Check
out specific files or folders.
However Visual Build Pro does not provide the option to exclude
certain masked out files or folders for the step that provides
access to Source Safe as shown in Figure 2.
Figure 2: The "SourceSafe" step properties which only provides a
text area to include items. There is no option to exclude
particular files.
Users may want to keep certain files on their local drive that have
been modified. This may include the actual Visual Build Script
itself.
If the user modifies the build process while having Visual Build
open, then restarts the build which could include a step to get the
latest folder in source safe which may include that build script
itself, it may prove to be inconvenient. If the user believes that
the Visual Build script instance that is currently opened seems to
be saved, this may or may not be the one stored in the local drive
after the get latest step.
-
Rename Files or Folders
-
* Fixed by Kinook in Visual Build Pro 6.0 *
When dealing with files and folders, the "Copy" step seems the
most likely to have what they need. Although it provides the
options to copy, move, delete or replace text within files, it
does not provide an option for renaming files themselves.
Figure 1: The "Copy" step without the option to rename files.
Developers would find a renaming option very useful. As they build
a setup file from a solution they want released, previous version
numbers will continually mount up in the public folder used for
release setup files. A clean up process should be made to rename
any previous setup versions as we do in SSW, and "zz" them to push
them down to the bottom of the file list.
Developers using Visual Build PRO think renaming is not supported
so they would have to create an extra step using a script to
access the folder and rename it with the
"Scripting.FileSystemObject" COM.
When you create this step it will allow you to clean up any
previous file moves that you have made from the build script.
With the script created to provide a "clean up" of your files, the
following code snippet found in Figure 2 proved to be useful.
Set FileManagment = CreateObject ("Scripting.FileSystemObject")
Set TheFolder = FileManagment.GetFolder("%BeeFolder%")
Set FileList = TheFolder.Files
For Each File in FileList
fileStart = instr(ThisFile, ".msi") - 1
fileNoExt = mid(ThisFile, 1, fileStart)
File.Name = Replace( File.Name, fileNoExt , "zz"&File.Name&"(zzed_by_VBP).msi")
Next
Figure 2: Rename all the files appending zz at the front, and
(zzed_by_VBP).msi to the back.
-
Is any File Checked Out?
Although Visual Build PRO provides the user with the option to skip
over local writable files as shown in Figure 1, the VSS command-line
tool doesn't distinguish between checked out and non-checked out
writeable files.
Figure 1: Source Safe properties can skip files that have the
"Read-Only" property unchecked, however that does not necessarily
mean they are checked-out.
To distinguish between files that are checked out or not can be a
very useful option as users can accidentally run the Visual Build
script while having the first step as a "Get Latest" and end up
overwriting all the files that they have forgotten to checked-in,
and hense overwrite all that they have done.
The temporary solution was to create a script that would access the
"SourceSafe" COM object and check the status of the file itself.
The IsCheckedOut() method returns 0 for a file that is not checked
out, 1 for a file that is checked out by a user, and 2 for a file
that is checked out by the current user.
const isFolder = 0
const isFile = 1
dim VSS_FolderName
VSS_FolderName = "$/%VSSPath%/"
Set VSS = CreateObject("SourceSafe")
VSS.open "%VSS%"
CheckTheFolder VSS.VSSItem (VSS_FolderName)
Sub CheckTheFolder(objVSSFolder)
For Each VSSObj In objVSSFolder.Items(False)
If ype = isFile Then
If VSSObj.IsCheckedOut = 2 Then
Project.Stop
End if
Else
VSS_FolderName = VSS_FolderName & VSSObj.Name & "/"
set objVSS_SubFolder = VSS.VSSItem (VSS_FolderName)
CheckTheFolder(objVSS_SubFolder)
VSS_FolderName = Replace(VSS_FolderName, VSSObj.Name&"/" ,"")
End if
Next
End Sub
Figure 1: Check recursively for files that have been
checked-out-by-me.
-
Losing focus when text is selected in a text area
-
* Fixed by Kinook in Visual Build Pro 6.0 *
1. When you open a dialog box (double click a step in the build)
then highlight a section of text i.e. as shown in Figure 1:
Figure 1: A highlighted section of text in the text area BEFORE
losing focus of the Visual Build Application
2. Then you lose focus of the Visual Build Program and return to it
the text dissapeard as is shown in Figure 2a and 2b:
Figure 2a: Code has disappeared after returning focus to the
Visual Build Application
Figure 2b: SOME Code has re-appeared after clicking in the text
area.
-
Acknowledgements
Adam Cogan, Adel Helal