Skip to content

Instantly share code, notes, and snippets.

@cmuench
Created January 27, 2012 11:20
Show Gist options
  • Save cmuench/1688343 to your computer and use it in GitHub Desktop.
Save cmuench/1688343 to your computer and use it in GitHub Desktop.
Puppet to install PHPStorm
modules
└── dev-tools
├── files
│   └── phpstorm.vmoptions
├── templates
│   └── phpstorm.desktop.erb
└── manifests
├── init.pp
└── phpstorm.pp
[Desktop Entry]
Encoding=UTF-8
Exec=export AWT_TOOLKIT=MLtoolkit; /bin/sh /opt/PhpStorm-<%= revision %>/bin/phpstorm.sh
Icon=/opt/PhpStorm-<%= revision %>/bin/webide.png
Icon[de_DE]=/opt/PhpStorm-<%= revision %>/bin/webide.png
Name=PhpStorm
Name[de_DE]=PhpStorm
Type=Application
Categories=Development;Application
class dev-tools::phpstorm ($version = "3.0", $revision = "111.19", $eap = false) {
exec { "download-phpstorm":
unless => "/usr/bin/test -d /opt/PhpStorm-${revision}",
cwd => "/tmp",
command => $eap ? {
true => "/usr/bin/wget http://download.jetbrains.com/webide/PhpStorm-EAP-${revision}.tar.gz",
false => "/usr/bin/wget http://download.jetbrains.com/webide/PhpStorm-${revision}.tar.gz",
},
creates => "/tmp/PhpStorm-${version}.tar.gz"
}
exec { "untar-phpstorm":
cwd => "/opt",
command => $eap ? {
true => "/bin/tar xvfz /tmp/PhpStorm-EAP-${revision}.tar.gz",
false => "/bin/tar xvfz /tmp/PhpStorm-${revision}.tar.gz",
},
creates => "/opt/PhpStorm-${revision}",
require => [Exec["download-phpstorm"]]
}
file { "/opt/PhpStorm-${revision}/bin/phpstorm.vmoptions":
source => "puppet:///modules/dev-tools/phpstorm/phpstorm.vmoptions"
}
file { "/usr/share/applications/phpstorm.desktop":
content => template("dev-tools/phpstorm.desktop.erb")
}
}
-Xms32m
-Xmx1024m
-XX:MaxPermSize=150m
-ea
-Didea.platform.prefix=PhpStorm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment