#!/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.


# Override JAVA_NATIVE_PATH in the file below if you want to disable
# automatic library detection
BIGTOP_DEFAULTS_DIR=${BIGTOP_DEFAULTS_DIR-/etc/default}
[ -n "${BIGTOP_DEFAULTS_DIR}" -a -r ${BIGTOP_DEFAULTS_DIR}/bigtop-utils ] && . ${BIGTOP_DEFAULTS_DIR}/bigtop-utils

# ensure that java has already been found
if [ -z "$JAVA_HOME" ]; then
  echo "JAVA_HOME must be set before calling bigtop-detect-javalibs"
  exit 1
fi

# attempt to find native java libraries
if [ -z "$JAVA_NATIVE_PATH" ]; then
  for library in $JAVA_NATIVE_LIBS; do
    if [ -z "$libraries_predicate" ]; then
      libraries_predicate="-name $library"
    else
      libraries_predicate="$libraries_predicate -o -name $library"
    fi
  done
  library_paths=`find -L ${JAVA_HOME} \( $libraries_predicate \) -exec dirname {} \; | sort -u`
  for library_path in $library_paths; do
    if [ -z "$JAVA_NATIVE_PATH" ]; then
      export JAVA_NATIVE_PATH="$library_path"
    else
      export JAVA_NATIVE_PATH="$library_path:$JAVA_NATIVE_PATH"
    fi
  done
  if [ -z "$JAVA_NATIVE_PATH" ]; then
    echo "Unable to find native Java libraries in $JAVA_HOME"
    exit 2
  fi
fi

