code: def create_build_context(self, variant, build_type, build_path):
          
          request = variant.get_requires(build_requires=True,
                                         private_build_requires=True)
  
          req_strs = map(str, request)
          quoted_req_strs = map(quote, req_strs)
          self._print("Resolving build environment: %s", ' '.join(quoted_req_strs))
  
          if build_type == BuildType.local:
              packages_path = self.package.config.packages_path
          else:
              packages_path = self.package.config.nonlocal_packages_path
  
          if self.package.config.is_overridden("package_filter"):
              from rez.package_filter import PackageFilterList
  
              data = self.package.config.package_filter
              package_filter = PackageFilterList.from_pod(data)
          else:
              package_filter = None
  
          context = ResolvedContext(request,
                                    package_paths=packages_path,
                                    package_filter=package_filter,
                                    building=True)
          if self.verbose:
              context.print_info()
  
          # save context before possible fail, so user can debug
          rxt_filepath = os.path.join(build_path, "build.rxt")
          context.save(rxt_filepath)
  
          if context.status != ResolverStatus.solved:
              raise BuildContextResolveError(context)
          return context, rxt_filepath
docs: Create a context to build the variant within.