#!/usr/bin/env bash

package_extension_setup()
{
  local extension="${1}" module="${2}" path="${3}" ${language:=shell}

  enter "${path}"

  ensure_paths_exist "modules/${language}/${module}" "actions/${module}"

  for file in dsl initialize cli
  do
    write '#!/usr/bin/env bash' to "modules/${language}/${module}/${file}"
  done

  write "\n${module}_cli\n" append to "modules/${language}/${module}/cli"

  write "#!/usr/bin/env bash
description \"Extension for managing ${extension} \${website_url:-}.\"

action \"package install\" \"Installs ${extension} package.\"
action \"package uninstall\" \"Uninstalls ${extension} package.\"
action \"package update\" \"Updates ${extension} package to the latest known version.\"

show_help usage
" append to "actions/${module}/help"
  chmod_files 0755 "actions/${module}/help"

  for action in install uninstall update
  do
    write "${action}=${module}_${action}()" append to "actions/${module}/.actions"
  done
  chmod_files 0755 "actions/${module}/.actions"
}

