Пример #1
0
def main():
  default_noto = notoconfig.values.get('noto')
  default_cldr = notoconfig.values.get('cldr')

  parser = argparse.ArgumentParser()
  parser.add_argument('--cldr', help='directory of local cldr svn repo (default %s)' %
                      default_cldr, default=default_cldr)
  parser.add_argument('--update_cldr', help='update cldr before running', action='store_true')
  parser.add_argument('--cldr_tag', help='tag name to use for cldr (default empty)', default='')
  parser.add_argument('--noto', help='directory of local noto git repo (default %s)' %
                      default_noto, default=default_noto)
  parser.add_argument('--branch', help='confirm current branch of noto git repo')
  args = parser.parse_args()

  if not args.cldr or not args.noto:
    print("Missing either or both of cldr and noto locations.")
    return

  if args.branch:
    cur_branch = tool_utils.git_get_branch(args.noto)
    if cur_branch != args.branch:
      print("Expected branch '%s' but %s is in branch '%s'." % (args.branch, args.noto, cur_branch))
      return

  update_cldr(args.noto, args.cldr, args.update_cldr, args.cldr_tag)
Пример #2
0
def get_repo_info(skip_checks):
  """Looks at the three noto fonts repos (fonts, cjk, emoji) and
  gets information about the current state of each.  Returns
  a mapping from 'fonts', 'cjk', and 'emoji' to the corresponding
  info.

  If skip_checks is not set, checks that the repos are in a good
  state (at a known annotated tag and there are no pending commits),
  otherwise an exception is raised."""

  repo_info = {}
  errors = []
  for repo_name in 'fonts cjk emoji'.split():
    msg_lines = []
    repo = tool_utils.resolve_path('[%s]' % repo_name)
    repo_head_commit = tool_utils.git_head_commit(repo)
    repo_branch = tool_utils.git_get_branch(repo)
    msg_lines.append('Repo: noto-%s' % repo_name)
    if skip_checks:
      msg_lines.append('Branch: %s' % repo_branch)
      msg_lines.append('Commit: %s\nSubject: %s' % repo_head_commit)
    else:
      if not tool_utils.git_is_clean(repo):
        errors.append('repo noto-%s is not clean' % repo_name)
        continue
      repo_tag = None
      for tag in tool_utils.git_tags(repo):
        if tag[0] == repo_head_commit[0]: # matching commits
          repo_tag = tag
          break
      if not repo_tag:
        errors.append('noto-%s is not at a release tag' % repo_name)
        continue
      tag_commit, tag_name, tag_date = tag
      tag_info = tool_utils.git_tag_info(repo, tag_name)
      msg_lines.append(
          'Tag: %s\nDate: %s\nCommit:%s\n\n%s' % (
              tag_name, tag_date, tag_commit, tag_info))
    repo_info[repo_name] = '\n'.join(msg_lines)
  if errors:
    for _, v in sorted(repo_info.iteritems()):
      print v
    raise Exception('Some repos are not clean\n' + '\n'.join(errors))
  return repo_info
Пример #3
0
def main():
    default_noto = notoconfig.values.get("noto")
    default_cldr = notoconfig.values.get("cldr")

    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--cldr",
        help="directory of local cldr svn repo (default %s)" % default_cldr,
        default=default_cldr,
    )
    parser.add_argument("--update_cldr",
                        help="update cldr before running",
                        action="store_true")
    parser.add_argument("--cldr_tag",
                        help="tag name to use for cldr (default empty)",
                        default="")
    parser.add_argument(
        "--noto",
        help="directory of local noto git repo (default %s)" % default_noto,
        default=default_noto,
    )
    parser.add_argument("--branch",
                        help="confirm current branch of noto git repo")
    args = parser.parse_args()

    if not args.cldr or not args.noto:
        print("Missing either or both of cldr and noto locations.")
        return

    if args.branch:
        cur_branch = tool_utils.git_get_branch(args.noto)
        if cur_branch != args.branch:
            print("Expected branch '%s' but %s is in branch '%s'." %
                  (args.branch, args.noto, cur_branch))
            return

    update_cldr(args.noto, args.cldr, args.update_cldr, args.cldr_tag)