Module sis |
[hide private]
[frames] | no frames]

# Source Code for Module sis

     1  #============================================================================
     2  #Name        : sis.py
     3  #Part of     : Helium
     4
     5  #Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     6  #All rights reserved.
     7  #This component and the accompanying materials are made available
     8  #under the terms of the License "Eclipse Public License v1.0"
     9  #which accompanies this distribution, and is available
    10  #at the URL "http://www.eclipse.org/legal/epl-v10.html".
    11  #
    12  #Initial Contributors:
    13  #Nokia Corporation - initial contribution.
    14  #
    15  #Contributors:
    16  #
    17  #Description:
    18  #===============================================================================
    19
    20  import os
    21
    22  import configuration
    23  import buildtools
    24
    25
    26 -class SisPreBuilder(buildtools.PreBuilder):
    27      """"""
    28 -    def __init__(self, config):
    29          buildtools.PreBuilder.__init__(self, config)
    30
    31 -    def write(self, buildFilePath):
    32          sisConfigs = self.configSet.getConfigurations()
    33          commandList = buildtools.CommandList()
    34          for config in sisConfigs:
    35              makeSisArgs = ['-v', config['name'] + '.pkg', config['name'] + '.sis']
    36              makeSisCommand = buildtools.Command(config['makesis.tool'], config['path'], makeSisArgs)
    37              commandList.addCommand(makeSisCommand)
    38
    39              signSisArgs = ['-v', config['name'] + '.sis', config['name'] + '.sisx', config['cert'], config['key']]
    40              signSisCommand = buildtools.Command(config['signsis.tool'], config['path'], signSisArgs)
    41              commandList.addCommand(signSisCommand, newstage=True)
    42
    43              # This is hardcoded xcopy operation that should be replaced by a more generic
    44              # definition of tasks that can be created in build files
    45              srcFile = os.path.join(config['path'], config['name'] + '.sisx')
    46              todir = config['build.sisfiles.dir']
    47              # mkdir todir
    48              mkdirCommand = buildtools.Command('mkdir', config['path'], [todir])
    49              commandList.addCommand(mkdirCommand, newstage=True)
    50              # xcopy srcFile todir
    51              copyCommand = buildtools.Command('xcopy', config['path'], [srcFile, todir])
    52              commandList.addCommand(copyCommand, newstage=True)
    53
    54          self.writeBuildFile(commandList, buildFilePath)
    55