#!/bin/sh
# -*- sh-basic-offset: 2 -*-

##
# Copyright (c) 2005-2017 Apple Inc. All rights reserved.
#
# Licensed 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;
set -u;

if [ -z "${wd:-}" ]; then
  wd="$(cd "$(dirname "$0")/.." && pwd)";
fi;

. "${wd}/bin/_build.sh";

develop;

cd ${wd};


#
# Link to scripts for convenience
#
find .develop/virtualenv/bin -type f -name "calendarserver_*" | {
  while read source; do
    target="${wd}/bin/$(basename ${source})";

    rm -f "${target}";
    case "$(basename ${target})" in
        calendarserver_dashboard|calendarserver_dashcollect|calendarserver_dashview)
            cat << __END__ > "${target}"
#!/bin/sh

export PATH="${PATH:-}";
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:-}";
export DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH:-}";

exec "\$(dirname \$0)/../${source}" "\$@";
__END__
;;
        *)
            cat << __END__ > "${target}"
#!/bin/sh

export PATH="${PATH:-}";
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:-}";
export DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH:-}";

exec "\$(dirname \$0)/../${source}" --config "${wd}/conf/caldavd-dev.plist" "\$@";
__END__
    ;;
    esac
    chmod +x "${target}";

  done;
}


#
# Create a subprojects directory with -e checkouts for convenience.
#
find .develop/virtualenv/src -mindepth 1 -maxdepth 1 -type d | {
  while read source; do
    deps="${wd}/subprojects";
    mkdir -p "${deps}";

    target="${deps}/$(basename ${source} | sed 's|twextpy|twext|')";

    if [ -L "${target}" ]; then
      rm "${target}";
    fi;

    ln -s "../${source}" "${target}";

    # NO! This causes bin/develop to hang the second time it is run
    #rm -f "${target}/.develop";
    #ln -s "${wd}/.develop" "${target}/.develop";
  done;
}

#
# Do keychain init on OS X
#
if [ -z "${USE_OPENSSL-}" ]; then
  case "$(uname -s)" in
    Darwin)
      echo "Keychain init."
      bin/python bin/keychain_init.py
      ;;
  esac;
fi;

echo "Dependency setup complete."
