parameters: (self, json, args)
docstring: Initializes this good repo object.
  
          Args:
          'json':  A fully populated JSON object describing the repo.
          'args':  Results from ArgumentParser
docstring_summary: Initializes this good repo object.
docstring_tokens: Initializes this good repo object .
function: def __init__(self, json, args):
          """Initializes this good repo object.
  
          Args:
          'json':  A fully populated JSON object describing the repo.
          'args':  Results from ArgumentParser
          """
          self._json = json
          self._args = args
          # Required JSON elements
          self.name = json['name']
          self.url = json['url']
          self.sub_dir = json['sub_dir']
          self.commit = json['commit']
          # Optional JSON elements
          self.build_dir = None
          self.install_dir = None
          if json.get('build_dir'):
              self.build_dir = os.path.normpath(json['build_dir'])
          if json.get('install_dir'):
              self.install_dir = os.path.normpath(json['install_dir'])
          self.deps = json['deps'] if ('deps' in json) else []
          self.prebuild = json['prebuild'] if ('prebuild' in json) else []
          self.prebuild_linux = json['prebuild_linux'] if (
              'prebuild_linux' in json) else []
          self.prebuild_windows = json['prebuild_windows'] if (
              'prebuild_windows' in json) else []
          self.custom_build = json['custom_build'] if ('custom_build' in json) else []
          self.cmake_options = json['cmake_options'] if (
              'cmake_options' in json) else []
          self.ci_only = json['ci_only'] if ('ci_only' in json) else []
          self.build_step = json['build_step'] if ('build_step' in json) else 'build'
          self.build_platforms = json['build_platforms'] if ('build_platforms' in json) else []
          self.optional = set(json.get('optional', []))
          # Absolute paths for a repo's directories
          dir_top = os.path.abspath(args.dir)
          self.repo_dir = os.path.join(dir_top, self.sub_dir)
          if self.build_dir:
              self.build_dir = os.path.join(dir_top, self.build_dir)
          if self.install_dir:
              self.install_dir = os.path.join(dir_top, self.install_dir)
  	    # Check if platform is one to build on
          self.on_build_platform = False
          if self.build_platforms == [] or platform.system().lower() in self.build_platforms:
              self.on_build_platform = True
function_tokens: def __init__ ( self , json , args ) : self . _json = json self . _args = args # Required JSON elements self . name = json [ 'name' ] self . url = json [ 'url' ] self . sub_dir = json [ 'sub_dir' ] self . commit = json [ 'commit' ] # Optional JSON elements self . build_dir = None self . install_dir = None if json . get ( 'build_dir' ) : self . build_dir = os . path . normpath ( json [ 'build_dir' ] ) if json . get ( 'install_dir' ) : self . install_dir = os . path . normpath ( json [ 'install_dir' ] ) self . deps = json [ 'deps' ] if ( 'deps' in json ) else [ ] self . prebuild = json [ 'prebuild' ] if ( 'prebuild' in json ) else [ ] self . prebuild_linux = json [ 'prebuild_linux' ] if ( 'prebuild_linux' in json ) else [ ] self . prebuild_windows = json [ 'prebuild_windows' ] if ( 'prebuild_windows' in json ) else [ ] self . custom_build = json [ 'custom_build' ] if ( 'custom_build' in json ) else [ ] self . cmake_options = json [ 'cmake_options' ] if ( 'cmake_options' in json ) else [ ] self . ci_only = json [ 'ci_only' ] if ( 'ci_only' in json ) else [ ] self . build_step = json [ 'build_step' ] if ( 'build_step' in json ) else 'build' self . build_platforms = json [ 'build_platforms' ] if ( 'build_platforms' in json ) else [ ] self . optional = set ( json . get ( 'optional' , [ ] ) ) # Absolute paths for a repo's directories dir_top = os . path . abspath ( args . dir ) self . repo_dir = os . path . join ( dir_top , self . sub_dir ) if self . build_dir : self . build_dir = os . path . join ( dir_top , self . build_dir ) if self . install_dir : self . install_dir = os . path . join ( dir_top , self . install_dir ) # Check if platform is one to build on self . on_build_platform = False if self . build_platforms == [ ] or platform . system ( ) . lower ( ) in self . build_platforms : self . on_build_platform = True