'Build modules, packages, and copy data files to build directory'

def run(self):

    if ((not self.py_modules) and (not self.packages)):
        return
    if self.py_modules:
        self.build_modules()
    if self.packages:
        self.build_packages()
        self.build_package_data()
    self.run_2to3(self.__updated_files, False)
    self.run_2to3(self.__updated_files, True)
    self.run_2to3(self.__doctests_2to3, True)
    self.byte_compile(_build_py.get_outputs(self, include_bytecode=0))
