mgem 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/bin/mgem +57 -26
  2. data/lib/mgem.rb +1 -1
  3. metadata +1 -1
data/bin/mgem CHANGED
@@ -28,6 +28,55 @@ def list_active_gems(current_gems)
28
28
  puts
29
29
  end
30
30
 
31
+ def get_toolchain
32
+ puts <<__TOOLCHAIN_SELECT__
33
+
34
+ Please choose your toolchain:
35
+ 'gcc' for GNU Compiler Collection
36
+ 'clang' for LLVM C Compiler
37
+ 'vs' for Visual Studio 2012 on Windows
38
+
39
+ __TOOLCHAIN_SELECT__
40
+
41
+ print 'Toolchain: '
42
+ STDOUT.flush
43
+ toolchain = case STDIN.gets.chomp
44
+ when 'vs'
45
+ 'vs2012'
46
+ when 'clang'
47
+ 'clang'
48
+ when 'gcc'
49
+ 'gcc'
50
+ else
51
+ puts <<__ERROR__
52
+
53
+ Your input "#{toolchain}" wasn't valid.
54
+ Fallback to GCC toolchain!
55
+ __ERROR__
56
+
57
+ 'gcc'
58
+ end
59
+
60
+ toolchain
61
+ end
62
+
63
+ def get_binaries
64
+ puts
65
+ print 'Compile mrbc? (y/n): '
66
+ mrbc = STDIN.gets.chomp
67
+ print 'Compile mruby? (y/n): '
68
+ mruby = STDIN.gets.chomp
69
+ print 'Compile mirb? (y/n): '
70
+ mirb = STDIN.gets.chomp
71
+
72
+ binaries = []
73
+ binaries << 'mrbc' unless mrbc == 'n'
74
+ binaries << 'mruby' unless mruby == 'n'
75
+ binaries << 'mirb' unless mirb == 'n'
76
+
77
+ binaries.join ' '
78
+ end
79
+
31
80
  if ARGV[0] == 'info' or ARGV[0] == 'detail'
32
81
  puts "Detail information of '#{ARGV[1]}':"
33
82
  gems.search(ARGV[1], :name).each {|gem| detail_info_proc.call(gem) }
@@ -61,34 +110,13 @@ elsif ARGV[0] == 'update'
61
110
  puts "#{new_gems} new GEMs!"
62
111
  end
63
112
  elsif ARGV[0] == 'config'
64
- puts <<__TOOLCHAIN_SELECT__
65
-
66
- Please choose your toolchain:
67
- 'gcc' for GNU Compiler Collection
68
- 'clang' for LLVM C Compiler
69
- 'vs' for Visual Studio 2012 on Windows
70
-
71
- __TOOLCHAIN_SELECT__
72
-
73
- print 'Toolchain: '
74
- STDOUT.flush
75
- toolchain = case STDIN.gets.chomp
76
- when 'vs'
77
- 'vs2012'
78
- when 'clang'
79
- 'clang'
80
- when 'gcc'
81
- 'gcc'
113
+ if ARGV[1] == 'default'
114
+ toolchain = 'gcc'
115
+ binaries = 'mrbc mruby mirb'
82
116
  else
83
- puts <<__ERROR__
84
-
85
- Your input "#{toolchain}" wasn't valid.
86
- Fallback to GCC toolchain!
87
- __ERROR__
88
-
89
- 'gcc'
117
+ toolchain = get_toolchain
118
+ binaries = get_binaries
90
119
  end
91
-
92
120
  gem_command = gems.active.map do |g|
93
121
  " conf.gem :git => \'#{g.repository}\'"
94
122
  end.join("\n")
@@ -105,6 +133,8 @@ __ERROR__
105
133
  MRuby::Build.new do |conf|
106
134
  toolchain :#{toolchain}
107
135
 
136
+ conf.bins = %w(#{binaries})
137
+
108
138
  #{gem_command}
109
139
  end
110
140
 
@@ -123,6 +153,7 @@ Usage:
123
153
  mgem rm *name* De-Activate a GEM
124
154
  mgem search *pattern* Search for GEMs
125
155
  mgem config Generate a mruby build config including all active GEMs
156
+ mgem config default Same as 'mgem config' but w/o interactive questions
126
157
  mgem update Update the list of GEMs
127
158
 
128
159
  Website:
@@ -2,7 +2,7 @@ require 'yaml'
2
2
  require 'fileutils'
3
3
  require "stringio"
4
4
 
5
- MGEM_VERSION = '0.1.0'
5
+ MGEM_VERSION = '0.1.2'
6
6
 
7
7
  MGEM_DIR = '.mgem'
8
8
  GEMS_ACTIVE = 'GEMS_ACTIVE.lst'
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: mgem
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.1
5
+ version: 0.1.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Daniel Bovensiepen