From 4d7e6b3bfd9e2d4740efbb36362960b48428a185 Mon Sep 17 00:00:00 2001 From: Alexander Biggs Date: Fri, 1 Oct 2021 04:23:35 +0000 Subject: [PATCH 1/5] [fuchsia] CML files for Flutter Runner CF v2. --- .../meta/dart_jit_product_runner.cml | 2 +- .../dart_runner/meta/dart_jit_runner.cml | 2 +- shell/platform/fuchsia/flutter/BUILD.gn | 2 + .../fuchsia/flutter/meta/common.shard.cml | 40 +++++++++++++++++++ .../meta/flutter_aot_product_runner.cml | 24 +++++++++++ .../flutter/meta/flutter_aot_runner.cml | 24 +++++++++++ .../meta/flutter_jit_product_runner.cml | 26 ++++++++++++ .../flutter/meta/flutter_jit_runner.cml | 26 ++++++++++++ .../flutter/meta/flutter_runner_tests.cmx | 2 +- 9 files changed, 145 insertions(+), 3 deletions(-) create mode 100644 shell/platform/fuchsia/flutter/meta/common.shard.cml create mode 100644 shell/platform/fuchsia/flutter/meta/flutter_aot_product_runner.cml create mode 100644 shell/platform/fuchsia/flutter/meta/flutter_aot_runner.cml create mode 100644 shell/platform/fuchsia/flutter/meta/flutter_jit_product_runner.cml create mode 100644 shell/platform/fuchsia/flutter/meta/flutter_jit_runner.cml diff --git a/shell/platform/fuchsia/dart_runner/meta/dart_jit_product_runner.cml b/shell/platform/fuchsia/dart_runner/meta/dart_jit_product_runner.cml index 8dadc78b24f43..3e547bef30457 100644 --- a/shell/platform/fuchsia/dart_runner/meta/dart_jit_product_runner.cml +++ b/shell/platform/fuchsia/dart_runner/meta/dart_jit_product_runner.cml @@ -8,7 +8,7 @@ binary: "bin/app", forward_stdout_to: "log", forward_stderr_to: "log", - // needed for JIT builds + // Needed for JIT builds. job_policy_ambient_mark_vmo_exec: "true", }, capabilities: [ diff --git a/shell/platform/fuchsia/dart_runner/meta/dart_jit_runner.cml b/shell/platform/fuchsia/dart_runner/meta/dart_jit_runner.cml index 6304f182da124..2552f7ea676ac 100644 --- a/shell/platform/fuchsia/dart_runner/meta/dart_jit_runner.cml +++ b/shell/platform/fuchsia/dart_runner/meta/dart_jit_runner.cml @@ -8,7 +8,7 @@ binary: "bin/app", forward_stdout_to: "log", forward_stderr_to: "log", - // needed for JIT builds + // Needed for JIT builds. job_policy_ambient_mark_vmo_exec: "true", }, capabilities: [ diff --git a/shell/platform/fuchsia/flutter/BUILD.gn b/shell/platform/fuchsia/flutter/BUILD.gn index b54a71aaf8c0f..65477cb6144e0 100644 --- a/shell/platform/fuchsia/flutter/BUILD.gn +++ b/shell/platform/fuchsia/flutter/BUILD.gn @@ -315,6 +315,7 @@ template("jit_runner") { binary = "flutter_jit${product_suffix}_runner" cmx_file = rebase_path("meta/flutter_jit${product_suffix}_runner.cmx") + cml_file = rebase_path("meta/flutter_jit${product_suffix}_runner.cml") resources = [ { @@ -394,6 +395,7 @@ template("aot_runner") { } cmx_file = rebase_path("meta/flutter_aot${product_suffix}_runner.cmx") + cml_file = rebase_path("meta/flutter_aot${product_suffix}_runner.cmx") binary = "flutter_aot${product_suffix}_runner" diff --git a/shell/platform/fuchsia/flutter/meta/common.shard.cml b/shell/platform/fuchsia/flutter/meta/common.shard.cml new file mode 100644 index 0000000000000..954c800dabe60 --- /dev/null +++ b/shell/platform/fuchsia/flutter/meta/common.shard.cml @@ -0,0 +1,40 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file +{ + include: [ + // Enable system logging. + "syslog/client.shard.cml", + // Enable inspection. + "inspect/client.shard.cml", + // Enable Vulkan support. + "vulkan/client.shard.cml", + ], + use: [ + { + directory: "config-data", + rights: [ "r*" ], + path: "/config/data", + }, + { + protocol: [ + "fuchsia.accessibility.SettingsManager", + "fuchsia.accessibility.semantics.SemanticsManager", + "fuchsia.deprecatedtimezone.Timezone", + "fuchsia.device.NameProvider", + "fuchsia.feedback.CrashReporter", + "fuchsia.fonts.Provider", + "fuchsia.intl.PropertyProvider", + "fuchsia.logger.LogSink", + "fuchsia.net.name.Lookup", + "fuchsia.posix.socket.Provider", + "fuchsia.sysmem.Allocator", + "fuchsia.timezone.Timezone", + "fuchsia.tracing.provider.Registry", + "fuchsia.ui.composition.Allocator", + "fuchsia.ui.composition.Flatland", + "fuchsia.vulkan.loader.Loader" + ] + } + ] +} diff --git a/shell/platform/fuchsia/flutter/meta/flutter_aot_product_runner.cml b/shell/platform/fuchsia/flutter/meta/flutter_aot_product_runner.cml new file mode 100644 index 0000000000000..8a9fbe487f51e --- /dev/null +++ b/shell/platform/fuchsia/flutter/meta/flutter_aot_product_runner.cml @@ -0,0 +1,24 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file +{ + include: ["common.shard.cml"], + program: { + runner: "elf", + binary: "bin/app", + forward_stdout_to: "log", + forward_stderr_to: "log", + }, + capabilities: [ + { + runner: "flutter_aot_product_runner", + path: "/svc/fuchsia.component.runner.ComponentRunner", + }, + ], + expose: [ + { + runner: "flutter_aot_product_runner", + from: "self", + }, + ], +} diff --git a/shell/platform/fuchsia/flutter/meta/flutter_aot_runner.cml b/shell/platform/fuchsia/flutter/meta/flutter_aot_runner.cml new file mode 100644 index 0000000000000..6bcb431ba02b4 --- /dev/null +++ b/shell/platform/fuchsia/flutter/meta/flutter_aot_runner.cml @@ -0,0 +1,24 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file +{ + include: ["common.shard.cml"], + program: { + runner: "elf", + binary: "bin/app", + forward_stdout_to: "log", + forward_stderr_to: "log", + }, + capabilities: [ + { + runner: "flutter_aot_runner", + path: "/svc/fuchsia.component.runner.ComponentRunner", + }, + ], + expose: [ + { + runner: "flutter_aot_runner", + from: "self", + }, + ], +} diff --git a/shell/platform/fuchsia/flutter/meta/flutter_jit_product_runner.cml b/shell/platform/fuchsia/flutter/meta/flutter_jit_product_runner.cml new file mode 100644 index 0000000000000..245bb832695c6 --- /dev/null +++ b/shell/platform/fuchsia/flutter/meta/flutter_jit_product_runner.cml @@ -0,0 +1,26 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file +{ + include: ["common.shard.cml"], + program: { + runner: "elf", + binary: "bin/app", + forward_stdout_to: "log", + forward_stderr_to: "log", + // Needed for JIT builds. + job_policy_ambient_mark_vmo_exec: "true" + }, + capabilities: [ + { + runner: "flutter_jit_product_runner", + path: "/svc/fuchsia.component.runner.ComponentRunner", + }, + ], + expose: [ + { + runner: "flutter_jit_product_runner", + from: "self", + }, + ], +} diff --git a/shell/platform/fuchsia/flutter/meta/flutter_jit_runner.cml b/shell/platform/fuchsia/flutter/meta/flutter_jit_runner.cml new file mode 100644 index 0000000000000..04e52cc58404b --- /dev/null +++ b/shell/platform/fuchsia/flutter/meta/flutter_jit_runner.cml @@ -0,0 +1,26 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file +{ + include: ["common.shard.cml"], + program: { + runner: "elf", + binary: "bin/app", + forward_stdout_to: "log", + forward_stderr_to: "log", + // Needed for JIT builds. + job_policy_ambient_mark_vmo_exec: "true" + }, + capabilities: [ + { + runner: "flutter_jit_runner", + path: "/svc/fuchsia.component.runner.ComponentRunner", + }, + ], + expose: [ + { + runner: "flutter_jit_runner", + from: "self", + }, + ], +} diff --git a/shell/platform/fuchsia/flutter/meta/flutter_runner_tests.cmx b/shell/platform/fuchsia/flutter/meta/flutter_runner_tests.cmx index 155be56e9bf21..35b1e7e996912 100644 --- a/shell/platform/fuchsia/flutter/meta/flutter_runner_tests.cmx +++ b/shell/platform/fuchsia/flutter/meta/flutter_runner_tests.cmx @@ -2,7 +2,7 @@ "program": { "binary": "bin/app", "env_vars": [ - "ICU_TIMEZONE_FILES_DIR=/pkg/data/tzdata" + "ICU_TIMEZONE_FILES_DIR=/pkg/data/tzdata" ] }, "facets": { From 5cec06e395f4842f12bd742301492f666bc8773c Mon Sep 17 00:00:00 2001 From: Alexander Biggs Date: Fri, 1 Oct 2021 04:26:51 +0000 Subject: [PATCH 2/5] [fuchsia] Fix typo. --- shell/platform/fuchsia/flutter/BUILD.gn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shell/platform/fuchsia/flutter/BUILD.gn b/shell/platform/fuchsia/flutter/BUILD.gn index 65477cb6144e0..349e2fe623d9b 100644 --- a/shell/platform/fuchsia/flutter/BUILD.gn +++ b/shell/platform/fuchsia/flutter/BUILD.gn @@ -395,7 +395,7 @@ template("aot_runner") { } cmx_file = rebase_path("meta/flutter_aot${product_suffix}_runner.cmx") - cml_file = rebase_path("meta/flutter_aot${product_suffix}_runner.cmx") + cml_file = rebase_path("meta/flutter_aot${product_suffix}_runner.cml") binary = "flutter_aot${product_suffix}_runner" From 2b884b6cc407b18dc0abc732713cddcafe71a194 Mon Sep 17 00:00:00 2001 From: Alexander Biggs Date: Fri, 1 Oct 2021 05:02:26 +0000 Subject: [PATCH 3/5] [fuchsia] Fix includes not working. --- .../fuchsia/dart_runner/meta/common.shard.cml | 6 ++++ .../fuchsia/flutter/meta/common.shard.cml | 35 +++++++++++++------ 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/shell/platform/fuchsia/dart_runner/meta/common.shard.cml b/shell/platform/fuchsia/dart_runner/meta/common.shard.cml index 6c484449b0d08..fcb0f3ab04556 100644 --- a/shell/platform/fuchsia/dart_runner/meta/common.shard.cml +++ b/shell/platform/fuchsia/dart_runner/meta/common.shard.cml @@ -3,6 +3,9 @@ // found in the LICENSE file. { capabilities: [ + // Required for inspect. + // Copied from inspect/client.shard.cml because we don't have support + // for SDK includes out-of-tree. { directory: "diagnostics", rights: [ "connect" ], @@ -30,6 +33,9 @@ }, ], expose: [ + // Required for inspect. + // Copied from inspect/client.shard.cml because we don't have support + // for SDK includes out-of-tree. { directory: "diagnostics", from: "self", diff --git a/shell/platform/fuchsia/flutter/meta/common.shard.cml b/shell/platform/fuchsia/flutter/meta/common.shard.cml index 954c800dabe60..dc240f45e82a3 100644 --- a/shell/platform/fuchsia/flutter/meta/common.shard.cml +++ b/shell/platform/fuchsia/flutter/meta/common.shard.cml @@ -2,13 +2,26 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file { - include: [ - // Enable system logging. - "syslog/client.shard.cml", - // Enable inspection. - "inspect/client.shard.cml", - // Enable Vulkan support. - "vulkan/client.shard.cml", + capabilities: [ + // Required for inspect. + // Copied from inspect/client.shard.cml because out-of-tree doesn't + // have support for CML includes from the SDK. + { + + directory: "diagnostics", + rights: [ "connect" ], + path: "/diagnostics", + }, + ], + expose: [ + // Required for inspect. + // Copied from inspect/client.shard.cml because out-of-tree doesn't + // have support for CML includes from the SDK. + { + directory: "diagnostics", + from: "self", + to: "framework", + }, ], use: [ { @@ -25,15 +38,15 @@ "fuchsia.feedback.CrashReporter", "fuchsia.fonts.Provider", "fuchsia.intl.PropertyProvider", - "fuchsia.logger.LogSink", + "fuchsia.logger.LogSink", // Copied from syslog/client.shard.cml. "fuchsia.net.name.Lookup", "fuchsia.posix.socket.Provider", "fuchsia.sysmem.Allocator", - "fuchsia.timezone.Timezone", - "fuchsia.tracing.provider.Registry", + "fuchsia.timezone.Timezone", // Copied from vulkan/client.shard.cml. + "fuchsia.tracing.provider.Registry", // Copied from vulkan/client.shard.cml. "fuchsia.ui.composition.Allocator", "fuchsia.ui.composition.Flatland", - "fuchsia.vulkan.loader.Loader" + "fuchsia.vulkan.loader.Loader" // Copied from vulkan/client.shard.cml. ] } ] From c4a9f7b22f8cb5920fdf9d9dfc202621213a153e Mon Sep 17 00:00:00 2001 From: Alexander Biggs Date: Fri, 1 Oct 2021 05:10:22 +0000 Subject: [PATCH 4/5] [fuchsia] Fix docs. --- shell/platform/fuchsia/dart_runner/meta/common.shard.cml | 8 ++++---- .../fuchsia/flutter/meta/flutter_aot_product_runner.cml | 2 +- .../platform/fuchsia/flutter/meta/flutter_aot_runner.cml | 2 +- .../fuchsia/flutter/meta/flutter_jit_product_runner.cml | 2 +- .../platform/fuchsia/flutter/meta/flutter_jit_runner.cml | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/shell/platform/fuchsia/dart_runner/meta/common.shard.cml b/shell/platform/fuchsia/dart_runner/meta/common.shard.cml index fcb0f3ab04556..49cdbad276754 100644 --- a/shell/platform/fuchsia/dart_runner/meta/common.shard.cml +++ b/shell/platform/fuchsia/dart_runner/meta/common.shard.cml @@ -4,8 +4,8 @@ { capabilities: [ // Required for inspect. - // Copied from inspect/client.shard.cml because we don't have support - // for SDK includes out-of-tree. + // Copied from inspect/client.shard.cml because out-of-tree doesn't + // have support for CML includes from the SDK. { directory: "diagnostics", rights: [ "connect" ], @@ -34,8 +34,8 @@ ], expose: [ // Required for inspect. - // Copied from inspect/client.shard.cml because we don't have support - // for SDK includes out-of-tree. + // Copied from inspect/client.shard.cml because out-of-tree doesn't + // have support for CML includes from the SDK. { directory: "diagnostics", from: "self", diff --git a/shell/platform/fuchsia/flutter/meta/flutter_aot_product_runner.cml b/shell/platform/fuchsia/flutter/meta/flutter_aot_product_runner.cml index 8a9fbe487f51e..988c31747271c 100644 --- a/shell/platform/fuchsia/flutter/meta/flutter_aot_product_runner.cml +++ b/shell/platform/fuchsia/flutter/meta/flutter_aot_product_runner.cml @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file { - include: ["common.shard.cml"], + include: [ "common.shard.cml" ], program: { runner: "elf", binary: "bin/app", diff --git a/shell/platform/fuchsia/flutter/meta/flutter_aot_runner.cml b/shell/platform/fuchsia/flutter/meta/flutter_aot_runner.cml index 6bcb431ba02b4..4ae391f3ac5aa 100644 --- a/shell/platform/fuchsia/flutter/meta/flutter_aot_runner.cml +++ b/shell/platform/fuchsia/flutter/meta/flutter_aot_runner.cml @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file { - include: ["common.shard.cml"], + include: [ "common.shard.cml" ], program: { runner: "elf", binary: "bin/app", diff --git a/shell/platform/fuchsia/flutter/meta/flutter_jit_product_runner.cml b/shell/platform/fuchsia/flutter/meta/flutter_jit_product_runner.cml index 245bb832695c6..11d6634ee5fe8 100644 --- a/shell/platform/fuchsia/flutter/meta/flutter_jit_product_runner.cml +++ b/shell/platform/fuchsia/flutter/meta/flutter_jit_product_runner.cml @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file { - include: ["common.shard.cml"], + include: [ "common.shard.cml" ], program: { runner: "elf", binary: "bin/app", diff --git a/shell/platform/fuchsia/flutter/meta/flutter_jit_runner.cml b/shell/platform/fuchsia/flutter/meta/flutter_jit_runner.cml index 04e52cc58404b..4f206231601ab 100644 --- a/shell/platform/fuchsia/flutter/meta/flutter_jit_runner.cml +++ b/shell/platform/fuchsia/flutter/meta/flutter_jit_runner.cml @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file { - include: ["common.shard.cml"], + include: [ "common.shard.cml" ], program: { runner: "elf", binary: "bin/app", From b28468b37b1aecfaef74a1c8a46714b368032afd Mon Sep 17 00:00:00 2001 From: Alexander Biggs Date: Fri, 1 Oct 2021 18:14:21 +0000 Subject: [PATCH 5/5] [fuchsia] Update licenses. --- ci/licenses_golden/licenses_flutter | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ci/licenses_golden/licenses_flutter b/ci/licenses_golden/licenses_flutter index 82c44d27d9486..e2172994fc6de 100755 --- a/ci/licenses_golden/licenses_flutter +++ b/ci/licenses_golden/licenses_flutter @@ -1462,9 +1462,14 @@ FILE: ../../../flutter/shell/platform/fuchsia/flutter/logging.h FILE: ../../../flutter/shell/platform/fuchsia/flutter/main.cc FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/aot_product_runtime FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/aot_runtime +FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/common.shard.cml +FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_aot_product_runner.cml FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_aot_product_runner.cmx +FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_aot_runner.cml FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_aot_runner.cmx +FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_jit_product_runner.cml FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_jit_product_runner.cmx +FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_jit_runner.cml FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_jit_runner.cmx FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_runner_tests.cmx FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/jit_product_runtime