1*c8dee2aaSAndroid Build Coastguard Worker// Copyright 2022 Google LLC 2*c8dee2aaSAndroid Build Coastguard Worker// 3*c8dee2aaSAndroid Build Coastguard Worker// Use of this source code is governed by a BSD-style license that can be 4*c8dee2aaSAndroid Build Coastguard Worker// found in the LICENSE file. 5*c8dee2aaSAndroid Build Coastguard Worker 6*c8dee2aaSAndroid Build Coastguard Workerpackage main 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Workerimport ( 9*c8dee2aaSAndroid Build Coastguard Worker "flag" 10*c8dee2aaSAndroid Build Coastguard Worker "fmt" 11*c8dee2aaSAndroid Build Coastguard Worker "os" 12*c8dee2aaSAndroid Build Coastguard Worker "runtime/pprof" 13*c8dee2aaSAndroid Build Coastguard Worker 14*c8dee2aaSAndroid Build Coastguard Worker "go.skia.org/infra/go/common" 15*c8dee2aaSAndroid Build Coastguard Worker "go.skia.org/infra/go/skerr" 16*c8dee2aaSAndroid Build Coastguard Worker "go.skia.org/skia/bazel/exporter" 17*c8dee2aaSAndroid Build Coastguard Worker "go.skia.org/skia/bazel/exporter/interfaces" 18*c8dee2aaSAndroid Build Coastguard Worker) 19*c8dee2aaSAndroid Build Coastguard Worker 20*c8dee2aaSAndroid Build Coastguard Workervar gniExportDescs = []exporter.GNIExportDesc{ 21*c8dee2aaSAndroid Build Coastguard Worker {GNI: "gn/codec.gni", Vars: []exporter.GNIFileListExportDesc{ 22*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_codec_public", 23*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 24*c8dee2aaSAndroid Build Coastguard Worker "//include/codec:any_codec_hdrs", 25*c8dee2aaSAndroid Build Coastguard Worker "//include/codec:core_hdrs", 26*c8dee2aaSAndroid Build Coastguard Worker }, 27*c8dee2aaSAndroid Build Coastguard Worker }, 28*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_codec_shared", 29*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 30*c8dee2aaSAndroid Build Coastguard Worker "//src/codec:any_decoder", 31*c8dee2aaSAndroid Build Coastguard Worker "//include/codec:any_codec_hdrs", 32*c8dee2aaSAndroid Build Coastguard Worker }, 33*c8dee2aaSAndroid Build Coastguard Worker }, 34*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_codec_decode_bmp", 35*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 36*c8dee2aaSAndroid Build Coastguard Worker "//src/codec:bmp_decode", 37*c8dee2aaSAndroid Build Coastguard Worker "//src/codec:wbmp_decode", 38*c8dee2aaSAndroid Build Coastguard Worker }, 39*c8dee2aaSAndroid Build Coastguard Worker }, 40*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_codec_xmp", 41*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 42*c8dee2aaSAndroid Build Coastguard Worker "//src/codec:xmp_srcs", 43*c8dee2aaSAndroid Build Coastguard Worker }, 44*c8dee2aaSAndroid Build Coastguard Worker }, 45*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_codec_jpeg_xmp", 46*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 47*c8dee2aaSAndroid Build Coastguard Worker "//src/codec:jpeg_xmp_hdrs", 48*c8dee2aaSAndroid Build Coastguard Worker "//src/codec:jpeg_xmp_srcs", 49*c8dee2aaSAndroid Build Coastguard Worker }, 50*c8dee2aaSAndroid Build Coastguard Worker }, 51*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_codec_png_base", 52*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 53*c8dee2aaSAndroid Build Coastguard Worker "//src/codec:png_codec_base_hdrs", 54*c8dee2aaSAndroid Build Coastguard Worker "//src/codec:png_codec_base_srcs", 55*c8dee2aaSAndroid Build Coastguard Worker }, 56*c8dee2aaSAndroid Build Coastguard Worker }, 57*c8dee2aaSAndroid Build Coastguard Worker // TODO(https://crbug.com/381900683): Replace this with more granular lists. 58*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_codec_png", 59*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 60*c8dee2aaSAndroid Build Coastguard Worker "//src/codec:buffet_png_srcs", 61*c8dee2aaSAndroid Build Coastguard Worker "//src/codec:common_png_srcs", 62*c8dee2aaSAndroid Build Coastguard Worker "//src/codec:png_codec_base_hdrs", 63*c8dee2aaSAndroid Build Coastguard Worker "//src/codec:png_codec_base_srcs", 64*c8dee2aaSAndroid Build Coastguard Worker }, 65*c8dee2aaSAndroid Build Coastguard Worker }, 66*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_codec_rust_png_public", 67*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 68*c8dee2aaSAndroid Build Coastguard Worker "//experimental/rust_png/decoder:hdrs", 69*c8dee2aaSAndroid Build Coastguard Worker }, 70*c8dee2aaSAndroid Build Coastguard Worker }, 71*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_codec_rust_png", 72*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 73*c8dee2aaSAndroid Build Coastguard Worker "//experimental/rust_png/decoder:srcs", 74*c8dee2aaSAndroid Build Coastguard Worker "//experimental/rust_png/ffi:utils", 75*c8dee2aaSAndroid Build Coastguard Worker }, 76*c8dee2aaSAndroid Build Coastguard Worker }, 77*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_codec_rust_png_ffi_rs_srcs", 78*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 79*c8dee2aaSAndroid Build Coastguard Worker "//experimental/rust_png/ffi:rs_srcs", 80*c8dee2aaSAndroid Build Coastguard Worker }, 81*c8dee2aaSAndroid Build Coastguard Worker }, 82*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_codec_rust_png_ffi_cxx_bridge_srcs", 83*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 84*c8dee2aaSAndroid Build Coastguard Worker "//experimental/rust_png/ffi:cxx_bridge_srcs", 85*c8dee2aaSAndroid Build Coastguard Worker }, 86*c8dee2aaSAndroid Build Coastguard Worker }, 87*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_codec_rust_png_ffi_cpp_hdrs", 88*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 89*c8dee2aaSAndroid Build Coastguard Worker "//experimental/rust_png/ffi:ffi_cpp", 90*c8dee2aaSAndroid Build Coastguard Worker }, 91*c8dee2aaSAndroid Build Coastguard Worker }, 92*c8dee2aaSAndroid Build Coastguard Worker }}, 93*c8dee2aaSAndroid Build Coastguard Worker {GNI: "gn/core.gni", Vars: []exporter.GNIFileListExportDesc{ 94*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_core_public", 95*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 96*c8dee2aaSAndroid Build Coastguard Worker "//include/core:core_hdrs", 97*c8dee2aaSAndroid Build Coastguard Worker }}, 98*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_core_sources", 99*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 100*c8dee2aaSAndroid Build Coastguard Worker "//include/private:core_priv_hdrs", 101*c8dee2aaSAndroid Build Coastguard Worker "//include/private/base:private_hdrs", 102*c8dee2aaSAndroid Build Coastguard Worker "//include/private/base:shared_gpu_private_hdrs", 103*c8dee2aaSAndroid Build Coastguard Worker "//include/private/chromium:core_hdrs", 104*c8dee2aaSAndroid Build Coastguard Worker "//include/private/chromium:shared_private_hdrs", 105*c8dee2aaSAndroid Build Coastguard Worker "//src/base:private_hdrs", 106*c8dee2aaSAndroid Build Coastguard Worker "//src/base:skslc_srcs", 107*c8dee2aaSAndroid Build Coastguard Worker "//src/base:srcs", 108*c8dee2aaSAndroid Build Coastguard Worker "//src/core:core_priv_hdrs", 109*c8dee2aaSAndroid Build Coastguard Worker "//src/core:core_priv_srcs", 110*c8dee2aaSAndroid Build Coastguard Worker "//src/core:core_srcs", 111*c8dee2aaSAndroid Build Coastguard Worker "//src/core:textual_hdrs", 112*c8dee2aaSAndroid Build Coastguard Worker "//src/image:image_hdrs", 113*c8dee2aaSAndroid Build Coastguard Worker "//src/image:image_srcs", 114*c8dee2aaSAndroid Build Coastguard Worker "//src/lazy:lazy_hdrs", 115*c8dee2aaSAndroid Build Coastguard Worker "//src/lazy:lazy_srcs", 116*c8dee2aaSAndroid Build Coastguard Worker "//src/opts:textual_hdrs", 117*c8dee2aaSAndroid Build Coastguard Worker "//src/shaders:shader_hdrs", 118*c8dee2aaSAndroid Build Coastguard Worker "//src/shaders:shader_srcs", 119*c8dee2aaSAndroid Build Coastguard Worker "//src/text:text_hdrs", 120*c8dee2aaSAndroid Build Coastguard Worker "//src/text:text_srcs", 121*c8dee2aaSAndroid Build Coastguard Worker }}, 122*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_pathops_public", 123*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//include/pathops:public_hdrs"}}, 124*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_pathops_sources", 125*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 126*c8dee2aaSAndroid Build Coastguard Worker "//src/pathops:_pathops_hdrs", 127*c8dee2aaSAndroid Build Coastguard Worker "//src/pathops:_pathops_srcs", 128*c8dee2aaSAndroid Build Coastguard Worker }}, 129*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_encode_public", 130*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//include/encode:encode_hdrs"}}, 131*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_encode_srcs", 132*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 133*c8dee2aaSAndroid Build Coastguard Worker "//src/encode:encoder_common", 134*c8dee2aaSAndroid Build Coastguard Worker "//src/encode:icc_support", 135*c8dee2aaSAndroid Build Coastguard Worker }}, 136*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_encode_jpeg_public", 137*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//include/encode:jpeg_hdrs"}}, 138*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_encode_jpeg_srcs", 139*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//src/encode:jpeg_encode_srcs", 140*c8dee2aaSAndroid Build Coastguard Worker "//src/encode:jpeg_encode_hdrs"}}, 141*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_encode_rust_png_public", 142*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//experimental/rust_png/encoder:hdrs"}}, 143*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_encode_rust_png_srcs", 144*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 145*c8dee2aaSAndroid Build Coastguard Worker "//experimental/rust_png/encoder:srcs", 146*c8dee2aaSAndroid Build Coastguard Worker "//experimental/rust_png/ffi:utils", 147*c8dee2aaSAndroid Build Coastguard Worker }}, 148*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_encode_png_base", 149*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 150*c8dee2aaSAndroid Build Coastguard Worker "//src/encode:png_encode_base_srcs", 151*c8dee2aaSAndroid Build Coastguard Worker "//src/encode:png_encode_base_hdrs", 152*c8dee2aaSAndroid Build Coastguard Worker }}, 153*c8dee2aaSAndroid Build Coastguard Worker // TODO(https://crbug.com/381900683): Rename this list. 154*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_encode_png_public", 155*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//include/encode:png_hdrs"}}, 156*c8dee2aaSAndroid Build Coastguard Worker // TODO(https://crbug.com/381900683): Replace this with more granular lists. 157*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_encode_png_srcs", 158*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 159*c8dee2aaSAndroid Build Coastguard Worker "//src/encode:png_encode_base_srcs", 160*c8dee2aaSAndroid Build Coastguard Worker "//src/encode:png_encode_base_hdrs", 161*c8dee2aaSAndroid Build Coastguard Worker "//src/encode:png_encode_srcs", 162*c8dee2aaSAndroid Build Coastguard Worker "//src/encode:png_encode_hdrs", 163*c8dee2aaSAndroid Build Coastguard Worker }}, 164*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_encode_webp_public", 165*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//include/encode:webp_hdrs"}}, 166*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_encode_webp_srcs", 167*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//src/encode:webp_encode_srcs"}}, 168*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_no_encode_jpeg_srcs", 169*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//src/encode:no_jpeg_encode_srcs"}}, 170*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_no_encode_png_srcs", 171*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//src/encode:no_png_encode_srcs"}}, 172*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_no_encode_webp_srcs", 173*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//src/encode:no_webp_encode_srcs"}}, 174*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_discardable_memory_chromium", 175*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//include/private/chromium:discardable_memory_hdrs"}}, 176*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_no_slug_srcs", 177*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{}}, 178*c8dee2aaSAndroid Build Coastguard Worker }, 179*c8dee2aaSAndroid Build Coastguard Worker }, 180*c8dee2aaSAndroid Build Coastguard Worker {GNI: "gn/effects.gni", Vars: []exporter.GNIFileListExportDesc{ 181*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_effects_public", 182*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 183*c8dee2aaSAndroid Build Coastguard Worker "//include/effects:core_hdrs", 184*c8dee2aaSAndroid Build Coastguard Worker }}, 185*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_effects_sources", 186*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 187*c8dee2aaSAndroid Build Coastguard Worker "//src/effects:effects_hdrs", 188*c8dee2aaSAndroid Build Coastguard Worker "//src/effects:effects_srcs", 189*c8dee2aaSAndroid Build Coastguard Worker "//src/shaders/gradients:gradient_hdrs", 190*c8dee2aaSAndroid Build Coastguard Worker "//src/shaders/gradients:gradient_srcs", 191*c8dee2aaSAndroid Build Coastguard Worker }}, 192*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_colorfilters_sources", 193*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 194*c8dee2aaSAndroid Build Coastguard Worker "//src/effects/colorfilters:colorfilter_srcs", 195*c8dee2aaSAndroid Build Coastguard Worker "//src/effects/colorfilters:colorfilter_hdrs", 196*c8dee2aaSAndroid Build Coastguard Worker }}, 197*c8dee2aaSAndroid Build Coastguard Worker }}, 198*c8dee2aaSAndroid Build Coastguard Worker {GNI: "gn/effects_imagefilters.gni", Vars: []exporter.GNIFileListExportDesc{ 199*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_effects_imagefilter_public", 200*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 201*c8dee2aaSAndroid Build Coastguard Worker "//include/effects:public_imagefilters_hdrs", 202*c8dee2aaSAndroid Build Coastguard Worker }}, 203*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_effects_imagefilter_sources", 204*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 205*c8dee2aaSAndroid Build Coastguard Worker "//src/effects/imagefilters:srcs", 206*c8dee2aaSAndroid Build Coastguard Worker }}}, 207*c8dee2aaSAndroid Build Coastguard Worker }, 208*c8dee2aaSAndroid Build Coastguard Worker {GNI: "gn/ports.gni", Vars: []exporter.GNIFileListExportDesc{ 209*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_sources", 210*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 211*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:global_init", 212*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:osfile", 213*c8dee2aaSAndroid Build Coastguard Worker }}, 214*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_freetype_sources", 215*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 216*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:freetype_support", 217*c8dee2aaSAndroid Build Coastguard Worker }}, 218*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_android_public", 219*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 220*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:android_fontmgr_hdrs", 221*c8dee2aaSAndroid Build Coastguard Worker }}, 222*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_android_sources", 223*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 224*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:fontmgr_android_freetype", 225*c8dee2aaSAndroid Build Coastguard Worker }}, 226*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_android_ndk_public", 227*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 228*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:android_ndk_fontmgr_hdrs", 229*c8dee2aaSAndroid Build Coastguard Worker }}, 230*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_android_ndk_sources", 231*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 232*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:fontmgr_android_ndk_freetype", 233*c8dee2aaSAndroid Build Coastguard Worker }}, 234*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_custom_sources", 235*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 236*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:fontmgr_custom", 237*c8dee2aaSAndroid Build Coastguard Worker }}, 238*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_coretext_public", 239*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 240*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:mac_typeface", 241*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:coretext_fontmgr_hdrs", 242*c8dee2aaSAndroid Build Coastguard Worker }}, 243*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_coretext_sources", 244*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 245*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:fontmgr_coretext", 246*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:typeface_mac_srcs", 247*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:typeface_mac_hdrs", 248*c8dee2aaSAndroid Build Coastguard Worker }}, 249*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_directory_public", 250*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 251*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:directory_fontmgr_hdrs", 252*c8dee2aaSAndroid Build Coastguard Worker }}, 253*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_directory_sources", 254*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 255*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:fontmgr_directory_freetype", 256*c8dee2aaSAndroid Build Coastguard Worker }}, 257*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_embedded_public", 258*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 259*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:data_fontmgr_hdrs", 260*c8dee2aaSAndroid Build Coastguard Worker }}, 261*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_embedded_sources", 262*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 263*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:fontmgr_data_freetype", 264*c8dee2aaSAndroid Build Coastguard Worker }}, 265*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_empty_public", 266*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 267*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:empty_fontmgr_hdrs", 268*c8dee2aaSAndroid Build Coastguard Worker }}, 269*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_empty_sources", 270*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 271*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:fontmgr_empty_freetype", 272*c8dee2aaSAndroid Build Coastguard Worker }}, 273*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_fontconfig_public", 274*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 275*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:fontconfig_fontmgr_hdrs", 276*c8dee2aaSAndroid Build Coastguard Worker }}, 277*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_fontconfig_sources", 278*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 279*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:fontmgr_fontconfig_freetype", 280*c8dee2aaSAndroid Build Coastguard Worker }}, 281*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_fontations_public", 282*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 283*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:fontmgr_fontations_hdrs", 284*c8dee2aaSAndroid Build Coastguard Worker }}, 285*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_fontations_sources", 286*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 287*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:fontmgr_fontations_empty_srcs", 288*c8dee2aaSAndroid Build Coastguard Worker }}, 289*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_fuchsia_public", 290*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 291*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:fuchsia_fontmgr_hdrs", 292*c8dee2aaSAndroid Build Coastguard Worker }}, 293*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fontmgr_fuchsia_sources", 294*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 295*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:fontmgr_fuchsia_srcs", 296*c8dee2aaSAndroid Build Coastguard Worker }}, 297*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_typeface_fontations_sources", 298*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 299*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:typeface_fontations_hdrs", 300*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:typeface_fontations_srcs", 301*c8dee2aaSAndroid Build Coastguard Worker }}, 302*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_typeface_proxy_sources", 303*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 304*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:typeface_proxy_hdrs", 305*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:typeface_proxy_srcs", 306*c8dee2aaSAndroid Build Coastguard Worker }}, 307*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_windows_sources", 308*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 309*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:osfile_win", 310*c8dee2aaSAndroid Build Coastguard Worker }}, 311*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_windows_fonts_public", 312*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 313*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:typeface_windows_hdrs", 314*c8dee2aaSAndroid Build Coastguard Worker }}, 315*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_windows_fonts_sources", 316*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 317*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:windows_fonts_srcs", 318*c8dee2aaSAndroid Build Coastguard Worker }}, 319*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fci_public", 320*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 321*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:fci_fontmgr_hdrs", 322*c8dee2aaSAndroid Build Coastguard Worker }}, 323*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fci_sources", 324*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 325*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:fontconfig_interface_srcs", 326*c8dee2aaSAndroid Build Coastguard Worker }}, 327*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ports_fonthost_win_sources", 328*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 329*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:fonthost_win_srcs", 330*c8dee2aaSAndroid Build Coastguard Worker }}, 331*c8dee2aaSAndroid Build Coastguard Worker }}, 332*c8dee2aaSAndroid Build Coastguard Worker {GNI: "gn/pdf.gni", Vars: []exporter.GNIFileListExportDesc{ 333*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_pdf_public", 334*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//include/docs:pdf_hdrs"}}, 335*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_pdf_sources", 336*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 337*c8dee2aaSAndroid Build Coastguard Worker "//src/pdf:_pdf_hdrs", 338*c8dee2aaSAndroid Build Coastguard Worker "//src/pdf:_pdf_srcs", 339*c8dee2aaSAndroid Build Coastguard Worker }}, 340*c8dee2aaSAndroid Build Coastguard Worker }}, 341*c8dee2aaSAndroid Build Coastguard Worker {GNI: "gn/sksl.gni", Vars: []exporter.GNIFileListExportDesc{ 342*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_sksl_core_sources", 343*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 344*c8dee2aaSAndroid Build Coastguard Worker "//include/sksl:core_hdrs", 345*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/analysis:analysis_hdrs", 346*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/analysis:analysis_srcs", 347*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:rasterpipeline_hdrs", 348*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:rasterpipeline_srcs", 349*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/ir:ir_hdrs", 350*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/ir:ir_srcs", 351*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/tracing:private_hdrs", 352*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/tracing:skopts_hdrs", 353*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/tracing:srcs", 354*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/transform:transform_hdrs", 355*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/transform:transform_srcs", 356*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl:sksl_hdrs", 357*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl:sksl_srcs", 358*c8dee2aaSAndroid Build Coastguard Worker }}, 359*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_sksl_core_module_sources", 360*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 361*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl:sksl_default_module_srcs", 362*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl:sksl_graphite_modules_hdrs", 363*c8dee2aaSAndroid Build Coastguard Worker }}, 364*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_sksl_graphite_modules_sources", 365*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 366*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl:sksl_graphite_modules_srcs", 367*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl:sksl_graphite_modules_hdrs", 368*c8dee2aaSAndroid Build Coastguard Worker }}, 369*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_sksl_tracing_sources", 370*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 371*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/tracing:enabled_hdrs", 372*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/tracing:enabled_srcs", 373*c8dee2aaSAndroid Build Coastguard Worker }}, 374*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_sksl_pipeline_sources", 375*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 376*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:gpu", 377*c8dee2aaSAndroid Build Coastguard Worker }}, 378*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_sksl_codegen_sources", 379*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 380*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:codegen_shared_exported", 381*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:codegen_shared_priv", 382*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:glsl", 383*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:metal", 384*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:spirv", 385*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:wgsl", 386*c8dee2aaSAndroid Build Coastguard Worker }}, 387*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_sksl_hlsl_sources", 388*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 389*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:hlsl", 390*c8dee2aaSAndroid Build Coastguard Worker }}, 391*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_sksl_validate_spirv_sources", 392*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 393*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:spirv_validator", 394*c8dee2aaSAndroid Build Coastguard Worker }}, 395*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_sksl_validate_wgsl_sources", 396*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 397*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:wgsl_validator", 398*c8dee2aaSAndroid Build Coastguard Worker }}, 399*c8dee2aaSAndroid Build Coastguard Worker {Var: "skslc_deps", 400*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 401*c8dee2aaSAndroid Build Coastguard Worker "//src/base:skslc_srcs", 402*c8dee2aaSAndroid Build Coastguard Worker "//src/core:core_skslc_hdrs", 403*c8dee2aaSAndroid Build Coastguard Worker "//src/core:core_skslc_srcs", 404*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh:core_skslc_hdrs", 405*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh:core_skslc_srcs", 406*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:malloc", 407*c8dee2aaSAndroid Build Coastguard Worker "//src/ports:osfile", 408*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl:sksl_skslc_module_srcs", 409*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:utils_skslc_hdrs", 410*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:utils_skslc_srcs", 411*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:json_srcs", 412*c8dee2aaSAndroid Build Coastguard Worker }}}, 413*c8dee2aaSAndroid Build Coastguard Worker }, 414*c8dee2aaSAndroid Build Coastguard Worker {GNI: "gn/sksl_tests.gni", Vars: []exporter.GNIFileListExportDesc{ 415*c8dee2aaSAndroid Build Coastguard Worker // This order was the order the original file was in. It could be alphabetized if we like. 416*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_error_tests", Rules: []string{"//resources/sksl:sksl_error_tests"}}, 417*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_glsl_tests", Rules: []string{"//resources/sksl:sksl_glsl_tests"}}, 418*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_mesh_tests", Rules: []string{"//resources/sksl:sksl_mesh_tests"}}, 419*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_mesh_error_tests", Rules: []string{"//resources/sksl:sksl_mesh_error_tests"}}, 420*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_metal_tests", Rules: []string{"//resources/sksl:sksl_metal_tests"}}, 421*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_spirv_tests", Rules: []string{"//resources/sksl:sksl_spirv_tests"}}, 422*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_wgsl_tests", Rules: []string{"//resources/sksl:sksl_wgsl_tests"}}, 423*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_shared_tests", Rules: []string{"//resources/sksl:sksl_shared_tests"}}, 424*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_compute_tests", Rules: []string{"//resources/sksl:sksl_compute_tests"}}, 425*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_folding_tests", Rules: []string{"//resources/sksl:sksl_folding_tests"}}, 426*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_inliner_tests", Rules: []string{"//resources/sksl:sksl_inliner_tests"}}, 427*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_blend_tests", Rules: []string{"//resources/sksl:sksl_blend_tests"}}, 428*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_settings_tests", Rules: []string{"//resources/sksl:sksl_settings_tests"}}, 429*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_rte_tests", Rules: []string{"//resources/sksl:sksl_rte_tests"}}, 430*c8dee2aaSAndroid Build Coastguard Worker {Var: "sksl_rte_error_tests", Rules: []string{"//resources/sksl:sksl_rte_error_tests"}}, 431*c8dee2aaSAndroid Build Coastguard Worker }}, 432*c8dee2aaSAndroid Build Coastguard Worker {GNI: "gn/utils.gni", Vars: []exporter.GNIFileListExportDesc{ 433*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_utils_public", 434*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 435*c8dee2aaSAndroid Build Coastguard Worker "//include/utils:core_hdrs", 436*c8dee2aaSAndroid Build Coastguard Worker "//include/utils/mac:public_hdrs"}}, 437*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_utils_chromium", 438*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 439*c8dee2aaSAndroid Build Coastguard Worker "//include/docs:multi_picture_document_hdrs", 440*c8dee2aaSAndroid Build Coastguard Worker }}, 441*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_utils_private", 442*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 443*c8dee2aaSAndroid Build Coastguard Worker "//src/utils/mac:mac_utils_priv", 444*c8dee2aaSAndroid Build Coastguard Worker "//src/utils/mac:mac_utils", 445*c8dee2aaSAndroid Build Coastguard Worker "//src/utils/win:core_hdrs", 446*c8dee2aaSAndroid Build Coastguard Worker "//src/utils/win:core_srcs", 447*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:core_priv_hdrs", 448*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:core_srcs", 449*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:char_to_glyphcache", 450*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:canvas_state_utils", 451*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:json_hdrs", 452*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:json_srcs", 453*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:multi_picture_document", 454*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:clip_stack_utils", 455*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:float_to_decimal", 456*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:utils_skslc_hdrs", 457*c8dee2aaSAndroid Build Coastguard Worker "//src/utils:utils_skslc_srcs", 458*c8dee2aaSAndroid Build Coastguard Worker }}, 459*c8dee2aaSAndroid Build Coastguard Worker }, 460*c8dee2aaSAndroid Build Coastguard Worker }, 461*c8dee2aaSAndroid Build Coastguard Worker {GNI: "gn/xps.gni", Vars: []exporter.GNIFileListExportDesc{ 462*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_xps_public", 463*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//include/docs:xps_hdrs"}}, 464*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_xps_sources", 465*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 466*c8dee2aaSAndroid Build Coastguard Worker "//src/xps:core_hdrs", 467*c8dee2aaSAndroid Build Coastguard Worker "//src/xps:core_srcs", 468*c8dee2aaSAndroid Build Coastguard Worker }}}, 469*c8dee2aaSAndroid Build Coastguard Worker }, 470*c8dee2aaSAndroid Build Coastguard Worker {GNI: "gn/xml.gni", Vars: []exporter.GNIFileListExportDesc{ 471*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_xml_sources", 472*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 473*c8dee2aaSAndroid Build Coastguard Worker "//src/xml:_xml_hdrs", 474*c8dee2aaSAndroid Build Coastguard Worker "//src/xml:_xml_srcs", 475*c8dee2aaSAndroid Build Coastguard Worker }}}, 476*c8dee2aaSAndroid Build Coastguard Worker }, 477*c8dee2aaSAndroid Build Coastguard Worker {GNI: "gn/gpu.gni", Vars: []exporter.GNIFileListExportDesc{ 478*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_gpu_public", 479*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 480*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu/ganesh/mock:public_hdrs", 481*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu:shared_gpu_hdrs", 482*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu/ganesh:ganesh_hdrs", 483*c8dee2aaSAndroid Build Coastguard Worker }}, 484*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_ganesh_private", 485*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 486*c8dee2aaSAndroid Build Coastguard Worker "//include/private/gpu/ganesh:private_hdrs", 487*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/effects:effects_hdrs", 488*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/effects:effects_srcs", 489*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/geometry:geometry_hdrs", 490*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/geometry:geometry_srcs", 491*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/glsl:glsl_hdrs", 492*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/glsl:glsl_srcs", 493*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/gradients:gradient_hdrs", 494*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/gradients:gradient_srcs", 495*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/image:image_hdrs", 496*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/image:image_srcs", 497*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/mock:mock_hdrs", 498*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/mock:mock_srcs", 499*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/ops:ops_hdrs", 500*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/ops:ops_srcs", 501*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/surface:surface_srcs", 502*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/surface:surface_srcs", 503*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/tessellate:tessellate_hdrs", 504*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/tessellate:tessellate_srcs", 505*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/text:private_hdrs", 506*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/text:srcs", 507*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh:core_hdrs", 508*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh:core_skslc_hdrs", 509*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh:core_skslc_srcs", 510*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh:core_srcs", 511*c8dee2aaSAndroid Build Coastguard Worker }}, 512*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_gpu_android_private", 513*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 514*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/surface:android_srcs", 515*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh:android_srcs", 516*c8dee2aaSAndroid Build Coastguard Worker "//src/image:android_srcs", 517*c8dee2aaSAndroid Build Coastguard Worker }}, 518*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_gpu_chromium_public", 519*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 520*c8dee2aaSAndroid Build Coastguard Worker "//include/private/chromium:ganesh_private_hdrs", 521*c8dee2aaSAndroid Build Coastguard Worker }}, 522*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_gpu_gl_public", 523*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 524*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu/ganesh/gl:public_hdrs", 525*c8dee2aaSAndroid Build Coastguard Worker }}, 526*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_gpu_gl_private", 527*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 528*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/gl:core_hdrs", 529*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/gl:core_srcs", 530*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/gl/builders:builder_hdrs", 531*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/gl/builders:builder_srcs", 532*c8dee2aaSAndroid Build Coastguard Worker }}, 533*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_android_gl_sources", 534*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 535*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/gl:android_srcs", 536*c8dee2aaSAndroid Build Coastguard Worker }}, 537*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_null_gpu_sources", 538*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 539*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/gl:native_interface_none", 540*c8dee2aaSAndroid Build Coastguard Worker }}, 541*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_gpu_vk_public", 542*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 543*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu/vk:shared_public_hdrs", 544*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu/ganesh/vk:public_hdrs", 545*c8dee2aaSAndroid Build Coastguard Worker }}, 546*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_gpu_vk_chromium_public", 547*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 548*c8dee2aaSAndroid Build Coastguard Worker "//include/private/chromium:vk_ganesh_hdrs", 549*c8dee2aaSAndroid Build Coastguard Worker }}, 550*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_gpu_vk_private", 551*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 552*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/vk:vk_hdrs", 553*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/vk:vk_srcs", 554*c8dee2aaSAndroid Build Coastguard Worker }}, 555*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_gpu_vk_android_private", 556*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 557*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/vk:android_srcs", 558*c8dee2aaSAndroid Build Coastguard Worker }}, 559*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_gpu_vk_chromium_private", 560*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 561*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/vk:vk_chromium_srcs", 562*c8dee2aaSAndroid Build Coastguard Worker }}, 563*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_direct3d_sources", 564*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 565*c8dee2aaSAndroid Build Coastguard Worker "//include/private/gpu/ganesh:d3d_private_hdrs", 566*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/d3d:d3d_hdrs", 567*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/d3d:d3d_srcs", 568*c8dee2aaSAndroid Build Coastguard Worker }}, 569*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_gpu_metal_public", 570*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 571*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu/ganesh/mtl:public_hdrs", 572*c8dee2aaSAndroid Build Coastguard Worker }}, 573*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_gpu_metal_private", 574*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 575*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/surface:mtl_objc_srcs", 576*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/mtl:mtl_hdrs", 577*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/mtl:mtl_srcs", 578*c8dee2aaSAndroid Build Coastguard Worker }}, 579*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_gpu_metal_cpp", 580*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 581*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/mtl:mtl_cpp_hdrs", 582*c8dee2aaSAndroid Build Coastguard Worker }}, 583*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_shared_gpu_sources", 584*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 585*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu:shared_gpu_hdrs", 586*c8dee2aaSAndroid Build Coastguard Worker "//include/private/base:shared_gpu_private_hdrs", 587*c8dee2aaSAndroid Build Coastguard Worker "//include/private/chromium:shared_private_hdrs", 588*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu:shared_hdrs", 589*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu:shared_srcs", 590*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/tessellate:tessellate_hdrs", 591*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/tessellate:tessellate_srcs", 592*c8dee2aaSAndroid Build Coastguard Worker "//src/text/gpu:gpu_hdrs", 593*c8dee2aaSAndroid Build Coastguard Worker "//src/text/gpu:gpu_srcs", 594*c8dee2aaSAndroid Build Coastguard Worker }}, 595*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_shared_vk_sources", 596*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 597*c8dee2aaSAndroid Build Coastguard Worker "//include/private/gpu/vk:private_hdrs", 598*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/vk:_vk_hdrs", 599*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/vk:_vk_srcs"}}, 600*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_vma_sources", 601*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 602*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/vk/vulkanmemoryallocator:vma_srcs", 603*c8dee2aaSAndroid Build Coastguard Worker }}, 604*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_shared_mtl_sources", 605*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 606*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu/mtl:public_hdrs", 607*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/mtl:mtl_hdrs", 608*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/mtl:mtl_srcs", 609*c8dee2aaSAndroid Build Coastguard Worker }}, 610*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_shared_android_sources", 611*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 612*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/android:shared_android_srcs", 613*c8dee2aaSAndroid Build Coastguard Worker }}, 614*c8dee2aaSAndroid Build Coastguard Worker }}, 615*c8dee2aaSAndroid Build Coastguard Worker {GNI: "modules/svg/svg.gni", Vars: []exporter.GNIFileListExportDesc{ 616*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_svg_public", 617*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/svg/include:public_hdrs"}}, 618*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_svg_sources", 619*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 620*c8dee2aaSAndroid Build Coastguard Worker "//modules/svg/src:private_hdrs", 621*c8dee2aaSAndroid Build Coastguard Worker "//modules/svg/src:srcs", 622*c8dee2aaSAndroid Build Coastguard Worker }}, 623*c8dee2aaSAndroid Build Coastguard Worker }}, 624*c8dee2aaSAndroid Build Coastguard Worker {GNI: "modules/bentleyottmann/bentleyottmann.gni", Vars: []exporter.GNIFileListExportDesc{ 625*c8dee2aaSAndroid Build Coastguard Worker {Var: "bentleyottmann_public", 626*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 627*c8dee2aaSAndroid Build Coastguard Worker "//modules/bentleyottmann/include:hdrs", 628*c8dee2aaSAndroid Build Coastguard Worker }}, 629*c8dee2aaSAndroid Build Coastguard Worker {Var: "bentleyottmann_sources", 630*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 631*c8dee2aaSAndroid Build Coastguard Worker "//modules/bentleyottmann/src:srcs", 632*c8dee2aaSAndroid Build Coastguard Worker }}, 633*c8dee2aaSAndroid Build Coastguard Worker {Var: "bentleyottmann_tests", 634*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 635*c8dee2aaSAndroid Build Coastguard Worker "//modules/bentleyottmann/tests:tests", 636*c8dee2aaSAndroid Build Coastguard Worker }}, 637*c8dee2aaSAndroid Build Coastguard Worker }}, 638*c8dee2aaSAndroid Build Coastguard Worker {GNI: "modules/skparagraph/skparagraph.gni", Vars: []exporter.GNIFileListExportDesc{ 639*c8dee2aaSAndroid Build Coastguard Worker {Var: "skparagraph_public", 640*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 641*c8dee2aaSAndroid Build Coastguard Worker "//modules/skparagraph/include:hdrs", 642*c8dee2aaSAndroid Build Coastguard Worker "//modules/skparagraph/utils:utils_hdrs"}}, 643*c8dee2aaSAndroid Build Coastguard Worker {Var: "skparagraph_sources", 644*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 645*c8dee2aaSAndroid Build Coastguard Worker "//modules/skparagraph/src:srcs", 646*c8dee2aaSAndroid Build Coastguard Worker "//modules/skparagraph/utils:utils_srcs"}}, 647*c8dee2aaSAndroid Build Coastguard Worker {Var: "skparagraph_utils", 648*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 649*c8dee2aaSAndroid Build Coastguard Worker "//modules/skparagraph/utils:utils_hdrs", 650*c8dee2aaSAndroid Build Coastguard Worker "//modules/skparagraph/utils:utils_srcs", 651*c8dee2aaSAndroid Build Coastguard Worker }}, 652*c8dee2aaSAndroid Build Coastguard Worker {Var: "skparagraph_tests", 653*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 654*c8dee2aaSAndroid Build Coastguard Worker "//modules/skparagraph/tests:tests_hdrs", 655*c8dee2aaSAndroid Build Coastguard Worker "//modules/skparagraph/tests:tests_srcs", 656*c8dee2aaSAndroid Build Coastguard Worker }}, 657*c8dee2aaSAndroid Build Coastguard Worker }}, 658*c8dee2aaSAndroid Build Coastguard Worker {GNI: "modules/skresources/skresources.gni", Vars: []exporter.GNIFileListExportDesc{ 659*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_skresources_public", 660*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skresources/include:hdrs"}}, 661*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_skresources_sources", 662*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skresources/src:srcs"}}, 663*c8dee2aaSAndroid Build Coastguard Worker }}, 664*c8dee2aaSAndroid Build Coastguard Worker {GNI: "modules/skshaper/skshaper.gni", Vars: []exporter.GNIFileListExportDesc{ 665*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_shaper_public", 666*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skshaper/include:hdrs", 667*c8dee2aaSAndroid Build Coastguard Worker "//modules/skshaper/utils:core_hdrs", 668*c8dee2aaSAndroid Build Coastguard Worker }}, 669*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_shaper_primitive_sources", 670*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skshaper/src:base_srcs"}}, 671*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_shaper_harfbuzz_sources", 672*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skshaper/src:harfbuzz_srcs"}}, 673*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_shaper_skunicode_sources", 674*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skshaper/src:skunicode_srcs"}}, 675*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_shaper_coretext_sources", 676*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skshaper/src:coretext_srcs"}}, 677*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_shaper_tests", 678*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skshaper/tests:tests_srcs"}}, 679*c8dee2aaSAndroid Build Coastguard Worker }}, 680*c8dee2aaSAndroid Build Coastguard Worker {GNI: "modules/skunicode/skunicode.gni", Vars: []exporter.GNIFileListExportDesc{ 681*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_unicode_public", 682*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skunicode/include:hdrs"}}, 683*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_unicode_sources", 684*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skunicode/src:srcs"}}, 685*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_unicode_icu_sources", 686*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skunicode/src:icu_srcs"}}, 687*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_unicode_icu_bidi_sources", 688*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skunicode/src:icu_bidi_srcs"}}, 689*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_unicode_bidi_full_sources", 690*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skunicode/src:bidi_full_srcs"}}, 691*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_unicode_bidi_subset_sources", 692*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skunicode/src:bidi_subset_srcs"}}, 693*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_unicode_icu4x_sources", 694*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skunicode/src:icu4x_srcs"}}, 695*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_unicode_client_icu_sources", 696*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skunicode/src:client_srcs"}}, 697*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_unicode_builtin_icu_sources", 698*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skunicode/src:builtin_srcs"}}, 699*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_unicode_runtime_icu_sources", 700*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skunicode/src:runtime_srcs"}}, 701*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_unicode_libgrapheme_sources", 702*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skunicode/src:libgrapheme_srcs"}}, 703*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_unicode_tests", 704*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skunicode/tests:tests"}}, 705*c8dee2aaSAndroid Build Coastguard Worker }}, 706*c8dee2aaSAndroid Build Coastguard Worker {GNI: "modules/sksg/sksg.gni", Vars: []exporter.GNIFileListExportDesc{ 707*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_sksg_sources", 708*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/sksg/src:srcs"}}, 709*c8dee2aaSAndroid Build Coastguard Worker }}, 710*c8dee2aaSAndroid Build Coastguard Worker {GNI: "modules/skottie/skottie.gni", Vars: []exporter.GNIFileListExportDesc{ 711*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_skottie_public", 712*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skottie/include:hdrs"}}, 713*c8dee2aaSAndroid Build Coastguard Worker {Var: "skia_skottie_sources", 714*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 715*c8dee2aaSAndroid Build Coastguard Worker "//modules/skottie/src:core_hdrs", 716*c8dee2aaSAndroid Build Coastguard Worker "//modules/skottie/src:core_srcs", 717*c8dee2aaSAndroid Build Coastguard Worker "//modules/skottie/src/animator:srcs", 718*c8dee2aaSAndroid Build Coastguard Worker "//modules/skottie/src/effects:srcs", 719*c8dee2aaSAndroid Build Coastguard Worker "//modules/skottie/src/layers:srcs", 720*c8dee2aaSAndroid Build Coastguard Worker "//modules/skottie/src/layers/shapelayer:srcs", 721*c8dee2aaSAndroid Build Coastguard Worker "//modules/skottie/src/text:text_hdrs", 722*c8dee2aaSAndroid Build Coastguard Worker "//modules/skottie/src/text:text_srcs", 723*c8dee2aaSAndroid Build Coastguard Worker "//modules/skottie/src/text:text_shaper_srcs", 724*c8dee2aaSAndroid Build Coastguard Worker }}, 725*c8dee2aaSAndroid Build Coastguard Worker }}, 726*c8dee2aaSAndroid Build Coastguard Worker {GNI: "modules/skcms/skcms.gni", Vars: []exporter.GNIFileListExportDesc{ 727*c8dee2aaSAndroid Build Coastguard Worker {Var: "skcms_public_headers", 728*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{"//modules/skcms:public_hdrs"}}, 729*c8dee2aaSAndroid Build Coastguard Worker {Var: "skcms_public", 730*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 731*c8dee2aaSAndroid Build Coastguard Worker "//modules/skcms:skcms_public", 732*c8dee2aaSAndroid Build Coastguard Worker }}, 733*c8dee2aaSAndroid Build Coastguard Worker {Var: "skcms_TransformBaseline", 734*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 735*c8dee2aaSAndroid Build Coastguard Worker "//modules/skcms:skcms_TransformBaseline", 736*c8dee2aaSAndroid Build Coastguard Worker }}, 737*c8dee2aaSAndroid Build Coastguard Worker {Var: "skcms_TransformHsw", 738*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 739*c8dee2aaSAndroid Build Coastguard Worker "//modules/skcms:skcms_TransformHsw", 740*c8dee2aaSAndroid Build Coastguard Worker }}, 741*c8dee2aaSAndroid Build Coastguard Worker {Var: "skcms_TransformSkx", 742*c8dee2aaSAndroid Build Coastguard Worker Rules: []string{ 743*c8dee2aaSAndroid Build Coastguard Worker "//modules/skcms:skcms_TransformSkx", 744*c8dee2aaSAndroid Build Coastguard Worker }}, 745*c8dee2aaSAndroid Build Coastguard Worker }}, 746*c8dee2aaSAndroid Build Coastguard Worker} 747*c8dee2aaSAndroid Build Coastguard Worker 748*c8dee2aaSAndroid Build Coastguard Workerconst ( 749*c8dee2aaSAndroid Build Coastguard Worker unknownErr = 1 750*c8dee2aaSAndroid Build Coastguard Worker invalidArgErr = 2 751*c8dee2aaSAndroid Build Coastguard Worker exportErr = 3 752*c8dee2aaSAndroid Build Coastguard Worker verifyErr = 4 753*c8dee2aaSAndroid Build Coastguard Worker profilerErr = 5 754*c8dee2aaSAndroid Build Coastguard Worker) 755*c8dee2aaSAndroid Build Coastguard Worker 756*c8dee2aaSAndroid Build Coastguard Workertype fileSystem struct { 757*c8dee2aaSAndroid Build Coastguard Worker workspaceDir string 758*c8dee2aaSAndroid Build Coastguard Worker outFormat string 759*c8dee2aaSAndroid Build Coastguard Worker openFiles []*os.File 760*c8dee2aaSAndroid Build Coastguard Worker} 761*c8dee2aaSAndroid Build Coastguard Worker 762*c8dee2aaSAndroid Build Coastguard Workerfunc (fs *fileSystem) OpenFile(path string) (interfaces.Writer, error) { 763*c8dee2aaSAndroid Build Coastguard Worker f, err := os.Create(path) 764*c8dee2aaSAndroid Build Coastguard Worker if err != nil { 765*c8dee2aaSAndroid Build Coastguard Worker return nil, skerr.Wrap(err) 766*c8dee2aaSAndroid Build Coastguard Worker } 767*c8dee2aaSAndroid Build Coastguard Worker fs.openFiles = append(fs.openFiles, f) 768*c8dee2aaSAndroid Build Coastguard Worker return f, nil 769*c8dee2aaSAndroid Build Coastguard Worker} 770*c8dee2aaSAndroid Build Coastguard Worker 771*c8dee2aaSAndroid Build Coastguard Workerfunc (fs *fileSystem) ReadFile(filename string) ([]byte, error) { 772*c8dee2aaSAndroid Build Coastguard Worker return os.ReadFile(filename) 773*c8dee2aaSAndroid Build Coastguard Worker} 774*c8dee2aaSAndroid Build Coastguard Worker 775*c8dee2aaSAndroid Build Coastguard Workerfunc (fs *fileSystem) Shutdown() { 776*c8dee2aaSAndroid Build Coastguard Worker for _, f := range fs.openFiles { 777*c8dee2aaSAndroid Build Coastguard Worker f.Close() // Ignore error. 778*c8dee2aaSAndroid Build Coastguard Worker } 779*c8dee2aaSAndroid Build Coastguard Worker} 780*c8dee2aaSAndroid Build Coastguard Worker 781*c8dee2aaSAndroid Build Coastguard Worker// Make sure fileSystem fulfills the FileSystem interface. 782*c8dee2aaSAndroid Build Coastguard Workervar _ interfaces.FileSystem = (*fileSystem)(nil) 783*c8dee2aaSAndroid Build Coastguard Worker 784*c8dee2aaSAndroid Build Coastguard Workerfunc createExporter(projName, cmakeFileName string, fs *fileSystem) interfaces.Exporter { 785*c8dee2aaSAndroid Build Coastguard Worker if fs.outFormat == "cmake" { 786*c8dee2aaSAndroid Build Coastguard Worker return exporter.NewCMakeExporter(projName, fs.workspaceDir, cmakeFileName, fs) 787*c8dee2aaSAndroid Build Coastguard Worker } 788*c8dee2aaSAndroid Build Coastguard Worker params := exporter.GNIExporterParams{ 789*c8dee2aaSAndroid Build Coastguard Worker WorkspaceDir: fs.workspaceDir, 790*c8dee2aaSAndroid Build Coastguard Worker ExportDescs: gniExportDescs, 791*c8dee2aaSAndroid Build Coastguard Worker } 792*c8dee2aaSAndroid Build Coastguard Worker return exporter.NewGNIExporter(params, fs) 793*c8dee2aaSAndroid Build Coastguard Worker} 794*c8dee2aaSAndroid Build Coastguard Worker 795*c8dee2aaSAndroid Build Coastguard Workerfunc doExport(qr interfaces.QueryCommand, exp interfaces.Exporter, outFormat string) { 796*c8dee2aaSAndroid Build Coastguard Worker err := exp.Export(qr) 797*c8dee2aaSAndroid Build Coastguard Worker if err != nil { 798*c8dee2aaSAndroid Build Coastguard Worker fmt.Fprintf(os.Stderr, "Error exporting to %s: %v\n", outFormat, err) 799*c8dee2aaSAndroid Build Coastguard Worker os.Exit(exportErr) 800*c8dee2aaSAndroid Build Coastguard Worker } 801*c8dee2aaSAndroid Build Coastguard Worker} 802*c8dee2aaSAndroid Build Coastguard Worker 803*c8dee2aaSAndroid Build Coastguard Workerfunc main() { 804*c8dee2aaSAndroid Build Coastguard Worker var ( 805*c8dee2aaSAndroid Build Coastguard Worker queryRules = common.NewMultiStringFlag("rule", nil, "Bazel rule (may be repeated).") 806*c8dee2aaSAndroid Build Coastguard Worker outFormat = flag.String("output_format", "", "Desired output format. One of cmake or gni.") 807*c8dee2aaSAndroid Build Coastguard Worker cmakeFileName = flag.String("out", "CMakeLists.txt", "CMake output file") 808*c8dee2aaSAndroid Build Coastguard Worker projName = flag.String("proj_name", "", "CMake project name") 809*c8dee2aaSAndroid Build Coastguard Worker cpuprofile = flag.String("cpuprofile", "", "write cpu profile to file") 810*c8dee2aaSAndroid Build Coastguard Worker ) 811*c8dee2aaSAndroid Build Coastguard Worker flag.Parse() 812*c8dee2aaSAndroid Build Coastguard Worker if *outFormat != "cmake" && *outFormat != "gni" { 813*c8dee2aaSAndroid Build Coastguard Worker if *outFormat == "" { 814*c8dee2aaSAndroid Build Coastguard Worker fmt.Fprintln(os.Stderr, "Output format required") 815*c8dee2aaSAndroid Build Coastguard Worker } else { 816*c8dee2aaSAndroid Build Coastguard Worker fmt.Fprintf(os.Stderr, "Incorrect output format: \"%s\"\n", *outFormat) 817*c8dee2aaSAndroid Build Coastguard Worker } 818*c8dee2aaSAndroid Build Coastguard Worker fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0]) 819*c8dee2aaSAndroid Build Coastguard Worker flag.PrintDefaults() 820*c8dee2aaSAndroid Build Coastguard Worker os.Exit(invalidArgErr) 821*c8dee2aaSAndroid Build Coastguard Worker } 822*c8dee2aaSAndroid Build Coastguard Worker if *cmakeFileName == "" || *projName == "" { 823*c8dee2aaSAndroid Build Coastguard Worker fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0]) 824*c8dee2aaSAndroid Build Coastguard Worker flag.PrintDefaults() 825*c8dee2aaSAndroid Build Coastguard Worker os.Exit(invalidArgErr) 826*c8dee2aaSAndroid Build Coastguard Worker } 827*c8dee2aaSAndroid Build Coastguard Worker workspaceDir, err := os.Getwd() 828*c8dee2aaSAndroid Build Coastguard Worker if err != nil { 829*c8dee2aaSAndroid Build Coastguard Worker fmt.Fprintf(os.Stderr, "Error getting pwd: %v", err) 830*c8dee2aaSAndroid Build Coastguard Worker os.Exit(unknownErr) 831*c8dee2aaSAndroid Build Coastguard Worker } 832*c8dee2aaSAndroid Build Coastguard Worker if *cpuprofile != "" { 833*c8dee2aaSAndroid Build Coastguard Worker f, err := os.Create(*cpuprofile) 834*c8dee2aaSAndroid Build Coastguard Worker if err != nil { 835*c8dee2aaSAndroid Build Coastguard Worker fmt.Fprintf(os.Stderr, "unable to create %q: %v\n", *cpuprofile, err) 836*c8dee2aaSAndroid Build Coastguard Worker os.Exit(profilerErr) 837*c8dee2aaSAndroid Build Coastguard Worker } 838*c8dee2aaSAndroid Build Coastguard Worker defer f.Close() 839*c8dee2aaSAndroid Build Coastguard Worker if err = pprof.StartCPUProfile(f); err != nil { 840*c8dee2aaSAndroid Build Coastguard Worker fmt.Fprintf(os.Stderr, "error starting CPU profile: %v\n", err) 841*c8dee2aaSAndroid Build Coastguard Worker os.Exit(profilerErr) 842*c8dee2aaSAndroid Build Coastguard Worker } 843*c8dee2aaSAndroid Build Coastguard Worker defer pprof.StopCPUProfile() 844*c8dee2aaSAndroid Build Coastguard Worker } 845*c8dee2aaSAndroid Build Coastguard Worker var qcmd *exporter.BazelQueryCommand 846*c8dee2aaSAndroid Build Coastguard Worker switch *outFormat { 847*c8dee2aaSAndroid Build Coastguard Worker case "gni": 848*c8dee2aaSAndroid Build Coastguard Worker qcmd = exporter.NewBazelGNIQueryCommand(*queryRules, workspaceDir) 849*c8dee2aaSAndroid Build Coastguard Worker case "cmake": 850*c8dee2aaSAndroid Build Coastguard Worker qcmd = exporter.NewBazelCMakeQueryCommand(*queryRules, workspaceDir) 851*c8dee2aaSAndroid Build Coastguard Worker } 852*c8dee2aaSAndroid Build Coastguard Worker fs := fileSystem{workspaceDir: workspaceDir, outFormat: *outFormat} 853*c8dee2aaSAndroid Build Coastguard Worker defer fs.Shutdown() 854*c8dee2aaSAndroid Build Coastguard Worker var exp interfaces.Exporter = createExporter(*projName, *cmakeFileName, &fs) 855*c8dee2aaSAndroid Build Coastguard Worker doExport(qcmd, exp, *outFormat) 856*c8dee2aaSAndroid Build Coastguard Worker} 857