Skip to content

Instantly share code, notes, and snippets.

@creio
Created March 24, 2023 16:02
Show Gist options
  • Save creio/910dce4a9fbf2a65edb0e0f26e144845 to your computer and use it in GitHub Desktop.
Save creio/910dce4a9fbf2a65edb0e0f26e144845 to your computer and use it in GitHub Desktop.
jetbra
#!/bin/sh
# https://blog.llinh9ra.ru/%d1%81%d0%be%d1%84%d1%82/%d0%b0%d0%ba%d1%82%d0%b8%d0%b2%d0%b0%d1%86%d0%b8%d1%8f-phpstorm-webstorm-intellij-idea-%d0%b8-%d0%b4%d1%80%d1%83%d0%b3%d0%b8%d0%b5-%d0%bf%d1%80%d0%be%d0%b4%d1%83%d0%ba%d1%82%d1%8b-jetbrains-%d0%b2/#comment-488
set -e
OS_NAME=$(uname -s)
# JB_PRODUCTS="idea clion phpstorm goland pycharm webstorm webide rider datagrip rubymine appcode dataspell gateway jetbrains_client jetbrainsclient studio devecostudio"
JB_PRODUCTS="phpstorm"
BASE_PATH=$(dirname $(
cd $(dirname "$0")
pwd
))
# ZSH_PROFILE_PATH="${HOME}/.zshrc"
JAR_FILE_PATH="${BASE_PATH}/ja-netfilter.jar"
if [ ! -f "${JAR_FILE_PATH}" ]; then
echo 'ja-netfilter.jar not found'
exit -1
fi
MY_VMOPTIONS_SHELL_NAME="jetbrains.vmoptions.sh"
MY_VMOPTIONS_SHELL_FILE="${HOME}/.${MY_VMOPTIONS_SHELL_NAME}"
echo '#!/bin/sh' >"${MY_VMOPTIONS_SHELL_FILE}"
# EXEC_LINE='___MY_VMOPTIONS_SHELL_FILE="${HOME}/.jetbrains.vmoptions.sh"; if [ -f "${___MY_VMOPTIONS_SHELL_FILE}" ]; then . "${___MY_VMOPTIONS_SHELL_FILE}"; fi'
for PRD in $JB_PRODUCTS; do
VM_FILE_PATH="${BASE_PATH}/vmoptions/${PRD}.vmoptions"
if [ ! -f "${VM_FILE_PATH}" ]; then
continue
fi
sed -i '/^\-javaagent:.*[\/\\]ja\-netfilter\.jar.*/d' "${VM_FILE_PATH}"
echo "-javaagent:${JAR_FILE_PATH}=jetbrains" >>"${VM_FILE_PATH}"
ENV_NAME=$(echo $PRD | tr '[a-z]' '[A-Z]')"_VM_OPTIONS"
echo "export ${ENV_NAME}=\"${VM_FILE_PATH}\"" >>"${MY_VMOPTIONS_SHELL_FILE}"
done
# sed -i '/___MY_VMOPTIONS_SHELL_FILE="${HOME}\/\.jetbrains\.vmoptions\.sh"; if /d' "${ZSH_PROFILE_PATH}" >/dev/null 2>&1
# echo "${EXEC_LINE}" >>"${ZSH_PROFILE_PATH}"
echo "done. you'd better log off first!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment