1'/*************************************************************************
2'
3'  Licensed to the Apache Software Foundation (ASF) under one
4'  or more contributor license agreements.  See the NOTICE file
5'  distributed with this work for additional information
6'  regarding copyright ownership.  The ASF licenses this file
7'  to you under the Apache License, Version 2.0 (the
8'  "License"); you may not use this file except in compliance
9'  with the License.  You may obtain a copy of the License at
10'
11'    http://www.apache.org/licenses/LICENSE-2.0
12'
13'  Unless required by applicable law or agreed to in writing,
14'  software distributed under the License is distributed on an
15'  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16'  KIND, either express or implied.  See the License for the
17'  specific language governing permissions and limitations
18'  under the License.
19'
20' ************************************************************************/
21'### Build Support Module for running commands to export and import
22'### modules from Word, Excel and PowerPoint Document Analysis driver documents
23
24
25<job id="DocAnalysisBuildCmd" error="true" debug="true">
26   <script language="VBScript" src="DocAnalysisRunMacro.vbs"/>
27   <script language="VBScript">
28
29Const CTITLE = "Document Analysis Command"
30
31Const CWORD_DRIVER = "_OOoDocAnalysisWordDriver.doc"
32Const CEXCEL_DRIVER = "_OOoDocAnalysisExcelDriver.xls"
33Const CPP_DRIVER = "_OOoDocAnalysisPPTDriver.ppt"
34Const CStub = "Stripped"
35
36Const CUTIL_APPNAME_WORD = "Word"
37Const CUTIL_APPNAME_EXCEL = "Excel"
38Const CUTIL_APPNAME_POWERPOINT = "PowerPoint"
39
40Const CDIAG_STD_DELAY = 2
41
42Const CDEFAULT_SOURCE_DIR = ".\sources\"
43Const CDEFAULT_TARGET_DIR = "."
44
45Const CSOURCE_DIR_ARG = "X"
46Const CTARGET_DIR_ARG = "T"
47Const CUSAGE_ARG = "?"
48
49Const CSTR_PAW = "\PAW\"
50
51'######### Doc Analysis Build - Main Script Body #############
52Dim mArgsNamed, mArgsUnnamed
53Dim mSourceDir
54Dim mTargetDir
55
56On Error Resume Next
57
58'### Process Arguments ###
59Set mArgsNamed = WScript.Arguments.Named
60Set mArgsUnnamed = WScript.Arguments.Unnamed
61
62If mArgsNamed.Exists(CUSAGE_ARG) Then
63	Usage
64	FinalExit
65End If
66
67'# Source Dir
68if mArgsNamed.Exists(CSOURCE_DIR_ARG) Then
69	mSourceDir = mArgsNamed.Item(CSOURCE_DIR_ARG)
70Else
71	mSourceDir = CDEFAULT_SOURCE_DIR
72End If
73
74'# Target Dir
75if mArgsNamed.Exists(CTARGET_DIR_ARG ) Then
76	mTargetDir = mArgsNamed.Item(CTARGET_DIR_ARG )
77Else
78	mTargetDir = CDEFAULT_TARGET_DIR
79End If
80
81mSourceDir = daFso.GetAbsolutePathName(mSourceDir )
82mTargetDir = daFso.GetAbsolutePathName(mTargetDir )
83
84'# Check source and target dirs exist
85If Not daFso.FolderExists(mSourceDir) Then
86	DAErrMsg "Source directory does not exist: " & mSourceDir, CDA_ERR_STD_DELAY
87    FinalExit
88End If
89If Not daFso.FolderExists(mTargetDir) Then
90	DAErrMsg "Target directory does not exist: " & mTargetDir, CDA_ERR_STD_DELAY
91    FinalExit
92End If
93
94Set mArgsNamed = Nothing
95Set mArgsUnnamed = Nothing
96
97'#### then continue with PAW
98ImportAll mTargetDir & CSTR_PAW
99
100'# Cleanup
101FinalExit
102
103
104'######### End - Main Script Body #############
105
106
107'#### Doc Analysis Build - Support Functions ####
108
109Sub Usage()
110	DAdiagMsg "Build command line tool to create Document Analysis driver documents" & vbLf & vbLf &_
111	"DocAnalysisBuildCmd [/X:<sourceDir>] [/T:<targetDir>]" & vbLf & vbLf &_
112	"/X:<sourceDir> base <source> directory " & vbLf & _
113	"            The <sourceDir> is the base dir under which all the " & vbLf & _
114	"            _res.bas files are located to import from" & vbLf & vbLf & _
115	"/T:<targetDir> target directory " & vbLf & _
116	"            <targetDir> is where the new Driver docs" & vbLf & _
117	"            will be created", 30
118End Sub
119
120'######################
121Sub FinalExit()
122    DACleanUp
123	wscript.quit
124End Sub
125
126'######################
127Sub ImportAll( aTargetDir )
128
129    '#### Create automation servers ####
130    DAsetupWrdServer
131    DAsetupExcelServer
132    DAsetupPPServer
133
134    If Not daFso.FolderExists( aTargetDir ) Then
135        daFso.CreateFolder( aTargetDir )
136    End If
137
138    BackupDrivers aTargetDir
139
140    DAOpenWrdDriver mSourceDir & "\" & CSTUB & CWORD_DRIVER
141    DAOpenExcelDriver mSourceDir & "\" & CSTUB & CEXCEL_DRIVER
142    DAOpenPPDriver mSourceDir & "\" & CSTUB & CPP_DRIVER
143
144    DASetTitle CTITLE & " - Import"
145
146    ImportSelectedProjectFiles mSourceDir, CUTIL_APPNAME_WORD
147    ImportSelectedProjectFiles mSourceDir, CUTIL_APPNAME_EXCEL
148    ImportSelectedProjectFiles mSourceDir, CUTIL_APPNAME_POWERPOINT
149
150    DAsaveWrdDriver aTargetDir & "\" & CWORD_DRIVER
151    DAsaveExcelDriver aTargetDir & "\" & CEXCEL_DRIVER
152    DAsavePPDriver aTargetDir & "\" & CPP_DRIVER
153
154    DACloseApps
155End Sub
156
157'######################
158Sub BackupDrivers(importdir)
159    On Error Resume Next
160
161	Dim wrdPath
162	Dim xlsPath
163	Dim ppPath
164
165	wrdPath = daFso.GetAbsolutePathName(importdir & "\" & CWORD_DRIVER)
166	xlsPath= daFso.GetAbsolutePathName(importdir & "\" & CEXCEL_DRIVER)
167	ppPath= daFso.GetAbsolutePathName(importdir & "\" & CPP_DRIVER)
168
169    If daFso.FileExists( wrdPath ) Then daFso.CopyFile wrdPath, wrdPath & ".bak"
170	If daFso.FileExists( xlsPath ) Then daFso.CopyFile xlsPath, xlsPath & ".bak"
171	If daFso.FileExists( ppPath ) Then daFso.CopyFile ppPath, ppPath & ".bak"
172End Sub
173
174'######################
175Sub ImportSelectedProjectFiles(dir, app_name)
176    On Error Resume Next
177
178    Dim base
179    Dim lcApp_name
180    lcApp_name = LCase(app_name)
181
182    'Driver Specific
183    base = dir & "\" & lcApp_name & "\"
184
185    DAImportFile base & "ApplicationSpecific.bas", "ApplicationSpecific", app_name
186    DAImportFile base & "MigrationAnalyser.cls", "MigrationAnalyser", app_name
187
188    DAImportFile base & "Preparation.bas", "Preparation", app_name
189
190    'app resource
191    DAImportFile base & lcApp_name & "_res.bas", lcApp_name & "_res", app_name
192
193    'Common
194    base = dir & "\"
195    DAImportFile base & "AnalysisDriver.bas", "AnalysisDriver", app_name
196    DAImportFile base & "CommonMigrationAnalyser.bas", "CommonMigrationAnalyser", app_name
197    DAImportFile base & "CollectedFiles.cls", "CollectedFiles", app_name
198    DAImportFile base & "DocumentAnalysis.cls", "DocumentAnalysis", app_name
199    DAImportFile base & "FileTypeAssociation.cls", "FileTypeAssociation", app_name
200    DAImportFile base & "IssueInfo.cls", "IssueInfo", app_name
201    DAImportFile base & "PrepareInfo.cls", "PrepareInfo", app_name
202    DAImportFile base & "StringDataManager.cls", "StringDataManager", app_name
203    DAImportFile base & "LocalizeResults.bas", "LocalizeResults", app_name
204
205    DAImportFile base & "CommonPreparation.bas", "CommonPreparation", app_name
206
207    'common resource
208    DAImportFile base & "common_res.bas", "common_res", app_name
209    DAImportFile base & "results_res.bas", "results_res", app_name
210
211End Sub
212
213</script>
214</job>
215
216