[fuchsia] Migrate d8 to a component framework v2 Fuchsia component

In the process, switch to using the Fuchsia GN SDK templates for
building the component and package.

Bug: v8:12589
Change-Id: I9b5a82accb0da2067e83bc80d691133550ce82cd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3879501
Auto-Submit: Greg Thompson <grt@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Alexander Schulze <alexschulze@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83084}
This commit is contained in:
Greg Thompson 2022-09-08 16:05:49 +02:00 committed by V8 LUCI CQ
parent 49c5967830
commit 50802793f7
4 changed files with 36 additions and 60 deletions

View File

@ -6385,18 +6385,25 @@ group("v8_archive") {
# TODO(dglazkov): Remove the "!build_with_chromium" condition once this clause
# is removed from Chromium.
if (is_fuchsia && !build_with_chromium) {
import("//build/config/fuchsia/rules.gni")
import("//build/config/fuchsia/generate_runner_scripts.gni")
import("//third_party/fuchsia-sdk/sdk/build/component.gni")
import("//third_party/fuchsia-sdk/sdk/build/package.gni")
cr_fuchsia_package("d8_fuchsia_pkg") {
fuchsia_component("d8_component") {
testonly = true
binary = ":d8"
manifest = "gni/v8.cmx"
package_name_override = "d8"
manifest = "gni/v8.cml"
data_deps = [ ":d8" ]
}
fuchsia_package("d8_pkg") {
testonly = true
package_name = "d8"
deps = [ ":d8_component" ]
}
fuchsia_package_installer("d8_fuchsia") {
testonly = true
package = ":d8_fuchsia_pkg"
package = ":d8_pkg"
package_name = "d8"
}
}

View File

@ -1,5 +1,5 @@
file:../INFRA_OWNERS
per-file v8.cmx=victorgomes@chromium.org
per-file v8.cml=victorgomes@chromium.org
per-file release_branch_toggle.gni=v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com
per-file release_branch_toggle.gni=vahl@chromium.org
per-file release_branch_toggle.gni=vahl@chromium.org

21
gni/v8.cml Normal file
View File

@ -0,0 +1,21 @@
// Copyright 2022 The V8 project authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
{
include: [ "syslog/client.shard.cml" ],
program: {
runner: "elf",
binary: "d8",
},
use: [
{
protocol: [
"fuchsia.kernel.VmexResource",
],
},
{
storage: "tmp",
path: "/tmp",
},
],
}

View File

@ -1,52 +0,0 @@
{
"facets": {
"fuchsia.test": {
"system-services": [
"fuchsia.kernel.VmexResource"
]
}
},
"sandbox": {
"dev": [
"null",
"zero"
],
"features": [
"deprecated-ambient-replace-as-executable",
"isolated-cache-storage",
"isolated-persistent-storage",
"isolated-temp",
"root-ssl-certificates",
"vulkan"
],
"services": [
"fuchsia.accessibility.semantics.SemanticsManager",
"fuchsia.camera3.DeviceWatcher",
"fuchsia.device.NameProvider",
"fuchsia.fonts.Provider",
"fuchsia.intl.PropertyProvider",
"fuchsia.kernel.VmexResource",
"fuchsia.logger.Log",
"fuchsia.logger.LogSink",
"fuchsia.media.Audio",
"fuchsia.media.SessionAudioConsumerFactory",
"fuchsia.media.drm.Widevine",
"fuchsia.mediacodec.CodecFactory",
"fuchsia.memorypressure.Provider",
"fuchsia.net.NameLookup",
"fuchsia.net.interfaces.State",
"fuchsia.posix.socket.Provider",
"fuchsia.process.Launcher",
"fuchsia.sys.Environment",
"fuchsia.sys.Launcher",
"fuchsia.sys.Loader",
"fuchsia.sysmem.Allocator",
"fuchsia.ui.input.ImeService",
"fuchsia.ui.input.ImeVisibilityService",
"fuchsia.ui.scenic.Scenic",
"fuchsia.ui.policy.Presenter",
"fuchsia.vulkan.loader.Loader",
"fuchsia.web.ContextProvider"
]
}
}