1*cf78ab8cSAndroid Build Coastguard Worker#!/bin/bash 2*cf78ab8cSAndroid Build Coastguard Worker# Copyright 2022 The Android Open Source Project 3*cf78ab8cSAndroid Build Coastguard Worker# 4*cf78ab8cSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 5*cf78ab8cSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 6*cf78ab8cSAndroid Build Coastguard Worker# You may obtain a copy of the License at 7*cf78ab8cSAndroid Build Coastguard Worker# 8*cf78ab8cSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 9*cf78ab8cSAndroid Build Coastguard Worker# 10*cf78ab8cSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 11*cf78ab8cSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 12*cf78ab8cSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*cf78ab8cSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 14*cf78ab8cSAndroid Build Coastguard Worker# limitations under the License. 15*cf78ab8cSAndroid Build Coastguard Worker 16*cf78ab8cSAndroid Build Coastguard Worker# Formats source files according to Google's style guide. 17*cf78ab8cSAndroid Build Coastguard Worker 18*cf78ab8cSAndroid Build Coastguard WorkerREPO=$(dirname "$0")/../../.. 19*cf78ab8cSAndroid Build Coastguard WorkerOS=$(uname | tr '[:upper:]' '[:lower:]') # The possible values are "linux" and "darwin". 20*cf78ab8cSAndroid Build Coastguard Worker 21*cf78ab8cSAndroid Build Coastguard Worker# Run clang-format. 22*cf78ab8cSAndroid Build Coastguard Workerfind $REPO/tools/netsim/src \( -name '*.cc' -o -name '*.h' \) \ 23*cf78ab8cSAndroid Build Coastguard Worker -exec clang-format -i {} \; 24*cf78ab8cSAndroid Build Coastguard Worker 25*cf78ab8cSAndroid Build Coastguard Workerfind $REPO/tools/netsim/proto \( -name '*.proto' \) \ 26*cf78ab8cSAndroid Build Coastguard Worker -exec clang-format -i {} \; 27*cf78ab8cSAndroid Build Coastguard Worker 28*cf78ab8cSAndroid Build Coastguard Worker# Format rust. 29*cf78ab8cSAndroid Build Coastguard WorkerRUSTFMT=$REPO/prebuilts/rust/$OS-x86/stable/rustfmt 30*cf78ab8cSAndroid Build Coastguard Workerfind $REPO/tools/netsim/rust \( \ 31*cf78ab8cSAndroid Build Coastguard Worker -path $REPO/tools/netsim/rust/target -prune -false \ 32*cf78ab8cSAndroid Build Coastguard Worker -o -name '*.rs' \) \ 33*cf78ab8cSAndroid Build Coastguard Worker -exec $RUSTFMT --files-with-diff {} \; 34*cf78ab8cSAndroid Build Coastguard Worker 35*cf78ab8cSAndroid Build Coastguard Worker# Format TypeScript. 36*cf78ab8cSAndroid Build Coastguard Workerfind $REPO/tools/netsim/ui/ts \( -name '*.ts' \) \ 37*cf78ab8cSAndroid Build Coastguard Worker -exec clang-format -i {} \; 38*cf78ab8cSAndroid Build Coastguard Worker 39*cf78ab8cSAndroid Build Coastguard Worker# Format Java (go/google-java-format). 40*cf78ab8cSAndroid Build Coastguard Workerfind $REPO/tools/netsim \( -name '*.java' \) \ 41*cf78ab8cSAndroid Build Coastguard Worker -exec google-java-format --dry-run {} \; 42*cf78ab8cSAndroid Build Coastguard Workerfind $REPO/tools/netsim \( -name '*.java' \) \ 43*cf78ab8cSAndroid Build Coastguard Worker -exec google-java-format -i {} \; 44*cf78ab8cSAndroid Build Coastguard Worker 45*cf78ab8cSAndroid Build Coastguard Worker# Format Python (go/pyformat). 46*cf78ab8cSAndroid Build Coastguard Workerpyformat --in_place --alsologtostderr --noshowprefixforinfo \ 47*cf78ab8cSAndroid Build Coastguard Worker --recursive $REPO/tools/netsim 48*cf78ab8cSAndroid Build Coastguard Worker 49*cf78ab8cSAndroid Build Coastguard Worker# Run cmake-format. 50*cf78ab8cSAndroid Build Coastguard Workerfind $REPO/tools/netsim \( -name 'CMakeLists.txt' \) \ 51*cf78ab8cSAndroid Build Coastguard Worker -exec cmake-format -i {} \; 52*cf78ab8cSAndroid Build Coastguard Workerfind $REPO/tools/netsim/cmake \( -name "*.cmake" \) \ 53*cf78ab8cSAndroid Build Coastguard Worker -exec cmake-format -i {} \; 54*cf78ab8cSAndroid Build Coastguard Worker 55*cf78ab8cSAndroid Build Coastguard Worker# Run bpfmt to format Android.bp if in aosp_master repo. 56*cf78ab8cSAndroid Build Coastguard WorkerBPFMT=$REPO/prebuilts/build-tools/$OS-x86/bin/bpfmt 57*cf78ab8cSAndroid Build Coastguard Workerif [ -f "$BPFMT" ]; then 58*cf78ab8cSAndroid Build Coastguard Worker find $find \( -name "Android.bp" \) \ 59*cf78ab8cSAndroid Build Coastguard Worker -exec $BPFMT -w {} \; 60*cf78ab8cSAndroid Build Coastguard Workerfi 61