|
4 | 4 | $install_path = '/usr/local/src/wp-cli', |
5 | 5 | $version = 'dev-master', |
6 | 6 |
|
7 | | -) { |
8 | | -include wp |
| 7 | +) inherits wp { |
| 8 | +if $::osfamily == 'Windows' { |
| 9 | +Package { provider => 'chocolatey' } |
| 10 | +} |
9 | 11 |
|
10 | 12 | if 'installed' == $ensure or 'present' == $ensure { |
11 | 13 | # Create the install path |
12 | 14 | file { [ $install_path, "${install_path}/bin" ]: |
13 | 15 | ensure => directory, |
14 | 16 | } |
15 | 17 |
|
16 | | -# Clone the Git repo |
17 | | -exec { 'wp-cli download': |
18 | | -command => "/usr/bin/curl -o ${install_path}/bin/wp -L https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar", |
19 | | -require => [ Package[ 'curl' ], File[ $install_path ] ], |
20 | | -creates => "${install_path}/bin/wp" |
| 18 | +archive { 'wp-cli download': |
| 19 | +ensure => present, |
| 20 | +source => 'https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar', |
| 21 | +path => "${install_path}/bin/wp-cli.phar", |
21 | 22 | } |
22 | 23 |
|
23 | | -# Ensure we can run wp-cli |
24 | | -file { "${install_path}/bin/wp": |
25 | | -ensure => 'present', |
26 | | -mode => 'a+x', |
27 | | -require => Exec[ 'wp-cli download' ] |
28 | | -} |
| 24 | +if $::kernel == 'Linux' { |
| 25 | +file { "${install_path}/bin/${wp::executable_filename}": |
| 26 | +ensure => 'present', |
| 27 | +content => template('wp/wp.sh.erb'), |
| 28 | +mode => 'a+x', |
| 29 | +require => Archive[ 'wp-cli download' ] |
| 30 | +} |
| 31 | + |
| 32 | +# Symlink it across |
| 33 | +file { "${wp::bin_path}/${wp::executable_filename}": |
| 34 | +ensure => link, |
| 35 | +target => "${install_path}/bin/${wp::executable_filename}", |
| 36 | +require => File[ "${install_path}/bin/wp" ], |
| 37 | +} |
| 38 | +} else { |
29 | 39 |
|
30 | | -# Symlink it across |
31 | | -file { "${wp::params::bin_path}/wp": |
32 | | -ensure => link, |
33 | | -target => "${install_path}/bin/wp", |
34 | | -require => File[ "${install_path}/bin/wp" ], |
| 40 | +file { "${install_path}/bin/${wp::executable_filename}": |
| 41 | +ensure => 'present', |
| 42 | +content => template('wp/wp.bat.erb'), |
| 43 | +require => Archive[ 'wp-cli download' ] |
| 44 | +} |
35 | 45 | } |
36 | 46 | } |
37 | 47 | elsif 'absent' == $ensure { |
38 | | -file { "${wp::params::bin_path}/wp": |
| 48 | +file { "${wp::bin_path}/${wp::executable_filename}": |
39 | 49 | ensure => absent, |
40 | 50 | } |
41 | 51 | file { '/usr/local/src/wp-cli': |
42 | 52 | ensure => absent, |
43 | 53 | } |
44 | 54 | } |
45 | 55 |
|
46 | | -if ! defined( Package[ $::wp::php_package ] ) { |
| 56 | +if $::wp::manage_php_package and ! defined( Package[ $::wp::php_package ] ) { |
47 | 57 | package { $::wp::php_package: |
48 | 58 | ensure => installed, |
49 | 59 | } |
50 | 60 | } |
51 | 61 |
|
52 | | -if ! defined(Package['curl']) { |
| 62 | +if $::wp::manage_curl_package and ! defined(Package['curl']) { |
53 | 63 | package { 'curl': |
54 | 64 | ensure => installed, |
55 | 65 | } |
56 | 66 | } |
57 | 67 |
|
58 | | -if ! defined(Package['git']) { |
| 68 | +if $::wp::manage_git_package and ! defined(Package['git']) { |
59 | 69 | package { 'git': |
60 | 70 | ensure => installed, |
61 | 71 | } |
|
0 commit comments