old_contents: #!/usr/bin/env python
  # Copyright 2014 The Chromium Authors. All rights reserved.
  # Use of this source code is governed by a BSD-style license that can be
  # found in the LICENSE file.
  
  
  import re
  import sys
  
  usage = """find_used_resources.py
  
  Prints out (to sdout) the sorted list of resource ids that are part of unknown
  pragma warning in the given build log (via stdin).
  
  This script is used to find the resources that are actually compiled in Chrome
  in order to only include the needed strings/images in Chrome PAK files. The
  script parses out the list of used resource ids. These resource ids show up in
  the build output after building Chrome with gyp variable
  enable_resource_whitelist_generation set to 1. This gyp flag causes the compiler
  to print out a UnknownPragma message every time a resource id is used. E.g.:
  foo.cc:22:0: warning: ignoring #pragma whitelisted_resource_12345
  [-Wunknown-pragmas]
  
  On Windows, the message is simply a message via __pragma(message(...)).
  
  """
  
  
  def GetResourceIdsInPragmaWarnings(input):
    """Returns sorted set of resource ids that are inside unknown pragma warnings
       for the given input.
    """
    used_resources = set()
    unknown_pragma_warning_pattern = re.compile(
        'whitelisted_resource_(?P<resource_id>[0-9]*)')
    for ln in input:
      match = unknown_pragma_warning_pattern.search(ln)
      if match:
        resource_id = match.group('resource_id')
        used_resources.add(resource_id)
    return sorted(used_resources)
  
  def Main():
    if len(sys.argv) != 1:
      sys.stderr.write(usage)
      sys.exit(1)
    else:
      used_resources = GetResourceIdsInPragmaWarnings(sys.stdin)
      for rid in used_resources:
        sys.stdout.write(rid + '\n')
  
  if __name__ == '__main__':
    Main()
  
new_contents: #!/usr/bin/env python
  # Copyright 2014 The Chromium Authors. All rights reserved.
  # Use of this source code is governed by a BSD-style license that can be
  # found in the LICENSE file.
  
  
  import re
  import sys
  
  usage = """find_used_resources.py
  
  Prints out (to stdout) the sorted list of resource ids that are part of unknown
  pragma warning in the given build log (via stdin).
  
  This script is used to find the resources that are actually compiled in Chrome
  in order to only include the needed strings/images in Chrome PAK files. The
  script parses out the list of used resource ids. These resource ids show up in
  the build output after building Chrome with gyp variable
  enable_resource_whitelist_generation set to 1. This gyp flag causes the compiler
  to print out a UnknownPragma message every time a resource id is used. E.g.:
  foo.cc:22:0: warning: ignoring #pragma whitelisted_resource_12345
  [-Wunknown-pragmas]
  
  On Windows, the message is simply a message via __pragma(message(...)).
  
  """
  
  
  def GetResourceIdsInPragmaWarnings(input):
    """Returns sorted set of resource ids that are inside unknown pragma warnings
       for the given input.
    """
    used_resources = set()
    unknown_pragma_warning_pattern = re.compile(
        'whitelisted_resource_(?P<resource_id>[0-9]+)')
    for ln in input:
      match = unknown_pragma_warning_pattern.search(ln)
      if match:
        resource_id = int(match.group('resource_id'))
        used_resources.add(resource_id)
    return sorted(used_resources)
  
  def Main():
    if len(sys.argv) != 1:
      sys.stderr.write(usage)
      sys.exit(1)
    else:
      used_resources = GetResourceIdsInPragmaWarnings(sys.stdin)
      for resource_id in used_resources:
        sys.stdout.write('%d\n' % resource_id)
  
  if __name__ == '__main__':
    Main()
  
subject: Make find_used_resources.py output resource ids in numerical order.