19ce3a3fcSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
29ce3a3fcSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
39ce3a3fcSopenharmony_ci# you may not use this file except in compliance with the License.
49ce3a3fcSopenharmony_ci# You may obtain a copy of the License at
59ce3a3fcSopenharmony_ci#
69ce3a3fcSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
79ce3a3fcSopenharmony_ci#
89ce3a3fcSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
99ce3a3fcSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
109ce3a3fcSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
119ce3a3fcSopenharmony_ci# See the License for the specific language governing permissions and
129ce3a3fcSopenharmony_ci# limitations under the License.
139ce3a3fcSopenharmony_ci
149ce3a3fcSopenharmony_ciimport("//build/ohos.gni")
159ce3a3fcSopenharmony_ciimport("//build/ohos/notice/notice.gni")
169ce3a3fcSopenharmony_ci
179ce3a3fcSopenharmony_citypescript_sources = [
189ce3a3fcSopenharmony_ci  "lib/.gitattributes",
199ce3a3fcSopenharmony_ci  "lib/README.md",
209ce3a3fcSopenharmony_ci  "lib/cancellationToken.js",
219ce3a3fcSopenharmony_ci  "lib/cs/diagnosticMessages.generated.json",
229ce3a3fcSopenharmony_ci  "lib/de/diagnosticMessages.generated.json",
239ce3a3fcSopenharmony_ci  "lib/dynamicImportCompat.js",
249ce3a3fcSopenharmony_ci  "lib/es/diagnosticMessages.generated.json",
259ce3a3fcSopenharmony_ci  "lib/fr/diagnosticMessages.generated.json",
269ce3a3fcSopenharmony_ci  "lib/it/diagnosticMessages.generated.json",
279ce3a3fcSopenharmony_ci  "lib/ja/diagnosticMessages.generated.json",
289ce3a3fcSopenharmony_ci  "lib/ko/diagnosticMessages.generated.json",
299ce3a3fcSopenharmony_ci  "lib/lib.d.ts",
309ce3a3fcSopenharmony_ci  "lib/lib.dom.d.ts",
319ce3a3fcSopenharmony_ci  "lib/lib.dom.iterable.d.ts",
329ce3a3fcSopenharmony_ci  "lib/lib.es2015.collection.d.ts",
339ce3a3fcSopenharmony_ci  "lib/lib.es2015.core.d.ts",
349ce3a3fcSopenharmony_ci  "lib/lib.es2015.d.ts",
359ce3a3fcSopenharmony_ci  "lib/lib.es2015.generator.d.ts",
369ce3a3fcSopenharmony_ci  "lib/lib.es2015.iterable.d.ts",
379ce3a3fcSopenharmony_ci  "lib/lib.es2015.promise.d.ts",
389ce3a3fcSopenharmony_ci  "lib/lib.es2015.proxy.d.ts",
399ce3a3fcSopenharmony_ci  "lib/lib.es2015.reflect.d.ts",
409ce3a3fcSopenharmony_ci  "lib/lib.es2015.symbol.d.ts",
419ce3a3fcSopenharmony_ci  "lib/lib.es2015.symbol.wellknown.d.ts",
429ce3a3fcSopenharmony_ci  "lib/lib.es2016.array.include.d.ts",
439ce3a3fcSopenharmony_ci  "lib/lib.es2016.d.ts",
449ce3a3fcSopenharmony_ci  "lib/lib.es2016.full.d.ts",
459ce3a3fcSopenharmony_ci  "lib/lib.es2017.d.ts",
469ce3a3fcSopenharmony_ci  "lib/lib.es2017.full.d.ts",
479ce3a3fcSopenharmony_ci  "lib/lib.es2017.intl.d.ts",
489ce3a3fcSopenharmony_ci  "lib/lib.es2017.object.d.ts",
499ce3a3fcSopenharmony_ci  "lib/lib.es2017.sharedmemory.d.ts",
509ce3a3fcSopenharmony_ci  "lib/lib.es2017.string.d.ts",
519ce3a3fcSopenharmony_ci  "lib/lib.es2017.typedarrays.d.ts",
529ce3a3fcSopenharmony_ci  "lib/lib.es2018.asyncgenerator.d.ts",
539ce3a3fcSopenharmony_ci  "lib/lib.es2018.asynciterable.d.ts",
549ce3a3fcSopenharmony_ci  "lib/lib.es2018.d.ts",
559ce3a3fcSopenharmony_ci  "lib/lib.es2018.full.d.ts",
569ce3a3fcSopenharmony_ci  "lib/lib.es2018.intl.d.ts",
579ce3a3fcSopenharmony_ci  "lib/lib.es2018.promise.d.ts",
589ce3a3fcSopenharmony_ci  "lib/lib.es2018.regexp.d.ts",
599ce3a3fcSopenharmony_ci  "lib/lib.es2019.array.d.ts",
609ce3a3fcSopenharmony_ci  "lib/lib.es2019.d.ts",
619ce3a3fcSopenharmony_ci  "lib/lib.es2019.full.d.ts",
629ce3a3fcSopenharmony_ci  "lib/lib.es2019.intl.d.ts",
639ce3a3fcSopenharmony_ci  "lib/lib.es2019.object.d.ts",
649ce3a3fcSopenharmony_ci  "lib/lib.es2019.string.d.ts",
659ce3a3fcSopenharmony_ci  "lib/lib.es2019.symbol.d.ts",
669ce3a3fcSopenharmony_ci  "lib/lib.es2020.bigint.d.ts",
679ce3a3fcSopenharmony_ci  "lib/lib.es2020.d.ts",
689ce3a3fcSopenharmony_ci  "lib/lib.es2020.date.d.ts",
699ce3a3fcSopenharmony_ci  "lib/lib.es2020.full.d.ts",
709ce3a3fcSopenharmony_ci  "lib/lib.es2020.intl.d.ts",
719ce3a3fcSopenharmony_ci  "lib/lib.es2020.number.d.ts",
729ce3a3fcSopenharmony_ci  "lib/lib.es2020.promise.d.ts",
739ce3a3fcSopenharmony_ci  "lib/lib.es2020.sharedmemory.d.ts",
749ce3a3fcSopenharmony_ci  "lib/lib.es2020.string.d.ts",
759ce3a3fcSopenharmony_ci  "lib/lib.es2020.symbol.wellknown.d.ts",
769ce3a3fcSopenharmony_ci  "lib/lib.es2021.d.ts",
779ce3a3fcSopenharmony_ci  "lib/lib.es2021.full.d.ts",
789ce3a3fcSopenharmony_ci  "lib/lib.es2021.intl.d.ts",
799ce3a3fcSopenharmony_ci  "lib/lib.es2021.promise.d.ts",
809ce3a3fcSopenharmony_ci  "lib/lib.es2021.string.d.ts",
819ce3a3fcSopenharmony_ci  "lib/lib.es2021.weakref.d.ts",
829ce3a3fcSopenharmony_ci  "lib/lib.es2022.array.d.ts",
839ce3a3fcSopenharmony_ci  "lib/lib.es2022.d.ts",
849ce3a3fcSopenharmony_ci  "lib/lib.es2022.error.d.ts",
859ce3a3fcSopenharmony_ci  "lib/lib.es2022.full.d.ts",
869ce3a3fcSopenharmony_ci  "lib/lib.es2022.intl.d.ts",
879ce3a3fcSopenharmony_ci  "lib/lib.es2022.object.d.ts",
889ce3a3fcSopenharmony_ci  "lib/lib.es2022.sharedmemory.d.ts",
899ce3a3fcSopenharmony_ci  "lib/lib.es2022.string.d.ts",
909ce3a3fcSopenharmony_ci  "lib/lib.es5.d.ts",
919ce3a3fcSopenharmony_ci  "lib/lib.es6.d.ts",
929ce3a3fcSopenharmony_ci  "lib/lib.esnext.d.ts",
939ce3a3fcSopenharmony_ci  "lib/lib.esnext.full.d.ts",
949ce3a3fcSopenharmony_ci  "lib/lib.esnext.intl.d.ts",
959ce3a3fcSopenharmony_ci  "lib/lib.esnext.promise.d.ts",
969ce3a3fcSopenharmony_ci  "lib/lib.esnext.string.d.ts",
979ce3a3fcSopenharmony_ci  "lib/lib.esnext.weakref.d.ts",
989ce3a3fcSopenharmony_ci  "lib/lib.scripthost.d.ts",
999ce3a3fcSopenharmony_ci  "lib/lib.webworker.d.ts",
1009ce3a3fcSopenharmony_ci  "lib/lib.webworker.importscripts.d.ts",
1019ce3a3fcSopenharmony_ci  "lib/lib.webworker.iterable.d.ts",
1029ce3a3fcSopenharmony_ci  "lib/pl/diagnosticMessages.generated.json",
1039ce3a3fcSopenharmony_ci  "lib/protocol.d.ts",
1049ce3a3fcSopenharmony_ci  "lib/pt-br/diagnosticMessages.generated.json",
1059ce3a3fcSopenharmony_ci  "lib/ru/diagnosticMessages.generated.json",
1069ce3a3fcSopenharmony_ci  "lib/tr/diagnosticMessages.generated.json",
1079ce3a3fcSopenharmony_ci  "lib/tsc.js",
1089ce3a3fcSopenharmony_ci  "lib/tsserver.js",
1099ce3a3fcSopenharmony_ci  "lib/tsserverlibrary.d.ts",
1109ce3a3fcSopenharmony_ci  "lib/tsserverlibrary.js",
1119ce3a3fcSopenharmony_ci  "lib/typesMap.json",
1129ce3a3fcSopenharmony_ci  "lib/typescript.d.ts",
1139ce3a3fcSopenharmony_ci  "lib/typescript.js",
1149ce3a3fcSopenharmony_ci  "lib/typescriptServices.d.ts",
1159ce3a3fcSopenharmony_ci  "lib/typescriptServices.js",
1169ce3a3fcSopenharmony_ci  "lib/typingsInstaller.js",
1179ce3a3fcSopenharmony_ci  "lib/watchGuard.js",
1189ce3a3fcSopenharmony_ci  "lib/zh-cn/diagnosticMessages.generated.json",
1199ce3a3fcSopenharmony_ci  "lib/zh-tw/diagnosticMessages.generated.json",
1209ce3a3fcSopenharmony_ci]
1219ce3a3fcSopenharmony_ci
1229ce3a3fcSopenharmony_cigroup("build_typescript") {
1239ce3a3fcSopenharmony_ci  deps = [
1249ce3a3fcSopenharmony_ci    "//third_party/typescript:build_typescript_pack",
1259ce3a3fcSopenharmony_ci    "//third_party/typescript:typescript_notice",
1269ce3a3fcSopenharmony_ci  ]
1279ce3a3fcSopenharmony_ci}
1289ce3a3fcSopenharmony_ci
1299ce3a3fcSopenharmony_ciaction("build_typescript_pack") {
1309ce3a3fcSopenharmony_ci  sources = typescript_sources
1319ce3a3fcSopenharmony_ci  script = "compile_typescript.py"
1329ce3a3fcSopenharmony_ci  args = [
1339ce3a3fcSopenharmony_ci    rebase_path(get_path_info("./", "abspath")),
1349ce3a3fcSopenharmony_ci    rebase_path("${target_out_dir}"),
1359ce3a3fcSopenharmony_ci  ]
1369ce3a3fcSopenharmony_ci  outputs = [ "${target_out_dir}/ohos-typescript-4.9.5-r4.tgz" ]
1379ce3a3fcSopenharmony_ci}
1389ce3a3fcSopenharmony_ci
1399ce3a3fcSopenharmony_cicollect_notice("typescript_notice") {
1409ce3a3fcSopenharmony_ci  license_file = "LICENSE"
1419ce3a3fcSopenharmony_ci  module_source_dir = get_label_info(":${target_name}", "dir")
1429ce3a3fcSopenharmony_ci  outputs = [
1439ce3a3fcSopenharmony_ci    "${sdk_notice_dir}/ets/build-tools/ets-loader/node_modules/typescript.txt",
1449ce3a3fcSopenharmony_ci  ]
1459ce3a3fcSopenharmony_ci}
146