def displayCurrentTarget(args): if not args.plain: DIM = colorama.Style.DIM #pylint: disable=no-member BRIGHT = colorama.Style.BRIGHT #pylint: disable=no-member GREEN = colorama.Fore.GREEN #pylint: disable=no-member RED = colorama.Fore.RED #pylint: disable=no-member RESET = colorama.Style.RESET_ALL #pylint: disable=no-member else: DIM = BRIGHT = GREEN = RED = RESET = u'' line = u'' c = component.Component(os.getcwd()) if c.isApplication(): app_path = c.path else: app_path = None derived_target, errors = target.getDerivedTarget( args.target, c.targetsPath(), application_dir=app_path, install_missing=False, shrinkwrap=c.getShrinkwrap()) for error in errors: logging.error(error) if derived_target is None: line = BRIGHT + RED + args.target + u' missing' + RESET else: for t in derived_target.hierarchy: if len(line): line += '\n' if t: line += t.getName() + DIM + u' ' + str(t.getVersion()) + RESET if t.installedLinked(): line += GREEN + BRIGHT + u' -> ' + RESET + GREEN + fsutils.realpath( t.path) else: line += BRIGHT + RED + t.getName() + DIM + u' ' + str( t.getVersion()) + BRIGHT + u' missing' line += RESET base_spec = t.baseTargetSpec() if base_spec: # if the last target in the hierarchy has a base spec, then the # hierarchy is incomplete: line += '\n' + BRIGHT + RED + base_spec.name + u' ' + base_spec.versionReq( ) + u' missing' if u'unicode' in str(type(line)): # python 2.7 print(line.encode('utf-8')) else: print(line) return len(errors)
def displayCurrentTarget(args): if not args.plain: DIM = colorama.Style.DIM #pylint: disable=no-member BRIGHT = colorama.Style.BRIGHT #pylint: disable=no-member GREEN = colorama.Fore.GREEN #pylint: disable=no-member RED = colorama.Fore.RED #pylint: disable=no-member RESET = colorama.Style.RESET_ALL #pylint: disable=no-member else: DIM = BRIGHT = GREEN = RED = RESET = u'' line = u'' c = component.Component(os.getcwd()) if c.isApplication(): app_path = c.path else: app_path = None derived_target, errors = target.getDerivedTarget( args.target, c.targetsPath(), application_dir=app_path, install_missing=False ) for error in errors: logging.error(error) if derived_target is None: line = BRIGHT + RED + args.target + u' missing' + RESET else: for t in derived_target.hierarchy: if len(line): line += '\n' if t: line += t.getName() + DIM + u' ' + str(t.getVersion()) + RESET if t.installedLinked(): line += GREEN + BRIGHT + u' -> ' + RESET + GREEN + fsutils.realpath(t.path) else: line += BRIGHT + RED + t.getName() + DIM + u' ' + str(t.getVersion()) + BRIGHT + u' missing' line += RESET base_spec = t.baseTargetSpec() if base_spec: # if the last target in the hierarchy has a base spec, then the # hierarchy is incomplete: line += '\n' + BRIGHT + RED + base_spec.name + u' ' + base_spec.versionReq() + u' missing' if u'unicode' in str(type(line)): # python 2.7 print(line.encode('utf-8')) else: print(line) return len(errors)
def satisfyTarget(self, target_name_and_version, update_installed=False, additional_config=None, install_missing=True): ''' Ensure that the specified target name (and optionally version, github ref or URL) is installed in the targets directory of the current component returns (derived_target, errors) ''' # Target, , represent an installed target, internal from yotta.lib import target application_dir = None if self.isApplication(): application_dir = self.path return target.getDerivedTarget( target_name_and_version, self.targetsPath(), install_missing = install_missing, application_dir = application_dir, update_installed = update_installed, additional_config = additional_config )