#!/usr/bin/env bash
#  Licensed to the Apache Software Foundation (ASF) under one
#  or more contributor license agreements.  See the NOTICE file
#  distributed with this work for additional information
#  regarding copyright ownership.  The ASF licenses this file
#  to you under the Apache License, Version 2.0 (the
#  "License"); you may not use this file except in compliance
#  with the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing,
#  software distributed under the License is distributed on an
#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
#  KIND, either express or implied.  See the License for the
#  specific language governing permissions and limitations
#  under the License.
set -e

function cleanup() {
    rm -rf dist/apache*libcloud*.*
    pip uninstall -y apache-libcloud || true
}

cleanup

trap cleanup EXIT

# Verify library installs without any dependencies when using source
# tarball
echo "Running dist install checks"
python --version

# Ensure those packages are not installed. If they are, it indicates unclean
# environment so those checks won't work correctly
pip show requests && exit 1
pip show typing && exit 1
pip show enum34 && exit 1
pip show apache-libcloud && exit 1

# Build and install the library
pip install build
python -m build
pip install dist/apache_libcloud-*.tar.gz

# Verify the library has been installed and perform basic sanity check
pip show apache-libcloud
python -c "import libcloud; print(libcloud.__version__)"

# Verify all dependencies were installed
pip show requests
pip show typing && exit 1
pip show enum34 && exit 1

echo "Done"
