mgem 0.1.1 → 0.1.2

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.
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