| @ -0,0 +1,75 @@ | |||
| #!/bin/sh -e | |||
| # IntelliJ installer script for TigerOS | |||
| # author: Josh Bicking <jhb2345@rit.edu> | |||
| DEPS=java-1.8.0-openjdk | |||
| PROG="IntelliJ IDEA Community Edition" | |||
| PROG_SHORT=idea-ce | |||
| VERSION=idea-IC-171.4073.35 | |||
| TEMP_FILE=/tmp/ideaIC-2017.1.1.tar.gz | |||
| FILE=/usr/share/java/$VERSION/bin/idea.sh | |||
| FILE_DIR=/usr/share/java/$VERSION/ | |||
| FILE_URL=https://download.jetbrains.com/idea/ideaIC-2017.1.1.tar.gz | |||
| LINK=/usr/local/bin/idea-ce | |||
| ICON=/usr/share/java/$VERSION/bin/idea.png | |||
| # Check that the current user is root | |||
| if [ $EUID != 0 ] | |||
| then | |||
| echo "Please run this script as root (sudo $@$0)." | |||
| exit | |||
| fi | |||
| ## Removal | |||
| # Check if remove flag was passed | |||
| if [ ! -z "$1" ] && [ "$1" = "-remove" ] | |||
| then | |||
| rm $LINK | |||
| rm /usr/local/share/applications/jetbrains-idea-ce.desktop | |||
| rm -rf $FILE_DIR | |||
| # Remove local links if they were created | |||
| for i in `ls /home/` | |||
| do | |||
| rm -f /home/$i/.local/share/applications/jetbrains-idea-ce.desktop | |||
| done | |||
| else | |||
| ## Installation | |||
| # Install dependencies | |||
| dnf install $DEPS -y | |||
| # Get the files | |||
| wget -O $TEMP_FILE $FILE_URL | |||
| # Extract the files | |||
| tar -xf $TEMP_FILE -C /usr/share/java/ | |||
| # Make a link | |||
| ln -s $FILE $LINK | |||
| chmod +x $LINK | |||
| chmod -R 755 $FILE_DIR | |||
| # Make a desktop file | |||
| # IDEA's first time setup allows the user to make this file. Naming it as such means the user won't get a duplicate entry. | |||
| cat > /usr/local/share/applications/jetbrains-idea-ce.desktop <<EOF | |||
| [Desktop Entry] | |||
| Version=1.0 | |||
| Type=Application | |||
| Name=$PROG | |||
| Comment=The Drive to Develop | |||
| Exec=$LINK %f | |||
| Icon=$ICON | |||
| Terminal=false | |||
| Categories=Development;IDE;Java; | |||
| StartupWMClass=jetbrains-idea-ce | |||
| EOF | |||
| # Clean up | |||
| rm $TEMP_FILE | |||
| fi | |||