1*7594170eSAndroid Build Coastguard Worker# Copyright (C) 2021 The Android Open Source Project 2*7594170eSAndroid Build Coastguard Worker# 3*7594170eSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*7594170eSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*7594170eSAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*7594170eSAndroid Build Coastguard Worker# 7*7594170eSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*7594170eSAndroid Build Coastguard Worker# 9*7594170eSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*7594170eSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*7594170eSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*7594170eSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*7594170eSAndroid Build Coastguard Worker# limitations under the License. 14*7594170eSAndroid Build Coastguard Worker 15*7594170eSAndroid Build Coastguard Workerdef _impl(rctx): 16*7594170eSAndroid Build Coastguard Worker rctx.file("WORKSPACE", "") 17*7594170eSAndroid Build Coastguard Worker build_dir = str(rctx.path(Label("//:BUILD")).dirname.dirname) 18*7594170eSAndroid Build Coastguard Worker soong_injection_dir = build_dir + "/soong_injection" 19*7594170eSAndroid Build Coastguard Worker rctx.symlink(soong_injection_dir + "/allowlists", "allowlists") 20*7594170eSAndroid Build Coastguard Worker rctx.symlink(soong_injection_dir + "/android", "android") 21*7594170eSAndroid Build Coastguard Worker rctx.symlink(soong_injection_dir + "/mixed_builds", "mixed_builds") 22*7594170eSAndroid Build Coastguard Worker rctx.symlink(soong_injection_dir + "/cc_toolchain", "cc_toolchain") 23*7594170eSAndroid Build Coastguard Worker rctx.symlink(soong_injection_dir + "/java_toolchain", "java_toolchain") 24*7594170eSAndroid Build Coastguard Worker rctx.symlink(soong_injection_dir + "/rust_toolchain", "rust_toolchain") 25*7594170eSAndroid Build Coastguard Worker rctx.symlink(soong_injection_dir + "/apex_toolchain", "apex_toolchain") 26*7594170eSAndroid Build Coastguard Worker rctx.symlink(soong_injection_dir + "/product_config", "product_config") 27*7594170eSAndroid Build Coastguard Worker rctx.symlink(soong_injection_dir + "/product_config_platforms", "product_config_platforms") 28*7594170eSAndroid Build Coastguard Worker rctx.symlink(soong_injection_dir + "/api_levels", "api_levels") 29*7594170eSAndroid Build Coastguard Worker rctx.symlink(soong_injection_dir + "/metrics", "metrics") 30*7594170eSAndroid Build Coastguard Worker 31*7594170eSAndroid Build Coastguard Workersoong_injection_repository = repository_rule( 32*7594170eSAndroid Build Coastguard Worker implementation = _impl, 33*7594170eSAndroid Build Coastguard Worker) 34