Skip to content
Snippets Groups Projects
Select Git revision
  • 1edb0ebd45ec9d4a4bd65192a0d362a425d2a713
  • master default protected
  • dev
  • v2.0.0
  • v0.4.0
  • v0.3.0
  • v0.2.9
  • v0.2.8
  • v0.2.7
  • v0.2.6
  • v0.1.0
  • v0.2.5
  • v0.2.4
  • v0.2.3
  • v0.2.2
  • v0.2.1
  • v0.2.0
  • v0.1.2
18 results

update_tools.sh

Blame
  • update_tools.sh 2.88 KiB
    #/bin/sh
    
    # A POSIX variable
    OPTIND=1
    
    # Initialize our own variables:
    tool=""
    version=""
    
    while getopts "h?v:t:p:" opt; do
      case "${opt}" in
      h|\?)
        echo "update_tools.sh -t toolname -v tool_version -p tool_previous_version"
        exit 0
        ;;
      v)
        version=${OPTARG}
        ;;
      p)
        prev_version=${OPTARG}
        ;;
      t)
        tool=${OPTARG}
        ;;
      esac
    done
    
    echo "tool=${tool}, version='${version}', previous version='${version}'"
    
    docker_tool_dir="src/docker_modules/"${tool}"/"
    echo ${docker_tool_dir}
    if [ -d ${docker_tool_dir} ]; then
      echo "docker module found for ${tool}."
      if [ -d ${docker_tool_dir}${version} ]; then
        echo "version already existing, skipping."
      else
        cp -R ${docker_tool_dir}${prev_version} ${docker_tool_dir}${version}
        sed -i "s|${prev_version}|${version}|g" "${docker_tool_dir}${version}/Dockerfile"
        sed -i "s|${prev_version}|${version}|g" "${docker_tool_dir}${version}/docker_init.sh"
        echo "docker_module for ${tool}:${version}, done."
      fi
    else
      echo "docker module not found for '${tool}', skipping."
    fi
    
    singularity_tool_dir="src/singularity_modules/"${tool}"/"
    echo ${singularity_tool_dir}
    if [ -d ${singularity_tool_dir} ]; then
      echo "singularity module found for $tool."
      if [ -d ${singularity_tool_dir}${version} ]; then
        echo "version already existing, skipping."
      else
        cp -R ${singularity_tool_dir}${prev_version} ${singularity_tool_dir}${version}
        sed -i "s|${prev_version}|${version}|g" "${singularity_tool_dir}${version}/${tool}.def"
        sed -i "s|${prev_version}|${version}|g" "${singularity_tool_dir}${version}/build.sh"
        echo "singularity_module for ${tool}:${version}, done."
      fi
    else
      echo "singularity module not found for '${tool}', skipping."
    fi
    
    nf_tool_dir="src/nf_modules/"$tool"/"
    echo $nf_tool_dir
    if [ -d ${nf_tool_dir} ]; then
      echo "nf module found for ${tool}."
      find ${nf_tool_dir} -maxdepth 1 -mindepth 1 -type f -name "*.config" |
        awk "{system(\"sed -i \\\"s|${prev_version}|${version}|g\\\" \"\$0)}"
      echo "nf_module for ${tool}:${version}, done."
    else
      echo "nf module not found for '${tool}', skipping."
    fi
    
    psmn_modules_dir="src/psmn_modules/.git/"
    if [ ! -d ${nf_tool_dir} ]; then
      git submodule init && \
      git submodule update
    fi
    psmn_tool_app_dir="src/psmn_modules/apps/"${tool}"/"
    psmn_tool_module_dir="src/psmn_modules/modulefiles/"${tool}"/"
    echo ${psmn_tool_app_dir}
    if [ -d ${psmn_tool_app_dir} ]; then
      echo "psmn module found for ${tool}."
      cp ${psmn_tool_app_dir}/install_${prev_version}.sh \
        ${psmn_tool_app_dir}/install_${version}.sh
      sed -i "s|$prev_version|$version|g" ${psmn_tool_app_dir}/install_${version}.sh
      cp ${psmn_tool_module_dir}/${prev_version}.lua \
        ${psmn_tool_module_dir}/${version}.lua
      sed -i "s|${prev_version}|${version}|g" ${psmn_tool_module_dir}/${version}.lua
      echo "psmn_module for ${tool}:${version}, done."
    else
      echo "psmn module not found for '${tool}', skipping."
    fi