81 lines
2.3 KiB
Bash
Executable File
81 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
. ./libs_track.sh.inc
|
|
|
|
#rm -rf deps
|
|
#./build_osmocom_libs.sh
|
|
|
|
base="$PWD"
|
|
deps="$base/deps"
|
|
inst="$deps/install"
|
|
profiles="$base/profiles"
|
|
build="$base/build"
|
|
deploy="$base/deploy"
|
|
|
|
#rm -rf "$deploy"
|
|
|
|
project=${1:-libosmocore}
|
|
action=${2:-report}
|
|
|
|
if [ "$action" != "prepare" ] && [ "$action" != "report" ]; then
|
|
echo "Non supported action"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
generate_input_ext() {
|
|
project="$1"
|
|
version="$2"
|
|
project_underscore="$(echo $project | sed "s/-/_/g")"
|
|
input="$base/input/$project/$version" # this is the format used in profile files
|
|
mkdir -p "$input"
|
|
#abi-tracker expects to find files, not symlinks:
|
|
libs_var="LIBRARIES_${project_underscore}"
|
|
libs="${!libs_var}"
|
|
for f in $libs; do
|
|
orig="$(readlink -f $inst/lib/$f.so)"
|
|
cp -v $orig "$input/$(basename $orig)"
|
|
done
|
|
|
|
#abi-tracker looks for headers under Installed. Again, it doesn't support symlinks.
|
|
cp -rL $(readlink -f "$inst/include") "$input/include"
|
|
}
|
|
|
|
generate_abi_dump_ext() {
|
|
project="$1"
|
|
version="$2"
|
|
echo "Generating report for $project $version ($profiles/$project.json)"
|
|
mkdir -p "$build" "$deploy"
|
|
pushd "$build"
|
|
abi-tracker -rebuild -t abidump -deploy "$deploy" -v "$version" "$profiles/$project.json"
|
|
abi-tracker -rebuild -t abireport -deploy "$deploy" -v "$version" "$profiles/$project.json"
|
|
abi-tracker -rebuild -global-index -t date -deploy "$deploy" -v "$version" "$profiles/$project.json"
|
|
cp "$build/index.html" "$deploy/index.html"
|
|
popd
|
|
}
|
|
|
|
generate_input() {
|
|
project="$1"
|
|
project_underscore="$(echo $project | sed "s/-/_/g")"
|
|
version_var="VERSION_${project_underscore}"
|
|
version="${!version_var}"
|
|
generate_input_ext "$project" "$version"
|
|
}
|
|
|
|
generate_abi_dump() {
|
|
project="$1"
|
|
project_underscore="$(echo $project | sed "s/-/_/g")"
|
|
version_var="VERSION_${project_underscore}"
|
|
version="${!version_var}"
|
|
generate_abi_dump_ext "$project" "$version"
|
|
}
|
|
|
|
if [ "$action" == "prepare" ]; then
|
|
./build_osmocom_libs.sh $project
|
|
generate_input $project
|
|
elif [ "$action" == "report" ]; then
|
|
generate_abi_dump $project
|
|
fi
|