Browse Source

Add a fetch config for GN.

Bug: None
Tested: `fetch gn`
Change-Id: Icaa673d3932c220da111166af91d3d30b4b721af
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3818401
Reviewed-by: Aravind Vasudevan <aravindvasudev@google.com>
Auto-Submit: Thiago Perrotta <tperrotta@chromium.org>
Commit-Queue: Thiago Perrotta <tperrotta@chromium.org>
Thiago Perrotta 3 years ago
parent
commit
164e33529e
1 changed files with 42 additions and 0 deletions
  1. 42 0
      fetch_configs/gn.py

+ 42 - 0
fetch_configs/gn.py

@@ -0,0 +1,42 @@
+# Copyright 2022 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 config_util  # pylint: disable=import-error
+
+
+# This class doesn't need an __init__ method, so we disable the warning
+# pylint: disable=no-init
+class Gn(config_util.Config):
+  """Basic Config class for Gn."""
+
+  @staticmethod
+  def fetch_spec(props):
+    url = 'https://gn.googlesource.com/gn.git'
+    solution = {
+      'name'   :'gn',
+      'url'    : url,
+      'deps_file': 'DEPS',
+      'managed'   : False,
+    }
+    spec = {
+      'solutions': [solution],
+    }
+    return {
+      'type': 'gclient_git',
+      'gclient_git_spec': spec,
+    }
+
+  @staticmethod
+  def expected_root(_props):
+    return 'gn'
+
+
+def main(argv=None):
+  return Gn().handle_args(argv)
+
+
+if __name__ == '__main__':
+  sys.exit(main(sys.argv))