diff --git a/engine/src/flutter/sky/packages/updater/BUILD.gn b/engine/src/flutter/sky/packages/updater/BUILD.gn new file mode 100644 index 00000000000..a900d09137a --- /dev/null +++ b/engine/src/flutter/sky/packages/updater/BUILD.gn @@ -0,0 +1,30 @@ +# Copyright 2015 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. + +action("updater") { + snapshot = "$target_gen_dir/updater_snapshot.bin" + main_dart = "lib/main.dart" + + inputs = [ + main_dart, + ] + outputs = [ + snapshot, + ] + + sky_snapshot_dir = + get_label_info("//sky/tools/sky_snapshot($host_toolchain)", "root_out_dir") + script = "//sky/tools/run_sky_snapshot.py" + + args = [ + "--compiler", rebase_path("$sky_snapshot_dir/sky_snapshot", root_build_dir), + "--package-root", rebase_path("packages", root_build_dir), + "--snapshot", rebase_path(snapshot, root_build_dir), + "--main", rebase_path(main_dart, root_build_dir), + ] + + deps = [ + "//sky/tools/sky_snapshot($host_toolchain)", + ] +} diff --git a/engine/src/flutter/sky/packages/updater/lib/main.dart b/engine/src/flutter/sky/packages/updater/lib/main.dart new file mode 100644 index 00000000000..4c71346b862 --- /dev/null +++ b/engine/src/flutter/sky/packages/updater/lib/main.dart @@ -0,0 +1,14 @@ +// Copyright 2015 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. + +class UpdateTask { + UpdateTask() {} + + String toString() => "UpdateTask()"; +} + +void main() { + var x = new UpdateTask(); + print("Success: $x"); +} diff --git a/engine/src/flutter/sky/packages/updater/pubspec.yaml b/engine/src/flutter/sky/packages/updater/pubspec.yaml new file mode 100644 index 00000000000..e76531eaaa7 --- /dev/null +++ b/engine/src/flutter/sky/packages/updater/pubspec.yaml @@ -0,0 +1,9 @@ +name: sky_updater +version: 0.0.1 +author: Chromium Authors +description: The autoupdater for flutter +homepage: http://flutter.io +dependencies: + mojo: ^0.0.21 +environment: + sdk: '>=1.12.0 <2.0.0' diff --git a/engine/src/flutter/sky/tools/run_sky_snapshot.py b/engine/src/flutter/sky/tools/run_sky_snapshot.py new file mode 100755 index 00000000000..15daa9c6f6e --- /dev/null +++ b/engine/src/flutter/sky/tools/run_sky_snapshot.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# Copyright 2015 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 argparse +import os +import subprocess +import sys + +SKY_TOOLS_DIR = os.path.dirname(os.path.abspath(__file__)) +SRC_ROOT = os.path.dirname(os.path.dirname(SKY_TOOLS_DIR)) +WORKBENCH = os.path.join(SRC_ROOT, 'sky', 'packages', 'workbench') + +def main(): + parser = argparse.ArgumentParser(description='Builds a Dart snapshot file') + parser.add_argument('--main', type=str) + parser.add_argument('--compiler', type=str) + parser.add_argument('--package-root', type=str) + parser.add_argument('--snapshot', type=str) + args = parser.parse_args() + + command = [ + os.path.abspath(args.compiler), + '--package-root=%s' % os.path.abspath(args.package_root), + '--snapshot=%s' % os.path.abspath(args.snapshot), + os.path.abspath(args.main), + ] + + subprocess.check_call(command, cwd=WORKBENCH) + +if __name__ == '__main__': + sys.exit(main())