@staticmethod
  def parse_root_json(config_json, config_path, project_path, subprocess_runner,
                      working_copy):
    """Parse root package from a dictionary read from a config.json file.

    Args:
      config_json: Dictionary parsed from config.json file.
      config_path: Path of the file config_json was parsed from (relative to
        the project).
      project_path: Local path to the project containing the config.json file.
      subprocess_runner: Subprocess instance used to run commands.
      working_copy: Directory to stage git changes in.

    Returns:
      Package instance representing the root package in the config file which
      should reference a set of dependencies.

    Raises:
      ConfigJsonError: If an expected key isn't found in the JSON dictionary.
    """
    try:
      package_dict = config_json['package']
    except __HOLE__ as e:
      raise ConfigJsonError('Package [root] not found: (%s)' % str(e))
    package = Package(package_dict, subprocess_runner, working_copy,
                      config_path)
    package.path = os.path.realpath(project_path)
    return package
dataset/ETHPy150Open google/fplutil/disttools/push_package.py/Package.parse_root_json