diff options
Diffstat (limited to 'admin/buildscript.py')
-rw-r--r-- | admin/buildscript.py | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/admin/buildscript.py b/admin/buildscript.py new file mode 100644 index 000000000..5d5e5bc35 --- /dev/null +++ b/admin/buildscript.py @@ -0,0 +1,72 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +import copy, platform, os, re +from AutobuildCore.Configuration import Configuration +from AutobuildCore.Project import Project +from AutobuildCore.helpers.build_script_helpers import DebugN +from AutobuildCore.helpers.build_script_helpers import AddToPathCollection +from AutobuildCore.helpers.platformdefs import PlatformDefs +from AutobuildCore.helpers.exceptdefs import AutobuildException +from AutobuildCore import autobuildRoot +from AutobuildCore import Callback + +hiddenFileIdent = '.' + +buildSequenceSwitches = '' + +#if 'Windows' in platform.platform(): +# buildSequenceSwitches += ',disable-conf-bin-package' +# hiddenFileIdent = '_' + + +class KDToolsBuilder( Callback.ConfigurationCallback ): + def __init__( self, platform ): + Callback.ConfigurationCallback.__init__( self, 'KD Tools Builder' ) + self.__platform = platform + + def preBuildCallback( self, job ): + config = job.configuration() + project = config.project() + kdtoolsFolder = job.buildDir() + os.sep + 'kdtools' + os.sep + 'kdtools' + if 'Windows' in self.__platform: + confcmd = 'configure.bat ' + config.getOptions() + else: + confcmd = './configure.sh ' + config.getOptions() + step = job.executomat().step( 'conf-configure' ) + step.addPreCommand( confcmd, kdtoolsFolder ) + defs = PlatformDefs.GivePlatformDefs() + makecmd = defs.makeProgram() + step.addPreCommand( makecmd, kdtoolsFolder ) + maketestcmd = defs.makeProgram() + ' test' + step.addPreCommand( maketestcmd, kdtoolsFolder ) + AddToPathCollection( defs.libPathVariable() , kdtoolsFolder + os.sep + 'lib' ) + +scmPath = 'svn+ssh://svn.kdab.net/home/SVN-klaralv/projects/Nokia/SDK' +product = Project( 'Installer' ) + +product.setScmUrl( scmPath + '/trunk' ) +#product.setPackageLocation( 'svn.kdab.net:/home/build/autobuild/packages/kdchart' ) +product.setBuildSequenceSwitches( 's', buildSequenceSwitches ) +product.setBuildSequenceSwitches( 'f', buildSequenceSwitches ) +product.getSettings().addRecipientOnSuccess( 'nokia-sdk@kdab.net' ) +product.getSettings().addRecipientOnFailure( 'nokia-sdk@kdab.net' ) + +debug = Configuration( product, 'Debug' ) +debug.addCallback( KDToolsBuilder( platform.platform() ) ) +debug.setBuilder('autotools') +debug.setPackageDependencies( [ 'Qt-4.[5-9].?-Static-Debug' ] ) +debug.setBuildMode( 'inSource' ) +debug.setOptions( '-static -debug' ) +debug.setBuildTypes('MCDFE') + +release = copy.copy( debug ) # use debug as the base configuration +release.setConfigName( 'Release' ) +release.setPackageDependencies( [ 'Qt-4.[5-9].?-Static-Release' ] ) +release.setOptions( '-static -release' ) +release.setBuildTypes( 'MCDSFE' ) # snapshots are release builds + + +jobs = [ debug, release ] +#jobs = [ debug, eval ] + +product.build( jobs ) |