code: def build(self):
          
          signed = bool(self.options() & Builder.Options.Signed)
  
          # remove previous build information
          buildpath = self.buildPath()
          if not buildpath:
              raise errors.InvalidBuildPath(buildpath)
  
          # setup the environment
          for key, value in self.environment().items():
              log.info('SET {0}={1}'.format(key, value))
              os.environ[key] = value
  
          if os.path.exists(buildpath):
              shutil.rmtree(buildpath)
  
          # generate the build path for the installer
          os.makedirs(buildpath)
  
          # create the output path
          outpath = self.outputPath()
          if not os.path.exists(outpath):
              os.makedirs(outpath)
  
          # copy license information
          src = self.licenseFile()
          if src and os.path.exists(src):
              targ = os.path.join(buildpath, 'license.txt')
              shutil.copyfile(src, targ)
  
          # generate revision information
          if self.options() & Builder.Options.GenerateRevision:
              self.generateRevision()
  
          # generate documentation information
          if self.options() & Builder.Options.GenerateDocs:
              self.generateDocumentation(buildpath)
  
          # generate setup file
          if self.options() & Builder.Options.GenerateSetupFile:
              setuppath = os.path.join(self.sourcePath(), '..')
              egg = (self.options() & Builder.Options.GenerateEgg) != 0
              self.generateSetupFile(setuppath, egg=egg)
  
          # generate executable information
          if self.options() & Builder.Options.GenerateExecutable:
              if not self.generateExecutable(signed=signed):
                  return
  
          # generate zipfile information
          if self.options() & Builder.Options.GenerateZipFile:
              self.generateZipFile(self.outputPath())
  
          # generate installer information
          if self.options() & Builder.Options.GenerateInstaller:
              self.generateInstaller(buildpath, signed=signed)
docs: Builds this object into the desired output information.