def build_tests(self): package = self.package package_root = os.getcwd() self.build_package(package, package_root) download_dependencies(package.test_dependencies) dependencies = [] for dependency in package.test_dependencies: path = path_for_dependency(dependency) os.chdir(path) sub_package = Package.open() os.chdir(os.path.join('..', '..')) self.build_package(sub_package, path) dependencies.append(sub_package) dependencies.append(package) for dependency in package.dependencies: path = path_for_dependency(dependency) os.chdir(path) sub_package = Package.open() os.chdir(os.path.join('..', '..')) dependencies.append(sub_package) sources = collect_sources(os.path.join(package_root, 'Tests')) has_main = len([s for s in sources if s.endswith('/main.swift')]) > 0 if has_main: self.build_cli(package.name + 'Tests', sources, dependencies) else: raise Exception('Tests is missing a main.swift')
def Run(self): """Run the application ... We first need to read in all of our package.* files. Then we simply write them out with the correct method. We pass a flag to check for installed packages. """ files_list = [ "/etc/portage/package.use", "/etc/portage/package.unmask", "/etc/portage/package.mask", "/etc/portage/package.keywords", "/etc/portage/package.license" ] for name in files_list: if not os.access(name, os.F_OK): continue file = Package(name, self._destructive, self._sort, self._debug) file.open() if self._pretend: output.verbose("%s:", name) output.verbose(file.__unicode__()) else: file.write(self._reorganize) file.close()
def build_package(self, package, package_root): download_dependencies(package.dependencies) dependencies = [] for dependency in package.dependencies: path = path_for_dependency(dependency) os.chdir(path) sub_package = Package.open() os.chdir(os.path.join('..', '..')) self.build_package(sub_package, path) dependencies.append(sub_package) sources = collect_sources(os.path.join(package_root, 'Sources')) has_main = len([s for s in sources if s.endswith('/main.swift')]) > 0 if has_main: self.build_cli(package.name, sources, dependencies) else: self.build_library(package.name, sources, dependencies)