Attribute VB_Name = "Declarations" Option Private Module Option Explicit Public Const SERVER_PATH_CIHT = "\\fs1.concept.ru\projects\04 Направления деятельности\60 КИВТ" Public Const SERVER_PATH_AUTOMATION = "\\fs1.concept.ru\projects\10 Автоматизация деятельности" ' ========= Parameters ======= Public Const MAKEFILE_NAME = "VBAMake.txt" Public Const LOC_MINIMUM = 3 ' Minimum ammount of lines of code required to be listed in Modules Public Const FIRST_ROW = 2 Public Const TABLE_HEAD_PRODUCT = "ProductName" Public Const SUBFOLDER_SKELETON = "skeleton" Public Const SUBFOLDER_SCRIPT = "script" Public Const SUBFOLDER_UI = "ui" Public Const SUBFOLDER_VERSION_ARCHIVE = "!Versions" Public Const SHEET_PRODUCTS = "Products" Public Const SHEET_COMPONENTS = "Components" Public Const SHEET_SHARED = "Shared" Public Const SHEET_TESTS = "Tests" Public Const SHEET_PARAMETERS = "Params" Public Const MANIFEST_PROPS_NAME = "name" Public Const MANIFEST_PROPS_ARTIFACT = "artifact" Public Const MAKEFILE_PROPS_ID = "id" Public Const MAKEFILE_PROPS_NAME = "name" Public Const MAKEFILE_PROPS_DESCRIPTION = "description" Public Const MAKEFILE_PROPS_ARTIFACT = "artifact_home" Public Const MAKEFILE_PROPS_SOURCE = "source_home" Public Const MAKEFILE_PROPS_INSTALL = "install_home" Public Enum TVBReference T_REF_UNDEF = 0 [_First] = 1 T_REF_GLOBAL_NAME = 1 T_REF_GUID = 2 T_REF_FILE = 3 [_Last] = 3 End Enum Public Enum TBuildAction T_ACT_UNDEF = 0 [_First] = 1 T_ACT_BUILD = 1 T_ACT_COPY = 2 T_ACT_SAVE_AS = 3 T_ACT_RUN = 4 T_ACT_INSTALL = 5 T_ACT_TEMPLATE = 6 [_Last] = 6 End Enum ' Domain for local paths Public Enum TPathDomain T_PD_UNDEF = 0 [_First] = 1 T_PD_SOURCE = 1 T_PD_ARTIFACT = 2 T_PD_GLOBAL = 3 [_Last] = 3 End Enum Public Enum TBuildStatus T_BS_PENDING = 0 T_BS_OK = 1 T_BS_FAILED = 2 End Enum Public Enum TBuildType T_BUILD_DEBUG = 0 T_BUILD_RELEASE = 1 End Enum ' _R_ - reference attributes Public Enum RefsStruct [_First] = 1 S_R_NAME = 1 S_R_TYPE = 2 S_R_FILE = 3 S_R_GUID = 4 S_R_BROKEN = 5 S_R_MAJOR = 6 S_R_MINOR = 7 S_R_DESCRIPTION = 8 [_Last] = 8 End Enum ' _M_ - module attributes Public Enum ModuleStruct [_First] = 1 S_M_NAME = 1 S_M_TYPE = 2 S_M_SHARED = 3 S_M_LINES_TOTAL = 4 S_M_LINES_DECLARATIONS = 5 S_M_COUNT_API = 6 [_Last] = 6 End Enum ' _S_ - shared module attributes Public Enum SharedStruct [_First] = 1 S_S_NAME = 1 S_S_TYPE = 2 S_S_PATH = 3 S_S_VERSION = 4 S_S_LINES_TOTAL = 5 S_S_LINES_DECLARATIONS = 6 S_S_API_COUNT = 7 S_S_USAGE = 8 [_Last] = 8 End Enum ' _T_ - tests module attributes Public Enum TestStruct [_First] = 1 S_T_PRODUCT = 1 S_T_COMPONENT = 2 S_T_SUITE = 3 S_T_TEST = 4 S_T_DATE = 5 S_T_DURATION = 6 S_T_STATUS = 7 S_T_MESSAGE = 8 [_Last] = 8 End Enum ' _G_ - global references Public Enum GlobalRefsStruct [_First] = 1 S_G_NAME_ID = 1 S_G_GUID = 2 S_G_MINOR = 3 S_G_MAJOR = 4 S_G_FULL_NAME = 5 [_Last] = 5 End Enum ' ========== Conversion API ======== Public Function ActionType2Text(aType As TBuildAction) As String Select Case aType Case T_ACT_BUILD: ActionType2Text = "build" Case T_ACT_COPY: ActionType2Text = "copy" Case T_ACT_SAVE_AS: ActionType2Text = "save_as" Case T_ACT_RUN: ActionType2Text = "run" Case T_ACT_INSTALL: ActionType2Text = "install" Case T_ACT_TEMPLATE: ActionType2Text = "add_template" Case Else: ActionType2Text = "UNDEF" End Select End Function Public Function Text2ActionType(sText$) As TBuildAction Select Case sText Case "build": Text2ActionType = T_ACT_BUILD Case "copy": Text2ActionType = T_ACT_COPY Case "save_as": Text2ActionType = T_ACT_SAVE_AS Case "run": Text2ActionType = T_ACT_RUN Case "install": Text2ActionType = T_ACT_INSTALL Case "add_template": Text2ActionType = T_ACT_TEMPLATE Case Else: Text2ActionType = "UNDEF" End Select End Function Public Function RefTypeFrom(sTypeText$) As TVBReference Select Case sTypeText Case "global": RefTypeFrom = T_REF_GLOBAL_NAME Case "guid": RefTypeFrom = T_REF_GUID Case "file": RefTypeFrom = T_REF_FILE Case Else: RefTypeFrom = T_REF_UNDEF End Select End Function Public Function RefTypeToString(iType As TVBReference) As String Select Case iType Case T_REF_GLOBAL_NAME: RefTypeToString = "global" Case T_REF_GUID: RefTypeToString = "guid" Case T_REF_FILE: RefTypeToString = "file" Case Else: RefTypeToString = "UNDEF" End Select End Function Public Function BuildDescription(bType As TBuildType) As String Select Case bType Case T_BUILD_DEBUG: BuildDescription = "Debug" Case T_BUILD_RELEASE: BuildDescription = "Release" Case Else: BuildDescription = "UNKNOWN" End Select End Function Public Function IsVBAModuleExtension(sExt$) As Boolean IsVBAModuleExtension = sExt = "cls" Or sExt = "frm" Or sExt = "bas" End Function