Files
sdk/pkg/observatory/update_sources.py
Ben Konyi d7cef28bee [ Observatory ] Create fork of runtime/observatory at pkg/observatory
This change further prepares for the removal of Observatory from the
shipped Dart SDK by creating a fork to be used by the remaining
Observatory users.

This is basically a straight copy of the contents from
runtime/observatory with the exception of two new scripts:

- `bin/observatory.dart`, a utility to launch Observatory
- `bin/activate.dart`, which globally activates `bin/observatory.dart`
  as `observatory`

This change also updates the presubmits to ensure that
`runtime/observatory` is effectively placed in read-only mode to prevent
any divergences with the fork.

Work towards https://github.com/dart-lang/sdk/issues/50233

Change-Id: Iff3a7512058f36afa2a96d45d94a1dff424401d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/429800
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2025-05-22 07:19:03 -07:00

50 lines
1.4 KiB
Python
Executable File

#!/usr/bin/env python3
#
# Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
# Updates the list of Observatory source files.
import os
import sys
from datetime import date
def getDir(rootdir, target):
sources = []
for root, subdirs, files in os.walk(rootdir):
subdirs.sort()
files.sort()
for f in files:
sources.append(root + '/' + f)
return sources
HEADER = """# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
# DO NOT EDIT. This file is generated by update_sources.py in this directory.
# This file contains all dart, css, and html sources for Observatory.
"""
def main():
with open('observatory_sources.gni', 'w') as target:
target.write(HEADER)
target.write('observatory_sources = [\n')
sources = []
for rootdir in ['lib', 'web']:
sources.extend(getDir(rootdir, target))
sources.sort()
for s in sources:
if (s[-9:] != 'README.md'):
target.write(' "' + s + '",\n')
target.write(']\n')
if __name__ == "__main__":
main()