#!/bin/bash

function pEpPrefix() {
  export PREFIX_OLD=${PREFIX}
  export PREFIX=${1}

  LIB_PATH_OLD=${PREFIX_OLD}/lib
  LIB_PATH=${PREFIX}/lib
  export DYLD_LIBRARY_PATH=$(echo ${DYLD_LIBRARY_PATH} | sed 's|${LIB_PATH_OLD}||')
  export DYLD_LIBRARY_PATH=${LIB_PATH}:${DYLD_LIBRARY_PATH}

  BIN_PATH_OLD=${PREFIX_OLD}/bin
  BIN_PATH=${PREFIX}/bin
  export PATH=$(echo ${PATH} | sed 's|${BIN_PATH_OLD}||')
  export PATH=${BIN_PATH}:${PATH}

  echo PREFIX=${PREFIX}
  echo DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}
  echo PATH=${PATH}
}

# Delete symlinks in the pEpPythonAdapter (to allow "project search")
function pEpPythonAdapterRmSymlinks() {
  for i in $(find . -type l | grep -i lib); do { rm -v $i; }; done
}

# pEp Fresh Repo Clones
export PEP_LOCAL_CONF_DIR=$HOME/src/pEp/conf/

function clone_pEpEngine32() {
  git clone https://gitea.pep.foundation/pEp.foundation/pEpEngine.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.pEpEngine32 local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.pEpEngine .idea
}

function clone_pEpEngine21() {
  git clone https://gitea.pep.foundation/pEp.foundation/pEpEngine.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.pEpEngine21 local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.pEpEngine .idea
}

function clone_pEpPythonAdapter32() {
  git clone https://gitea.pep.foundation/pEp.foundation/pEpPythonAdapter.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.pEpPythonAdapter32 local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.pEpPythonAdapter .idea
}

function clone_pEpPythonAdapter21() {
  git clone https://gitea.pep.foundation/pEp.foundation/pEpPythonAdapter.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.pEpPythonAdapter21 local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.pEpPythonAdapter .idea
}

function clone_pEpJNIAdapter32() {
  git clone https://gitea.pep.foundation/pEp.foundation/pEpJNIAdapter.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.pEpJNIAdapter32 local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.pEpJNIAdapter .idea
}

function clone_pEpJNIAdapter21() {
  git clone https://gitea.pep.foundation/pEp.foundation/pEpJNIAdapter.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.pEpJNIAdapter21 local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.pEpJNIAdapter .idea
}

function clone_pEpJSONAdapter32() {
  git clone https://gitea.pep.foundation/pEp.foundation/pEpJSONServerAdapter.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.pEpJSONAdapter32 local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.pEpJSONAdapter .idea
}

function clone_pEpJSONAdapter21() {
  git clone https://gitea.pep.foundation/pEp.foundation/pEpJSONServerAdapter.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.pEpJSONAdapter21 local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.pEpJSONAdapter .idea
}

function clone_libpEpAdapter32() {
  git clone https://gitea.pep.foundation/pEp.foundation/libpEpAdapter.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.libpEpAdapter32 local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.libpEpAdapter .idea
}

function clone_libpEpAdapter21() {
  git clone https://gitea.pep.foundation/pEp.foundation/libpEpAdapter.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.libpEpAdapter21 local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.libpEpAdapter .idea
}

function clone_rce() {
  git clone https://gitea.pep.foundation/pEp.foundation/RCE .
  cp $PEP_LOCAL_CONF_DIR/local.conf.rce local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.rce .idea
}

function clone_libpEpDatatypes() {
  git clone https://gitea.pep.foundation/pEp.foundation/libpEpDatatypes.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.libpEpDatatypes local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.libpEpDatatypes .idea
}

function clone_libpEpTransport() {
  git clone https://gitea.pep.foundation/pEp.foundation/libpEpTransport.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.libpEpTransport local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.libpEpTransport .idea
}

function clone_pitytest11() {
  git clone https://gitea.pep.foundation/pEp.foundation/PityTest11.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.PityTest11 local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.PityTest11 .idea
}

function clone_libpEpCxx11() {
  git clone https://gitea.pep.foundation/pEp.foundation/libpEpCxx11.git .
  cp $PEP_LOCAL_CONF_DIR/local.conf.libpEpCxx11 local.conf
  cp -r $PEP_LOCAL_CONF_DIR/intellij/.idea.libpEpCxx11 .idea
}

function clone_devWiki() {
  git clone ssh://wiki/var/lib/gitit/wikidata .
}

function clone_libtorrent() {
  git clone --recurse-submodules https://github.com/arvidn/libtorrent.git .
}

function mount_pepsioux() {
  sudo mount -t nfs -o resvport pepsioux:/home/heck /Volumes/pepsioux
}

alias test_pEpPythonAdapter='python3 -c "import pEp;"'
pEpPrefix /Users/heck/local-3x