xref: /aosp_15_r20/external/grpc-grpc/src/ruby/nativedebug/build_package.sh (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker#!/bin/bash
2*cc02d7e2SAndroid Build Coastguard Worker# Copyright 2023 gRPC authors.
3*cc02d7e2SAndroid Build Coastguard Worker#
4*cc02d7e2SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
5*cc02d7e2SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
6*cc02d7e2SAndroid Build Coastguard Worker# You may obtain a copy of the License at
7*cc02d7e2SAndroid Build Coastguard Worker#
8*cc02d7e2SAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
9*cc02d7e2SAndroid Build Coastguard Worker#
10*cc02d7e2SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
11*cc02d7e2SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
12*cc02d7e2SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*cc02d7e2SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
14*cc02d7e2SAndroid Build Coastguard Worker# limitations under the License.
15*cc02d7e2SAndroid Build Coastguard Worker
16*cc02d7e2SAndroid Build Coastguard Workerset -ex
17*cc02d7e2SAndroid Build Coastguard Worker
18*cc02d7e2SAndroid Build Coastguard Workercd "$(dirname $0)"
19*cc02d7e2SAndroid Build Coastguard Worker
20*cc02d7e2SAndroid Build Coastguard WorkerPLATFORM="$1"
21*cc02d7e2SAndroid Build Coastguard Workerif [[ "$PLATFORM" == "" ]]; then
22*cc02d7e2SAndroid Build Coastguard Worker  echo "first argument must be a ruby gem platform"
23*cc02d7e2SAndroid Build Coastguard Worker  exit 1
24*cc02d7e2SAndroid Build Coastguard Workerfi
25*cc02d7e2SAndroid Build Coastguard Worker
26*cc02d7e2SAndroid Build Coastguard Workerif ! test -d symbols; then
27*cc02d7e2SAndroid Build Coastguard Worker  echo "directory $(pwd)/symbols should exist and be populated with .dbg symbolf files before running this script"
28*cc02d7e2SAndroid Build Coastguard Worker  exit 1
29*cc02d7e2SAndroid Build Coastguard Workerfi
30*cc02d7e2SAndroid Build Coastguard Workerfor f in "$(ls symbols)"; do
31*cc02d7e2SAndroid Build Coastguard Worker  echo "checking symbol file: $f"
32*cc02d7e2SAndroid Build Coastguard Worker  if [[ "$f" != *.dbg ]]; then
33*cc02d7e2SAndroid Build Coastguard Worker    echo "symbol file names should end in .dbg"
34*cc02d7e2SAndroid Build Coastguard Worker    exit 1
35*cc02d7e2SAndroid Build Coastguard Worker  fi
36*cc02d7e2SAndroid Build Coastguard Workerdone
37*cc02d7e2SAndroid Build Coastguard Worker
38*cc02d7e2SAndroid Build Coastguard Workerrm -r tmp || true
39*cc02d7e2SAndroid Build Coastguard Workerrm -r pkg || true
40*cc02d7e2SAndroid Build Coastguard Workermkdir -p tmp
41*cc02d7e2SAndroid Build Coastguard Workermkdir -p pkg
42*cc02d7e2SAndroid Build Coastguard Worker
43*cc02d7e2SAndroid Build Coastguard Worker# we need to generate some package contents dynamically
44*cc02d7e2SAndroid Build Coastguard Workercp -p grpc-native-debug.gemspec tmp
45*cc02d7e2SAndroid Build Coastguard Workercp -p README.md tmp
46*cc02d7e2SAndroid Build Coastguard Workercp -p version.rb tmp
47*cc02d7e2SAndroid Build Coastguard Workercp -p platform.rb tmp
48*cc02d7e2SAndroid Build Coastguard Workersed -i "s/# GENERATED BY BUILD_PACKAGES SCRIPT/'${PLATFORM}'/" tmp/platform.rb
49*cc02d7e2SAndroid Build Coastguard Workermkdir -p tmp/symbols
50*cc02d7e2SAndroid Build Coastguard Workercp -p symbols/*"$PLATFORM"*.dbg tmp/symbols
51*cc02d7e2SAndroid Build Coastguard Worker
52*cc02d7e2SAndroid Build Coastguard Worker# build
53*cc02d7e2SAndroid Build Coastguard Workercd tmp
54*cc02d7e2SAndroid Build Coastguard Workergem build grpc-native-debug.gemspec
55*cc02d7e2SAndroid Build Coastguard Workercp grpc-native-debug*.gem ../pkg
56