def pre_build()

in builder/core/project.py [0:0]


    def pre_build(self, env):
        imports = self.get_imports(env.spec)
        build_imports = []
        for i in imports:
            import_steps = _build_project(i, env)
            if import_steps:
                build_imports += [Script(import_steps, name='resolve {}'.format(i.name))]
        if build_imports:
            build_imports = [Script(build_imports, name='resolve imports')]

        deps = self.get_dependencies(env.spec)
        build_deps = []
        for d in deps:
            dep_steps = _build_project(d, env)

            if dep_steps:
                build_deps += [Script(dep_steps, name='build {}'.format(d.name))]

        if build_deps:
            build_deps = [Script(build_deps, name='build dependencies')]

        all_steps = build_imports + build_deps + self.config.get('pre_build_steps', [])
        if len(all_steps) == 0:
            return None
        all_steps = [
            partial(_pushd, self.path),
            partial(_pushenv, self, 'pre_build_env'),
            *all_steps,
            _popenv,
            _popd
        ]
        return Script(all_steps, name='pre_build {}'.format(self.name))