vvm-rb 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.coveralls.yml +0 -1
- data/README.rdoc +7 -3
- data/VERSION +1 -1
- data/lib/vvm-rb/accesser.rb +9 -12
- data/lib/vvm-rb/base.rb +19 -0
- data/lib/vvm-rb/cli.rb +2 -2
- data/lib/vvm-rb/installer.rb +7 -6
- data/lib/vvm-rb/switcher.rb +2 -6
- data/lib/vvm-rb/uninstaller.rb +2 -6
- data/lib/vvm-rb/validator.rb +10 -23
- data/lib/vvm-rb/version.rb +4 -2
- data/lib/vvm-rb.rb +2 -0
- data/spec/installer_spec.rb +9 -0
- data/spec/spec_helper.rb +6 -1
- data/spec/validator_spec.rb +1 -1
- data/vvm-rb.gemspec +4 -4
- metadata +3 -3
- data/spec/vvm-rb_spec.rb +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6460e5f25ab99eb833d852445ecfe65a3443d1d6
|
4
|
+
data.tar.gz: bef91e26064a61d186ab25b764089c0b84948584
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2939f83821f0a37d90aca329703bd88dc671742b5134bd93cad0f4d6b90d8e5611887de95eb422b5e32357171ea798361fce24eb14a35d5af29cd9c1474406d
|
7
|
+
data.tar.gz: 308801fa96bae8bd6094a8bb3a042d1a1d8e90035b42b0b11b458b3488b0a1d00d16edb930d36abaf668e6de167a97775f80c37db2598963b1ceb9a954e4e64e
|
data/.coveralls.yml
CHANGED
data/README.rdoc
CHANGED
@@ -26,15 +26,19 @@ please add the following line into your ~/.bash_login etc:
|
|
26
26
|
|
27
27
|
test -f ~/.vvm-rb/etc/login && source ~/.vvm-rb/etc/login
|
28
28
|
|
29
|
-
|
29
|
+
you can set own root.
|
30
30
|
|
31
31
|
export VVMROOT=/your/vvm-rb/root/path
|
32
32
|
test -f $VVMROOT/etc/login && source $VVMROOT/etc/login
|
33
33
|
|
34
|
-
|
34
|
+
you can set your default options of configure.
|
35
|
+
|
36
|
+
export VVMOPT="--enable-rubyinterp --enable-pythoninterp"
|
37
|
+
|
38
|
+
== Commands
|
35
39
|
|
36
40
|
$ vvm-rb help
|
37
|
-
$ vvm-rb install v7-4
|
41
|
+
$ vvm-rb install v7-4 --enable-rubyinterp
|
38
42
|
$ vvm-rb install v7-4-035
|
39
43
|
$ vvm-rb reinstall v7-4
|
40
44
|
$ vvm-rb rebuild v7-4 --enable-rubyinterp --enable-pythoninterp
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.7
|
data/lib/vvm-rb/accesser.rb
CHANGED
@@ -1,39 +1,36 @@
|
|
1
1
|
module Accesser
|
2
|
+
|
2
3
|
module_function
|
3
4
|
|
4
5
|
def get_dot_dir
|
5
|
-
|
6
|
+
File.expand_path(ENV['VVMROOT'] || '~/.vvm-rb')
|
6
7
|
end
|
7
8
|
|
8
9
|
def get_etc_dir
|
9
|
-
|
10
|
+
File.join(get_dot_dir, 'etc')
|
10
11
|
end
|
11
12
|
|
12
13
|
def get_repos_dir
|
13
|
-
|
14
|
+
File.join(get_dot_dir, 'repos')
|
14
15
|
end
|
15
16
|
|
16
17
|
def get_src_dir(version = '')
|
17
|
-
|
18
|
+
File.join(get_dot_dir, 'src', version)
|
18
19
|
end
|
19
20
|
|
20
21
|
def get_vims_dir(version = '')
|
21
|
-
|
22
|
+
File.join(get_dot_dir, 'vims', version)
|
22
23
|
end
|
23
24
|
|
24
25
|
def get_vimorg_dir
|
25
|
-
|
26
|
+
File.join(get_repos_dir, 'vimorg')
|
26
27
|
end
|
27
28
|
|
28
29
|
def get_login_file
|
29
|
-
|
30
|
+
File.join(get_etc_dir, 'login')
|
30
31
|
end
|
31
32
|
|
32
33
|
def get_current_dir
|
33
|
-
|
34
|
-
end
|
35
|
-
|
36
|
-
def get_cache_dir
|
37
|
-
return File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '.vvm_cache'))
|
34
|
+
File.join(get_vims_dir, 'current')
|
38
35
|
end
|
39
36
|
end
|
data/lib/vvm-rb/base.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
module VvmRb
|
2
|
+
module Base
|
3
|
+
def self.included(base)
|
4
|
+
base.extend(ClassMethods)
|
5
|
+
end
|
6
|
+
|
7
|
+
module ClassMethods
|
8
|
+
def before_method(*names)
|
9
|
+
names.each do |name|
|
10
|
+
m = instance_method(name)
|
11
|
+
define_method(name) do |*args, &block|
|
12
|
+
yield
|
13
|
+
m.bind(self).call(*args, &block)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/vvm-rb/cli.rb
CHANGED
@@ -2,7 +2,7 @@ require 'thor'
|
|
2
2
|
|
3
3
|
class Cli < Thor
|
4
4
|
include Thor::Actions
|
5
|
-
include
|
5
|
+
include VvmRb::Base
|
6
6
|
|
7
7
|
desc 'install [TAG] [options]', 'Install a specific version of Vim'
|
8
8
|
def install(version, *conf)
|
@@ -26,7 +26,7 @@ test -f ~/.vvm-rb/etc/login && source ~/.vvm-rb/etc/login
|
|
26
26
|
installer(version, conf)
|
27
27
|
end
|
28
28
|
|
29
|
-
desc 'rebuild [TAG] [options]', 'Rebuild a specific version of Vim
|
29
|
+
desc 'rebuild [TAG] [options]', 'Rebuild a specific version of Vim'
|
30
30
|
def rebuild(version, *conf)
|
31
31
|
rebuilder(version, conf)
|
32
32
|
end
|
data/lib/vvm-rb/installer.rb
CHANGED
@@ -4,24 +4,25 @@ class Installer
|
|
4
4
|
|
5
5
|
def initialize(version, conf = [])
|
6
6
|
@version = version
|
7
|
-
@conf
|
7
|
+
@conf = conf.empty? && ENV['VVMOPT'] ? ENV['VVMOPT'].split(' ') : conf
|
8
8
|
end
|
9
9
|
|
10
10
|
def fetch
|
11
11
|
FileUtils.mkdir_p(get_repos_dir)
|
12
12
|
repos_dir = get_vimorg_dir
|
13
|
-
unless File.exists?(repos_dir)
|
14
|
-
system("hg clone #{VIM_URI} #{repos_dir}")
|
15
|
-
end
|
13
|
+
system("hg clone #{VIM_URI} #{repos_dir}") unless File.exists?(repos_dir)
|
16
14
|
Dir.chdir(repos_dir) { system('hg pull') }
|
17
15
|
end
|
18
16
|
|
19
17
|
def checkout
|
20
|
-
repos_dir = get_vimorg_dir
|
21
18
|
src_dir = get_src_dir
|
22
19
|
FileUtils.mkdir_p(src_dir)
|
23
20
|
unless File.exists?(get_src_dir(@version))
|
24
|
-
|
21
|
+
archive = "hg archive -t tar -r #{@version} -p #{@version} -"
|
22
|
+
expand = "(cd #{src_dir} && tar xf -)"
|
23
|
+
Dir.chdir get_vimorg_dir do
|
24
|
+
system("#{archive} | #{expand}")
|
25
|
+
end
|
25
26
|
end
|
26
27
|
end
|
27
28
|
|
data/lib/vvm-rb/switcher.rb
CHANGED
@@ -7,14 +7,10 @@ class Switcher
|
|
7
7
|
|
8
8
|
def use
|
9
9
|
current = get_current_dir
|
10
|
-
if File.exists?(current)
|
11
|
-
FileUtils.rm(current)
|
12
|
-
end
|
10
|
+
FileUtils.rm(current) if File.exists?(current)
|
13
11
|
unless @version == 'system'
|
14
12
|
vims_dir = get_vims_dir(@version)
|
15
|
-
unless File.exists?(vims_dir)
|
16
|
-
abort "#{@version} is not installed."
|
17
|
-
end
|
13
|
+
abort "#{@version} is not installed." unless File.exists?(vims_dir)
|
18
14
|
FileUtils.ln_s(vims_dir, current)
|
19
15
|
end
|
20
16
|
end
|
data/lib/vvm-rb/uninstaller.rb
CHANGED
@@ -15,11 +15,7 @@ class Uninstaller
|
|
15
15
|
abort "#{@version} can not be uninstalled; it is currently used."
|
16
16
|
end
|
17
17
|
end
|
18
|
-
if File.exists?(src_dir)
|
19
|
-
|
20
|
-
end
|
21
|
-
if File.exists?(vims_dir)
|
22
|
-
FileUtils.rm_rf(vims_dir)
|
23
|
-
end
|
18
|
+
FileUtils.rm_rf(src_dir) if File.exists?(src_dir)
|
19
|
+
FileUtils.rm_rf(vims_dir) if File.exists?(vims_dir)
|
24
20
|
end
|
25
21
|
end
|
data/lib/vvm-rb/validator.rb
CHANGED
@@ -1,31 +1,18 @@
|
|
1
1
|
module Validator
|
2
|
-
def self.included(base)
|
3
|
-
base.extend(ClassMethods)
|
4
|
-
end
|
5
2
|
|
6
|
-
|
7
|
-
def before_method(*names)
|
8
|
-
names.each do |name|
|
9
|
-
m = instance_method(name)
|
10
|
-
define_method(name) do |*args, &block|
|
11
|
-
yield
|
12
|
-
m.bind(self).call(*args, &block)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
3
|
+
module_function
|
16
4
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
end
|
21
|
-
return true
|
5
|
+
def check_hg
|
6
|
+
unless Kernel.system('which hg > /dev/null')
|
7
|
+
abort 'mercurial is required to install.'
|
22
8
|
end
|
9
|
+
return true
|
10
|
+
end
|
23
11
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
end
|
28
|
-
return true
|
12
|
+
def check_tag
|
13
|
+
unless $*[1] =~ /(^start$|^tip$|^v7-.+$|^system$)/
|
14
|
+
abort 'undefined vim version. please run [ vvm-rb list ].'
|
29
15
|
end
|
16
|
+
return true
|
30
17
|
end
|
31
18
|
end
|
data/lib/vvm-rb/version.rb
CHANGED
@@ -2,13 +2,15 @@ class Version
|
|
2
2
|
def self.list
|
3
3
|
Dir.chdir(get_vimorg_dir) do
|
4
4
|
list = `hg tags`.split.reverse
|
5
|
-
return list.values_at(* list.each_index.select {|i| i.odd?}).join("\n")
|
5
|
+
return list.values_at(* list.each_index.select { |i| i.odd? }).join("\n")
|
6
6
|
end
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.versions
|
10
10
|
output = []
|
11
|
-
Dir.glob(File.join(get_vims_dir, 'v*')).sort.each
|
11
|
+
Dir.glob(File.join(get_vims_dir, 'v*')).sort.each do |d|
|
12
|
+
output << File.basename(d)
|
13
|
+
end
|
12
14
|
return output.join("\n")
|
13
15
|
end
|
14
16
|
end
|
data/lib/vvm-rb.rb
CHANGED
data/spec/installer_spec.rb
CHANGED
@@ -7,6 +7,7 @@ describe 'Installer' do
|
|
7
7
|
FileUtils.rm_rf(get_vims_dir)
|
8
8
|
FileUtils.rm_rf(get_repos_dir)
|
9
9
|
FileUtils.rm_rf(get_etc_dir)
|
10
|
+
ENV['VVMOPT'] = '--enable-rubyinterp'
|
10
11
|
@version = 'v7-4'
|
11
12
|
@installer = Installer.new(@version)
|
12
13
|
end
|
@@ -55,6 +56,14 @@ describe 'Installer' do
|
|
55
56
|
expect(File.exists?(get_login_file)).to be_true
|
56
57
|
end
|
57
58
|
end
|
59
|
+
|
60
|
+
context 'vvmopt' do
|
61
|
+
let(:vim) { "#{get_vims_dir(@version)}/bin/vim" }
|
62
|
+
|
63
|
+
it 'enable rubyinterp' do
|
64
|
+
expect(`#{vim} --version |grep ruby`).to match(/\+ruby/)
|
65
|
+
end
|
66
|
+
end
|
58
67
|
end
|
59
68
|
|
60
69
|
describe 'rebuild' do
|
data/spec/spec_helper.rb
CHANGED
@@ -17,7 +17,7 @@ require 'tmpdir'
|
|
17
17
|
require 'vvm-rb'
|
18
18
|
include VvmRb
|
19
19
|
|
20
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
20
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
21
21
|
|
22
22
|
RSpec.configure do |config|
|
23
23
|
config.before :suite do
|
@@ -41,9 +41,14 @@ RSpec.configure do |config|
|
|
41
41
|
FileUtils.cp_r(get_cache_dir, @tmp)
|
42
42
|
@vvm_tmp = File.expand_path(File.join(@tmp, '.vvm_cache'))
|
43
43
|
ENV['VVMROOT'] = @vvm_tmp
|
44
|
+
ENV['VVMOPT'] = nil
|
44
45
|
end
|
45
46
|
|
46
47
|
config.after :all do
|
47
48
|
FileUtils.rm_rf(@tmp)
|
48
49
|
end
|
49
50
|
end
|
51
|
+
|
52
|
+
def get_cache_dir
|
53
|
+
File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '.vvm_cache'))
|
54
|
+
end
|
data/spec/validator_spec.rb
CHANGED
data/vvm-rb.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: vvm-rb 0.0.
|
5
|
+
# stub: vvm-rb 0.0.7 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "vvm-rb"
|
9
|
-
s.version = "0.0.
|
9
|
+
s.version = "0.0.7"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.authors = ["Yuu Shigetani"]
|
13
|
-
s.date = "2013-11-
|
13
|
+
s.date = "2013-11-04"
|
14
14
|
s.description = "vim version manager."
|
15
15
|
s.email = "s2g4t1n2@gmail.com"
|
16
16
|
s.executables = ["vvm-rb"]
|
@@ -32,6 +32,7 @@ Gem::Specification.new do |s|
|
|
32
32
|
"etc/login",
|
33
33
|
"lib/vvm-rb.rb",
|
34
34
|
"lib/vvm-rb/accesser.rb",
|
35
|
+
"lib/vvm-rb/base.rb",
|
35
36
|
"lib/vvm-rb/cli.rb",
|
36
37
|
"lib/vvm-rb/constants.rb",
|
37
38
|
"lib/vvm-rb/installer.rb",
|
@@ -45,7 +46,6 @@ Gem::Specification.new do |s|
|
|
45
46
|
"spec/uninstaller_spec.rb",
|
46
47
|
"spec/validator_spec.rb",
|
47
48
|
"spec/version_spec.rb",
|
48
|
-
"spec/vvm-rb_spec.rb",
|
49
49
|
"vvm-rb.gemspec"
|
50
50
|
]
|
51
51
|
s.homepage = "http://github.com/calorie/vvm-rb"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vvm-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuu Shigetani
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -144,6 +144,7 @@ files:
|
|
144
144
|
- etc/login
|
145
145
|
- lib/vvm-rb.rb
|
146
146
|
- lib/vvm-rb/accesser.rb
|
147
|
+
- lib/vvm-rb/base.rb
|
147
148
|
- lib/vvm-rb/cli.rb
|
148
149
|
- lib/vvm-rb/constants.rb
|
149
150
|
- lib/vvm-rb/installer.rb
|
@@ -157,7 +158,6 @@ files:
|
|
157
158
|
- spec/uninstaller_spec.rb
|
158
159
|
- spec/validator_spec.rb
|
159
160
|
- spec/version_spec.rb
|
160
|
-
- spec/vvm-rb_spec.rb
|
161
161
|
- vvm-rb.gemspec
|
162
162
|
homepage: http://github.com/calorie/vvm-rb
|
163
163
|
licenses:
|
data/spec/vvm-rb_spec.rb
DELETED