new_contents: # 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 sys
  
  import recipe_util  # pylint: disable=F0401
  
  
  # This class doesn't need an __init__ method, so we disable the warning
  # pylint: disable=W0232
  class InfraInternal(recipe_util.Recipe):
    """Basic Recipe class for the whole set of Infrastructure repositories."""
  
    @staticmethod
    def fetch_spec(_props):
      def url(host, repo):
        return 'https://%s.googlesource.com/%s.git' % (host, repo)
  
      spec = {
        'solutions': [
          {
            'name': 'infra_internal',
            'url': url('chrome-internal', 'infra/infra_internal'),
            'deps_file': '.DEPS.git',
            'managed': False
          },
          {
            'name': 'testing/expect_tests',
            'url': url('chromium', 'infra/testing/expect_tests'),
            'deps_file': '.DEPS.git',
            'managed': False
          },
          {
            'name': 'testing/testing_support',
            'url': url('chromium', 'infra/testing/testing_support'),
            'deps_file': '.DEPS.git',
            'managed': False
          },
        ],
      }
      return {
          'type': 'gclient_git',
          'gclient_git_spec': spec,
      }
  
    @staticmethod
    def expected_root(_props):
      return 'infra_internal'
  
  
  def main(argv=None):
    return InfraInternal().handle_args(argv)
  
  
  if __name__ == '__main__':
    sys.exit(main(sys.argv))
  
  
subject: Add a fetch recipe for infra_internal.