xref: /aosp_15_r20/external/linux-firmware/run_copybara.sh (revision 2764adbb83be75699e7e173cb61cdbf8f430c544)
1*2764adbbSAndroid Build Coastguard Worker#!/bin/bash
2*2764adbbSAndroid Build Coastguard Worker#
3*2764adbbSAndroid Build Coastguard Worker# Script to invoke copybara to generate an 'IMPORT:' change for linux-firmware.
4*2764adbbSAndroid Build Coastguard Worker#
5*2764adbbSAndroid Build Coastguard Worker# Copyright (C) 2024 The Android Open Source Project
6*2764adbbSAndroid Build Coastguard Worker#
7*2764adbbSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
8*2764adbbSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
9*2764adbbSAndroid Build Coastguard Worker# You may obtain a copy of the License at
10*2764adbbSAndroid Build Coastguard Worker#
11*2764adbbSAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
12*2764adbbSAndroid Build Coastguard Worker#
13*2764adbbSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
14*2764adbbSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
15*2764adbbSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16*2764adbbSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
17*2764adbbSAndroid Build Coastguard Worker# limitations under the License.
18*2764adbbSAndroid Build Coastguard Worker
19*2764adbbSAndroid Build Coastguard Workerset -e
20*2764adbbSAndroid Build Coastguard Worker
21*2764adbbSAndroid Build Coastguard Workerdie () {
22*2764adbbSAndroid Build Coastguard Worker	>&2 echo "$1"
23*2764adbbSAndroid Build Coastguard Worker	exit 1
24*2764adbbSAndroid Build Coastguard Worker}
25*2764adbbSAndroid Build Coastguard Worker
26*2764adbbSAndroid Build Coastguard Workerfw_name="$1"
27*2764adbbSAndroid Build Coastguard Workerif [[ -z "${fw_name}" ]]; then
28*2764adbbSAndroid Build Coastguard Worker	die "Usage: $0 [fw_name]"
29*2764adbbSAndroid Build Coastguard Workerfi
30*2764adbbSAndroid Build Coastguard Worker
31*2764adbbSAndroid Build Coastguard Worker# Save the name of the current branch so we can get back to it.
32*2764adbbSAndroid Build Coastguard Workercopybara_branch="$(git branch --show-current)"
33*2764adbbSAndroid Build Coastguard Workerif [[ -z "${copybara_branch}" ]]; then
34*2764adbbSAndroid Build Coastguard Worker	die "You must be on a branch before running"
35*2764adbbSAndroid Build Coastguard Workerfi
36*2764adbbSAndroid Build Coastguard Worker
37*2764adbbSAndroid Build Coastguard Worker# If something fails go back to the branch we were on.
38*2764adbbSAndroid Build Coastguard Workertrap "git checkout '${copybara_branch}'" EXIT
39*2764adbbSAndroid Build Coastguard Worker
40*2764adbbSAndroid Build Coastguard Worker# We're going to tell copybara to "push" to our branch. That fails
41*2764adbbSAndroid Build Coastguard Worker# if it's already checked out, so checkout the same location but
42*2764adbbSAndroid Build Coastguard Worker# without a branch name
43*2764adbbSAndroid Build Coastguard Workergit checkout --detach
44*2764adbbSAndroid Build Coastguard Worker
45*2764adbbSAndroid Build Coastguard Worker# Run copybara
46*2764adbbSAndroid Build Coastguard Workercopybara --force migrate copy.bara.sky \
47*2764adbbSAndroid Build Coastguard Worker	--git-destination-url="$(dirname "$(readlink -f "$0")")" \
48*2764adbbSAndroid Build Coastguard Worker	--git-destination-push="${copybara_branch}" \
49*2764adbbSAndroid Build Coastguard Worker	"${fw_name}"
50*2764adbbSAndroid Build Coastguard Worker
51*2764adbbSAndroid Build Coastguard Workergit checkout "${copybara_branch}"
52*2764adbbSAndroid Build Coastguard Worker
53*2764adbbSAndroid Build Coastguard Worker# Get a Change-Id added.
54*2764adbbSAndroid Build Coastguard Workergit commit --amend --no-edit
55