#                           PUBLIC DOMAIN NOTICE
#              National Center for Biotechnology Information
#  
# This software is a "United States Government Work" under the
# terms of the United States Copyright Act.  It was written as part of
# the authors' official duties as United States Government employees and
# thus cannot be copyrighted.  This software is freely available
# to the public for use.  The National Library of Medicine and the U.S.
# Government have not placed any restriction on its use or reproduction.
#   
# Although all reasonable efforts have been taken to ensure the accuracy
# and reliability of the software and data, the NLM and the U.S.
# Government do not and cannot warrant the performance or results that
# may be obtained by using this software or data.  The NLM and the U.S.
# Government disclaim all warranties, express or implied, including
# warranties of performance, merchantability or fitness for any particular
# purpose.
#   
# Please cite NCBI in any work or product based on this material.
#
# Makefile for script to test GCP permissions to run ElasticBLAST
# Created: Tue Nov 23 09:11:15 2021

SHELL=/bin/bash
.PHONY: all clean check

VENV=.env

all: ${VENV}
	@[ ! -z "${GOOGLE_APPLICATION_CREDENTIALS}" ] || { echo "GOOGLE_APPLICATION_CREDENTIALS environment variable must be defined"; exit 1; }
	@[ -s "${GOOGLE_APPLICATION_CREDENTIALS}" ] || { echo "GOOGLE_APPLICATION_CREDENTIALS environment variable must refer to a file"; exit 1; }
	command -v gcloud >& /dev/null && \
		{ source ${VENV}/bin/activate && ./test-gcp-permissions.py --project `gcloud config get-value project`; } || \
		{ source ${VENV}/bin/activate && ./test-gcp-permissions.py; }

check: ${VENV}
	source ${VENV}/bin/activate && python3 -m py_compile test-gcp-permissions.py

${VENV}: requirements.txt
	[ -d ${VENV} ] || python3 -m venv $@
	source ${VENV}/bin/activate && pip install -r $^

clean:
	${RM} -r ${VENV}
