itamae-plugin-recipe-anyenv 0.1.12 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eeec31ea1aacd30ed4ea2ebc1d8891466b05fe63
|
4
|
+
data.tar.gz: 614dfb81cb60ffeb4da94cf72f629d1e962440ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d61a29f0dde20cb0476aa532802c00058a71101a44497c51629356431389d8f4d0f2558b5c7b4017be6f16911f02c673fcbb9480e23789f490c983535891097
|
7
|
+
data.tar.gz: 4bd51fd6393cef68ed8a5bf5e12303338cb4764bfa507976dadd73e3ef1eb916496278bc1a7084ba4244abd2d61d49a4815301b2af2d52c7dba71c5c1c75d780
|
data/README.md
CHANGED
@@ -20,17 +20,17 @@ Or install it yourself as:
|
|
20
20
|
$ gem install itamae-plugin-recipe-anyenv
|
21
21
|
|
22
22
|
## Usage
|
23
|
-
|
23
|
+
### System wide
|
24
24
|
System wide anyenv installation
|
25
25
|
|
26
|
-
|
26
|
+
#### Recipe
|
27
27
|
|
28
28
|
```ruby
|
29
29
|
# your recipe
|
30
30
|
include_recipe "anyenv::system"
|
31
31
|
```
|
32
32
|
|
33
|
-
|
33
|
+
#### Node
|
34
34
|
|
35
35
|
Use this with `itamae -y node.yml`
|
36
36
|
|
@@ -47,7 +47,7 @@ anyenv:
|
|
47
47
|
- 1.0.5
|
48
48
|
```
|
49
49
|
|
50
|
-
|
50
|
+
#### .bashrc
|
51
51
|
|
52
52
|
Recommend to append this to .bashrc in your server.
|
53
53
|
|
@@ -57,6 +57,72 @@ export PATH="${ANYENV_ROOT}/.anyenv/bin:$PATH"
|
|
57
57
|
if which anyenv > /dev/null; then eval "$(anyenv init -)"; fi
|
58
58
|
```
|
59
59
|
|
60
|
+
### Users
|
61
|
+
#### Recipe
|
62
|
+
```ruby
|
63
|
+
# your recipe
|
64
|
+
include_recipe "anyenv::users"
|
65
|
+
```
|
66
|
+
|
67
|
+
#### Node
|
68
|
+
Use this with `itamae -y node.yml`
|
69
|
+
|
70
|
+
```yml
|
71
|
+
anyenv:
|
72
|
+
users:
|
73
|
+
taro:
|
74
|
+
install_envs:
|
75
|
+
- rbenv
|
76
|
+
- exenv
|
77
|
+
install_versions:
|
78
|
+
- rbenv:
|
79
|
+
- 2.2.2
|
80
|
+
- exenv:
|
81
|
+
- 1.0.5
|
82
|
+
jiro:
|
83
|
+
anyenv_root: /opt/jiro/.anyenv
|
84
|
+
install_envs:
|
85
|
+
- ndenv
|
86
|
+
install_versions:
|
87
|
+
- ndenv:
|
88
|
+
- v0.12.7
|
89
|
+
```
|
90
|
+
|
91
|
+
You can configure default attributes:
|
92
|
+
|
93
|
+
```yml
|
94
|
+
anyenv:
|
95
|
+
# default attributes
|
96
|
+
install_envs:
|
97
|
+
- rbenv
|
98
|
+
- exenv
|
99
|
+
install_versions:
|
100
|
+
- rbenv:
|
101
|
+
- 2.2.2
|
102
|
+
- exenv:
|
103
|
+
- 1.0.5
|
104
|
+
|
105
|
+
# users configurations
|
106
|
+
users:
|
107
|
+
taro: {}
|
108
|
+
jiro:
|
109
|
+
install_versions:
|
110
|
+
- rbenv:
|
111
|
+
- 2.2.3
|
112
|
+
```
|
113
|
+
|
114
|
+
In default, use `/home/username/.anyenv` as anyenv root directory.
|
115
|
+
|
116
|
+
#### .bashrc
|
117
|
+
|
118
|
+
Recommend to append this to .bashrc in your server.
|
119
|
+
|
120
|
+
```bash
|
121
|
+
export ANYENV_ROOT="/home/username/.anyenv"
|
122
|
+
export PATH="${ANYENV_ROOT}/bin:$PATH"
|
123
|
+
if which anyenv > /dev/null; then eval "$(anyenv init -)"; fi
|
124
|
+
```
|
125
|
+
|
60
126
|
## License
|
61
127
|
|
62
128
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
@@ -1,44 +1,5 @@
|
|
1
|
-
package "git"
|
2
|
-
|
3
|
-
scheme = "git"
|
4
|
-
scheme = node[:anyenv][:scheme] if node[:anyenv][:scheme]
|
5
|
-
|
6
1
|
require 'itamae/plugin/recipe/anyenv'
|
7
2
|
|
8
|
-
git
|
9
|
-
repository "#{scheme}://github.com/riywo/anyenv.git"
|
10
|
-
end
|
11
|
-
|
12
|
-
git "#{anyenv_root}/plugins/anyenv-update" do
|
13
|
-
repository "#{scheme}://github.com/znz/anyenv-update.git"
|
14
|
-
end
|
15
|
-
|
16
|
-
directory "#{anyenv_root}/envs"
|
17
|
-
|
18
|
-
node[:anyenv][:install_envs].each do |env|
|
19
|
-
execute "install #{env}" do
|
20
|
-
command "#{anyenv_init} anyenv install #{env}"
|
21
|
-
not_if "type #{env}"
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
node[:anyenv][:install_versions].each do |envs|
|
26
|
-
envs.each do |name, vers|
|
27
|
-
vers.each do |ver|
|
28
|
-
execute "#{name} install #{ver}" do
|
29
|
-
command "#{name} install #{ver}"
|
30
|
-
not_if "#{anyenv_init} #{name} versions | grep #{ver}"
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
3
|
+
package "git"
|
35
4
|
|
36
|
-
node[:anyenv]
|
37
|
-
envs.each do |name, vers|
|
38
|
-
execute "#{name} global #{vers.first}" do
|
39
|
-
command "#{name} global #{vers.first}"
|
40
|
-
command "#{name} rehash"
|
41
|
-
not_if "#{anyenv_init} #{name} global | grep #{vers.first}"
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
5
|
+
run(node[:anyenv])
|
@@ -1,16 +1,82 @@
|
|
1
1
|
DEFAULT_RBENV_ROOT = "/usr/local/anyenv".freeze
|
2
2
|
|
3
|
-
def
|
3
|
+
def scheme
|
4
|
+
scheme ||= node[:anyenv][:scheme] || "git"
|
5
|
+
end
|
6
|
+
|
7
|
+
def anyenv_root(username)
|
8
|
+
return anyenv_system_root if username.nil?
|
9
|
+
anyenv_user_root(username)
|
10
|
+
end
|
11
|
+
|
12
|
+
def anyenv_system_root
|
4
13
|
if node[:anyenv] && node[:anyenv][:anyenv_root]
|
5
14
|
return node[:anyenv][:anyenv_root]
|
6
15
|
end
|
7
16
|
DEFAULT_RBENV_ROOT
|
8
17
|
end
|
9
18
|
|
10
|
-
def
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
19
|
+
def anyenv_user_root(username)
|
20
|
+
if node[:anyenv][:users][username].key?(:anyenv_root)
|
21
|
+
return node[:anyenv][:users][username][:anyenv_root]
|
22
|
+
end
|
23
|
+
case node[:platform]
|
24
|
+
when "darwin"
|
25
|
+
"/Users/#{username}/.anyenv"
|
26
|
+
else
|
27
|
+
"/home/#{username}/.anyenv"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def anyenv_init(root_path)
|
32
|
+
init_str = %[export ANYENV_ROOT="#{root_path}"; ]
|
33
|
+
init_str << %[export PATH="#{root_path}/bin:${PATH}"; ]
|
34
|
+
init_str << %[eval "$(anyenv init -)"; ]
|
35
|
+
init_str
|
36
|
+
end
|
37
|
+
|
38
|
+
def run(attributes, username = nil)
|
39
|
+
root_path = anyenv_root(username)
|
40
|
+
init_cmd = anyenv_init(root_path)
|
41
|
+
|
42
|
+
git root_path do
|
43
|
+
user username if username
|
44
|
+
repository "#{scheme}://github.com/riywo/anyenv.git"
|
45
|
+
end
|
46
|
+
|
47
|
+
git "#{root_path}/plugins/anyenv-update" do
|
48
|
+
user username
|
49
|
+
repository "#{scheme}://github.com/znz/anyenv-update.git"
|
50
|
+
end
|
51
|
+
|
52
|
+
attributes[:install_envs].each do |env|
|
53
|
+
execute "install #{env}" do
|
54
|
+
user username if username
|
55
|
+
command "#{init_cmd} anyenv install #{env}"
|
56
|
+
not_if "#{init_cmd} type #{env}"
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
attributes[:install_versions].each do |envs|
|
61
|
+
envs.each do |name, vers|
|
62
|
+
vers.each do |ver|
|
63
|
+
execute "#{name} install #{ver}" do
|
64
|
+
user username if username
|
65
|
+
command "#{init_cmd} #{name} install #{ver}"
|
66
|
+
not_if "#{init_cmd} #{name} versions | grep #{ver}"
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
attributes[:install_versions].each do |envs|
|
73
|
+
envs.each do |name, vers|
|
74
|
+
execute "#{name} global #{vers.first}" do
|
75
|
+
user username if username
|
76
|
+
command "#{init_cmd} #{name} global #{vers.first}; " \
|
77
|
+
"#{init_cmd} #{name} rehash"
|
78
|
+
not_if "#{init_cmd} #{name} global | grep #{vers.first}"
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
16
82
|
end
|
metadata
CHANGED
@@ -1,69 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itamae-plugin-recipe-anyenv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Surume
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: itamae
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.4.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.4.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.10'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.10'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '10.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '10.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
description: Itamae plugin to install anyenv
|
@@ -73,9 +73,9 @@ executables: []
|
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
|
-
-
|
77
|
-
-
|
78
|
-
-
|
76
|
+
- .gitignore
|
77
|
+
- .rspec
|
78
|
+
- .travis.yml
|
79
79
|
- CODE_OF_CONDUCT.md
|
80
80
|
- Gemfile
|
81
81
|
- LICENSE.txt
|
@@ -87,6 +87,7 @@ files:
|
|
87
87
|
- lib/itamae-plugin-recipe-anyenv.rb
|
88
88
|
- lib/itamae/plugin/recipe/anyenv.rb
|
89
89
|
- lib/itamae/plugin/recipe/anyenv/system.rb
|
90
|
+
- lib/itamae/plugin/recipe/anyenv/users.rb
|
90
91
|
- lib/itamae/plugin/recipe/anyenv/version.rb
|
91
92
|
homepage: https://github.com/Surume/itamae-plugin-recipe-anyenv
|
92
93
|
licenses:
|
@@ -98,17 +99,17 @@ require_paths:
|
|
98
99
|
- lib
|
99
100
|
required_ruby_version: !ruby/object:Gem::Requirement
|
100
101
|
requirements:
|
101
|
-
- -
|
102
|
+
- - '>='
|
102
103
|
- !ruby/object:Gem::Version
|
103
104
|
version: '0'
|
104
105
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
106
|
requirements:
|
106
|
-
- -
|
107
|
+
- - '>='
|
107
108
|
- !ruby/object:Gem::Version
|
108
109
|
version: '0'
|
109
110
|
requirements: []
|
110
111
|
rubyforge_project:
|
111
|
-
rubygems_version: 2.
|
112
|
+
rubygems_version: 2.0.14
|
112
113
|
signing_key:
|
113
114
|
specification_version: 4
|
114
115
|
summary: Itamae plugin to install anyenv
|