19 """Prepare the variables."""
20
21
22
23 if self.m.path.c.base_paths['start_dir'][-1] == 'k':
24 self.m.path.c.base_paths['start_dir'] = (
25 self.m.path.c.base_paths['start_dir'][:-1])
26
27
28 self.builder_name = self.m.properties['buildername']
29
30 self.workdir = self.m.path['start_dir']
31
32
33 self.build_dir = self.workdir.join('build')
34
35 self.default_env = self.m.context.env
36 self.default_env['CHROME_HEADLESS'] = '1'
37 self.default_env['PATH'] = self.m.path.pathsep.join([
38 self.default_env.get('PATH', '%(PATH)s'),
39 str(self.m.bot_update.repo_resource()),
40 ])
41 self.cache_dir = self.workdir.join('cache')
42
43 self.swarming_out_dir = self.workdir.join(
44 self.m.properties.get('swarm_out_dir', 'tmp'))
45
46 self.tmp_dir = self.m.path['start_dir'].join('tmp')
47
48 self.builder_cfg = self.m.builder_name_schema.DictForBuilderName(
49 self.builder_name)
50 self.role = self.builder_cfg['role']
51 if self.role == self.m.builder_name_schema.BUILDER_ROLE_HOUSEKEEPER:
52 self.configuration = CONFIG_RELEASE
53 else:
54 self.configuration = self.builder_cfg.get('configuration', CONFIG_DEBUG)
55 arch = (self.builder_cfg.get('arch') or self.builder_cfg.get('target_arch'))
56 if ('Win' in self.builder_cfg.get('os', '') and arch == 'x86_64'):
57 self.configuration += '_x64'
58
59 self.extra_tokens = []
60 if len(self.builder_cfg.get('extra_config', '')) > 0:
61 if self.builder_cfg['extra_config'].startswith('SK'):
62 assert self.builder_cfg['extra_config'].isupper()
63 self.extra_tokens = [self.builder_cfg['extra_config']]
64 else:
65 self.extra_tokens = self.builder_cfg['extra_config'].split('_')
66
67 self.patch_storage = self.m.properties.get('patch_storage', 'gerrit')
68 self.issue = None
69 self.patchset = None
70 self.is_trybot = False
71 if (self.m.properties.get('patch_issue', '') and
72 self.m.properties['patch_issue'] != '0' and
73 self.m.properties.get('patch_set', '') and
74 self.m.properties['patch_set'] != '0' and
75 self.m.properties.get('patch_ref', '')):
76 self.is_trybot = True
77 self.issue = self.m.properties['patch_issue']
78 self.patchset = self.m.properties['patch_set']
79
80 self._swarming_bot_id = None
81 self._swarming_task_id = None
82
83
84 self.internal_hardware_label = (
85 self.m.properties.get('internal_hardware_label'))
86 self.is_internal_bot = self.internal_hardware_label is not None
87