Skip to content
Snippets Groups Projects
Commit f3760448 authored by al.schwinn's avatar al.schwinn
Browse files

Bug 1440 - Use other codegen-folder for silecsdeploy

parent f9a5b28e
No related branches found
No related tags found
No related merge requests found
......@@ -26,11 +26,6 @@ designFormat = '.silecsdesign'
deployFormat = '.silecsdeploy'
paramFormat = '.silecsparam'
generatedDir = 'generated'
clientDir = 'client'
controllerDir = 'controller'
wrapperDir = 'wrapper'
#==================================================================
# FILE ACCESS
#==================================================================
......@@ -40,6 +35,7 @@ def saveXMLToFile(filePath,xmlDoc):
xmlDoc.saveTo(fd,format = True)
#xmlDoc.saveTo(fd,"UTF-8",libxml2.XML_SAVE_NO_EMPTY) # it seems like there is a bug in libxml2 XML_SAVE_NO_EMPTY does the job of XML_SAVE_FORMAT
#--- DESIGN ---
def getSilecsDesignFileDir(workspacePath, projectName):
......@@ -88,40 +84,39 @@ def newDeployProject(workspacePath, deployName, schemaPath, silecsVersion):
fdesc.write(deployText)
fdesc.close()
def getGeneratedSilecsDirectory(workspacePath, deployName):
return os.path.join( workspacePath, deployName, 'generated-silecs')
#--- PARAMETER ---
def getParameterFileName(controllerName):
return controllerName + paramFormat
def getParameterFileDirectory(workspacePath, deployName):
paramPath = workspacePath + '/' + deployName + '/' + generatedDir + '/' + clientDir
paramPathNorm = os.path.normpath(paramPath)
return paramPathNorm
paramPath = os.path.join( getGeneratedSilecsDirectory(workspacePath, deployName), 'client' )
return os.path.normpath(paramPath)
def getParameterFile(workspacePath, deployName, controllerName):
paramPath = getParameterFileDirectory(workspacePath, deployName) + '/' + getParameterFileName(controllerName)
paramPathNorm = os.path.normpath(paramPath)
return paramPathNorm
paramPath = os.path.join(getParameterFileDirectory(workspacePath, deployName), getParameterFileName(controllerName))
return os.path.normpath(paramPath)
#--- CONTROLLER SOURCES ---
def getControllerSourcesDirectory(workspacePath, deployName):
controllerPath = workspacePath + '/' + deployName + '/' + generatedDir + '/' + controllerDir
controllerNorm = os.path.normpath(controllerPath)
return controllerNorm
controllerPath = os.path.join( getGeneratedSilecsDirectory(workspacePath, deployName), 'controller' )
return os.path.normpath(controllerPath)
#--- DU WRAPPER ---
def getDuWrapperFileName( controllerName ):
return iecommon.capitalizeString(controllerName) + ".h"
def getDuWrapperSourceDirectory(workspacePath, deployName):
wrapperPath = workspacePath + '/' + deployName + '/' + generatedDir + '/' + wrapperDir
wrapperPathNorm = os.path.normpath(wrapperPath)
return wrapperPathNorm
wrapperPath = os.path.join( getGeneratedSilecsDirectory(workspacePath, deployName), 'wrapper' )
return os.path.normpath(wrapperPath)
def getDuWrapperFile(workspacePath, deployName, controllerName ):
return getDuWrapperSourceDirectory(workspacePath, deployName) + "/" + getDuWrapperFileName(controllerName)
return os.path.join( getDuWrapperSourceDirectory(workspacePath, deployName), getDuWrapperFileName(controllerName))
def getDuDesignWrapperFile(workspacePath, deployName, designName):
return getDuWrapperSourceDirectory(workspacePath, deployName) + "/" + getDuWrapperFileName(designName)
return os.path.join(getDuWrapperSourceDirectory(workspacePath, deployName), getDuWrapperFileName(designName))
def getProjectDirectory(workspacePath, designName):
......
......@@ -31,8 +31,12 @@ class Migration(MigrationBase):
def migrateClass(self, context, projectDir ):
modified = fesaClassIncludeHeaderMigrator(context,self.silecsDocument)
removeSilecsGenCode(context, self.silecsDocument)
# modified |= designBlockRegisterMigrator(context)
removeSilecsDesignGenCode(context, self.silecsDocument)
return modified
def migrateDeployUnit(self, context, projectDir ):
modified = False
removeSilecsDeployGenCode(context, projectDir)
return modified
......
......@@ -17,8 +17,10 @@
import libxml2
import FileUtils
import os
import shutil
def fesaClassIncludeHeaderMigrator(context,silecsDocument):
print("Info: The include calls in all FESA source files will be updated to use the new 'generated-silecs' folder")
modified = False
silecsClassNodes = context.xpathEval("//SILECS-Class")
if not silecsClassNodes:
......@@ -35,7 +37,8 @@ def fesaClassIncludeHeaderMigrator(context,silecsDocument):
modified = True
return modified
def removeSilecsGenCode(context, silecsDocument):
def removeSilecsDesignGenCode(context, silecsDocument):
print("Info: The silecs generated C++ code which was located in 'Common' moved to 'generated-silecs' in the root directory. The old code will be removed")
silecsClassNodes = context.xpathEval("//SILECS-Class")
if not silecsClassNodes:
raise Exception('Node "SILECS-Class" not found')
......@@ -49,3 +52,15 @@ def removeSilecsGenCode(context, silecsDocument):
os.remove(cppFile)
if os.path.isfile(hppFile):
os.remove(hppFile)
def removeSilecsDeployGenCode(context, projectDir):
print("Info: the silecsdeploy folder 'generated' will be named 'generated-silecs' to be consistant with silecsdesign. The old folder will be removed.")
clientFolder = os.path.join(projectDir,"generated","client")
controllerFolder = os.path.join(projectDir,"generated","controller")
wrapperFolder = os.path.join(projectDir,"generated","wrapper")
if os.path.isdir(clientFolder):
shutil.rmtree(clientFolder)
if os.path.isdir(controllerFolder):
shutil.rmtree(controllerFolder)
if os.path.isdir(wrapperFolder):
shutil.rmtree(wrapperFolder)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment