| Index: master/skia_master_scripts/factory.py
|
| ===================================================================
|
| --- master/skia_master_scripts/factory.py (revision 8794)
|
| +++ master/skia_master_scripts/factory.py (working copy)
|
| @@ -17,6 +17,7 @@
|
| import config_private
|
| import ntpath
|
| import posixpath
|
| +import utils
|
|
|
|
|
| # TODO(epoger): My intent is to make the build steps identical on all platforms
|
| @@ -30,7 +31,6 @@
|
|
|
| CONFIG_DEBUG = 'Debug'
|
| CONFIG_RELEASE = 'Release'
|
| -CONFIG_BENCH = 'Bench'
|
| CONFIGURATIONS = [CONFIG_DEBUG, CONFIG_RELEASE]
|
|
|
|
|
| @@ -117,8 +117,12 @@
|
| else:
|
| my_env_vars = dict(environment_variables)
|
| gyp_defines = my_env_vars.get('GYP_DEFINES', '')
|
| - my_env_vars['GYP_DEFINES'] = gyp_defines + \
|
| - ' skia_warnings_as_errors=%d' % int(compile_warnings_as_errors)
|
| + if gyp_defines:
|
| + my_env_vars['GYP_DEFINES'] = gyp_defines + \
|
| + ' skia_warnings_as_errors=%d' % int(compile_warnings_as_errors)
|
| + else:
|
| + my_env_vars['GYP_DEFINES'] = \
|
| + 'skia_warnings_as_errors=%d' % int(compile_warnings_as_errors)
|
|
|
| # Get an implementation of SkiaCommands as appropriate for
|
| # this target_platform.
|
| @@ -489,50 +493,37 @@
|
| self.UploadBenchResultsToAppEngine()
|
| self.UploadBenchGraphs()
|
|
|
| - def Build(self, clobber=None):
|
| + def Build(self, role=None, clobber=None):
|
| """Build and return the complete BuildFactory.
|
|
|
| + role: string; the intended role of this builder. The role affects which
|
| + steps are run. Known values are given in the utils module.
|
| clobber: boolean indicating whether we should clean before building
|
| """
|
| - self.CommonSteps(clobber)
|
| - self.NonPerfSteps()
|
| - self.PerfSteps()
|
| + if not role:
|
| + # If no role is provide, just run everything.
|
| + self.CommonSteps(clobber)
|
| + self.NonPerfSteps()
|
| + self.PerfSteps()
|
| + elif role == utils.BUILDER_ROLE_COMPILE:
|
| + # Compile-only builder.
|
| + self.UpdateSteps()
|
| + self.Compile(clobber=clobber, build_in_one_step=False)
|
| + else:
|
| + self.CommonSteps(clobber)
|
| + if role == utils.BUILDER_ROLE_TEST:
|
| + # Test-running builder.
|
| + self.NonPerfSteps()
|
| + if self._configuration == CONFIG_DEBUG:
|
| + # Debug-mode testers run all steps, but release-mode testers don't.
|
| + self.PerfSteps()
|
| + elif role == utils.BUILDER_ROLE_PERF:
|
| + # Perf-only builder.
|
| + if not self._perf_output_basedir:
|
| + raise ValueError(
|
| + 'BuildPerfOnly requires perf_output_basedir to be defined.')
|
| + if self._configuration != CONFIG_RELEASE:
|
| + raise ValueError('BuildPerfOnly should run in %s configuration.' %
|
| + CONFIG_RELEASE)
|
| + self.PerfSteps()
|
| return self
|
| -
|
| - def BuildCompileOnly(self, clobber=None):
|
| - """Build and return the complete BuildFactory, with only the compile step.
|
| - Does not build in one step; the assumption is that if we're only performing
|
| - the compile, we want as much information as possible about *which* compile
|
| - steps are passing and failing.
|
| -
|
| - clobber: boolean indicating whether we should clean before building
|
| - """
|
| - self.UpdateSteps()
|
| - self.Compile(clobber=clobber, build_in_one_step=False)
|
| - return self
|
| -
|
| - def BuildNoPerf(self, clobber=None):
|
| - """Build and return the complete BuildFactory, without the benchmarking
|
| - steps.
|
| -
|
| - clobber: boolean indicating whether we should clean before building
|
| - """
|
| - self.CommonSteps(clobber)
|
| - self.NonPerfSteps()
|
| - return self
|
| -
|
| - def BuildPerfOnly(self, clobber=None):
|
| - """Build and return the complete BuildFactory, with only the benchmarking
|
| - steps.
|
| -
|
| - clobber: boolean indicating whether we should clean before building
|
| - """
|
| - if not self._perf_output_basedir:
|
| - raise ValueError(
|
| - 'BuildPerfOnly requires perf_output_basedir to be defined.')
|
| - if self._configuration != CONFIG_RELEASE:
|
| - raise ValueError('BuildPerfOnly should run in %s configuration.' %
|
| - CONFIG_RELEASE)
|
| - self.CommonSteps(clobber)
|
| - self.PerfSteps()
|
| - return self
|
|
|