#!/usr/bin/env bash

# Yocto Project layer check tool wrapper
#
# Creates a temporary build directory to run the yocto-check-layer
# script to avoid a contaminated environment.
#
# Copyright (C) 2017 Intel Corporation
# Released under the MIT license (see COPYING.MIT)

if [ -z "$BUILDDIR" ]; then
	echo "Please source oe-init-build-env before run this script."
	exit 2
fi

# since we are using a temp directory, use the realpath for output
# log option
output_log=''
while getopts o: name
do
	case $name in
	o) output_log=$(realpath "$OPTARG")
	esac
done
shift $(($OPTIND - 1))

# generate a temp directory to run check layer script
base_dir=$(realpath $BUILDDIR/../)
cd $base_dir

build_dir=$(mktemp -p $base_dir -d -t build-XXXX)

this_dir=$(dirname $(readlink -f $0))

source $this_dir/../oe-init-build-env $build_dir
if [[ $output_log != '' ]]; then
	yocto-check-layer -o "$output_log" "$*"
else
	yocto-check-layer "$@"
fi
retcode=$?

rm -rf $build_dir

exit $retcode
