mrb 0.0.3 → 0.0.4

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: 1044b40a821e666cf29545373999082f6ee240d5
4
- data.tar.gz: 690d0ab0389f198378c874df07f6695f9f08abd3
3
+ metadata.gz: d8527524e3b2cb21e9e74a8e55340675b5b025a3
4
+ data.tar.gz: 16d9840def0e4e19a6b3957c93e4eac4aa2dad42
5
5
  SHA512:
6
- metadata.gz: 210107874307b7668277931a9e5c371a9855b999441f022cfe9631f6358c6bf42042c4d844b7b054877170705c138482c984b00754b8d75cded38387c8295db9
7
- data.tar.gz: 0bd666aa3111d5ba1d89bc11a1c91ddc512e5a7311b651b9b2fe023baf5c2edd9b647360a07d9bb9f0498fa989e0edce6ed3c32d9edf3b411e07728825bf1765
6
+ metadata.gz: 3072c56d4dac309d301f356738e5aa7f7107637aa795939033c77b8b83d2188bb1e0ce6f055056cfee6d26e07eb25bc52d8e04e960eb80c273f3a9095c191ecb
7
+ data.tar.gz: 035ad8b87bff7ec8a8ce63b105ef032b5f2c198c72ed6616b6213a9a79a9c06d7646fc2d50f7822b462757e6839dac0f149fe85a08eaf0b4d2c2d3a3791f4f56
@@ -3,15 +3,17 @@ MRuby::CrossBuild.new('<%= config['name'] %>') do |conf|
3
3
  toolchain :<%= config['toolchain'] %>
4
4
  <% end %>
5
5
 
6
- <% if config.key?('debug') %>
6
+ <% if config.key?('debug') && config['debug'].casecmp('enable') == 0 %>
7
7
  enable_debug
8
8
  <% end %>
9
9
 
10
- <% config['gem'].each do |gem| %>
11
- <% if gem.is_a?(String) %>
10
+ <% if config.key?('gem') && config['gem'].is_a?(Array) %>
11
+ <% config['gem'].each do |gem| %>
12
+ <% if gem.is_a?(String) %>
12
13
  conf.gem '<%= gem %>'
13
- <% elsif gem.is_a?(Hash) && gem.key?('github') %>
14
+ <% elsif gem.is_a?(Hash) && gem.key?('github') %>
14
15
  conf.gem :github => '<%= gem['github'] %>'
16
+ <% end %>
15
17
  <% end %>
16
18
  <% end %>
17
19
 
@@ -3,15 +3,17 @@ MRuby::Build.new('<%= config['name'] %>') do |conf|
3
3
  toolchain :<%= config['toolchain'] %>
4
4
  <% end %>
5
5
 
6
- <% if config.key?('debug') %>
6
+ <% if config.key?('debug') && config['debug'].casecmp('enable') == 0 %>
7
7
  enable_debug
8
8
  <% end %>
9
9
 
10
- <% config['gem'].each do |gem| %>
11
- <% if gem.is_a?(String) %>
10
+ <% if config.key?('gem') && config['gem'].is_a?(Array) %>
11
+ <% config['gem'].each do |gem| %>
12
+ <% if gem.is_a?(String) %>
12
13
  conf.gem '<%= gem %>'
13
- <% elsif gem.is_a?(Hash) && gem.key?('github') %>
14
+ <% elsif gem.is_a?(Hash) && gem.key?('github') %>
14
15
  conf.gem :github => '<%= gem['github'] %>'
16
+ <% end %>
15
17
  <% end %>
16
18
  <% end %>
17
19
 
data/lib/mrb/cli.rb CHANGED
@@ -12,36 +12,25 @@ module Mrb
12
12
 
13
13
  desc "gem NAME", "create necessary files, directory constitution"
14
14
  def gem(name)
15
- if m = name.match(/^mruby-(.*)/)
16
- full_name = name
17
- name = m[1]
18
- else
19
- full_name = "mruby-#{name}"
20
- name = name
21
- end
15
+ variables = Util.gen_names(name)
16
+ full_name = variables[:full_name]
22
17
 
18
+ FileUtils.mkdir_p full_name
23
19
  puts "Creating gem '#{full_name}'..."
24
20
 
25
- variables = {
26
- :full_name => full_name,
27
- :internal_name => full_name.gsub(/-/, '_'),
28
- :name => name,
29
- }
30
-
31
- FileUtils.mkdir_p full_name
32
- File.write "#{full_name}/README.md", Mrb::Template.render('gem/README.md.erb', variables)
21
+ File.write "#{full_name}/README.md", Mrb::Template.render_readme(variables)
33
22
  puts " create #{full_name}/README.md"
34
- File.write "#{full_name}/mrbgem.rake", Mrb::Template.render('gem/mrbgem.rake.erb', variables)
23
+ File.write "#{full_name}/mrbgem.rake", Mrb::Template.render_mrbgem(variables)
35
24
  puts " create #{full_name}/mrbgem.rake"
36
25
 
37
26
  FileUtils.mkdir_p "#{full_name}/src"
38
- File.write "#{full_name}/src/example.c", Mrb::Template.render('gem/example.c.erb', variables)
27
+ File.write "#{full_name}/src/example.c", Mrb::Template.render_example_c(variables)
39
28
  puts " create #{full_name}/src/example.c"
40
29
 
41
30
  FileUtils.mkdir_p "#{full_name}/test"
42
- File.write "#{full_name}/test/example.c", Mrb::Template.render('gem/test_example.c.erb', variables)
31
+ File.write "#{full_name}/test/example.c", Mrb::Template.render_test_example_c(variables)
43
32
  puts " create #{full_name}/test/example.c"
44
- File.write "#{full_name}/test/example.rb", Mrb::Template.render('gem/test_example.rb.erb', variables)
33
+ File.write "#{full_name}/test/example.rb", Mrb::Template.render_test_example_rb(variables)
45
34
  puts " create #{full_name}/test/example.rb"
46
35
  end
47
36
 
@@ -49,20 +38,32 @@ module Mrb
49
38
  def config(file)
50
39
  yaml = YAML.load_file(file)
51
40
 
41
+ unless yaml.is_a?(Hash)
42
+ # minimize_config
43
+ yaml = {
44
+ 'build' => {
45
+ 'host' => {
46
+ 'toolchain' => 'gcc',
47
+ 'gembox' => 'default',
48
+ }
49
+ }
50
+ }
51
+ end
52
+
52
53
  text = ''
53
54
  if yaml.key?('build')
54
55
  yaml['build'].keys.each do |name|
55
56
  config = yaml['build'][name]
56
57
  config['name'] = name
57
- text << Mrb::Template.render_config('config/build_config_host.erb', config)
58
+ text << Mrb::Template.render_build_config_host(config)
58
59
  end
59
60
  end
60
61
 
61
- if yaml.key?('cross_build')
62
- yaml['cross_build'].keys.each do |name|
63
- config = yaml['cross_build'][name]
62
+ if yaml.key?('crossbuild')
63
+ yaml['crossbuild'].keys.each do |name|
64
+ config = yaml['crossbuild'][name]
64
65
  config['name'] = name
65
- text << Mrb::Template.render_config('config/build_config_crossbuild.erb', config)
66
+ text << Mrb::Template.render_build_config_crossbuild(config)
66
67
  end
67
68
  end
68
69
 
@@ -70,6 +71,31 @@ module Mrb
70
71
  File.write "./build_config.rb", text.gsub(/^$\n/, '')
71
72
  end
72
73
 
74
+ desc "build", "build mruby"
75
+ def build(file)
76
+ yaml = YAML.load_file(file)
77
+
78
+ if !yaml.is_a?(Hash) || yaml.key?('mruby')
79
+ $stderr.puts 'Error: Not found mruby location.'
80
+ return
81
+ end
82
+
83
+ if yaml['mruby'].key?('github')
84
+ github_path = yaml['mruby']['github']
85
+ %x{git clone https://github.com/#{github_path}.git}
86
+ mruby_path = './mruby'
87
+ elsif yaml['mruby'].key?('path')
88
+ mruby_path = yaml['mruby']['path']
89
+ end
90
+
91
+ puts "Buildding ..."
92
+ file_path = File.expand_path(file)
93
+ Dir.chdir(mruby_path) do
94
+ config file_path
95
+ %x{rake}
96
+ end
97
+ end
98
+
73
99
  desc "version", "show version number"
74
100
  def version()
75
101
  puts Mrb::VERSION
data/lib/mrb/template.rb CHANGED
@@ -16,6 +16,34 @@ module Mrb
16
16
  ERB.new(self.read(name)).result(b)
17
17
  end
18
18
 
19
+ def self.render_readme(variables)
20
+ render('gem/README.md.erb', variables)
21
+ end
22
+
23
+ def self.render_mrbgem(variables)
24
+ render('gem/mrbgem.rake.erb', variables)
25
+ end
26
+
27
+ def self.render_example_c(variables)
28
+ render('gem/example.c.erb', variables)
29
+ end
30
+
31
+ def self.render_test_example_c(variables)
32
+ render('gem/test_example.c.erb', variables)
33
+ end
34
+
35
+ def self.render_test_example_rb(variables)
36
+ render('gem/test_example.rb.erb', variables)
37
+ end
38
+
39
+ def self.render_build_config_host(config)
40
+ render_config('config/build_config_host.erb', config)
41
+ end
42
+
43
+ def self.render_build_config_crossbuild(config)
44
+ render_config('config/build_config_crossbuild.erb', config)
45
+ end
46
+
19
47
  private
20
48
  def self.config_to_binding(config)
21
49
  config = {} unless config.is_a?(Hash)
data/lib/mrb/util.rb ADDED
@@ -0,0 +1,19 @@
1
+ module Mrb
2
+ class Util
3
+ def self.gen_names(name)
4
+ if m = name.match(/^mruby-(.*)/)
5
+ full_name = name
6
+ name = m[1]
7
+ else
8
+ full_name = "mruby-#{name}"
9
+ name = name
10
+ end
11
+
12
+ {
13
+ :full_name => full_name,
14
+ :internal_name => full_name.gsub(/-/, '_'),
15
+ :name => name,
16
+ }
17
+ end
18
+ end
19
+ end
data/lib/mrb/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mrb
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
data/lib/mrb.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "mrb/version"
2
2
  require "mrb/cli.rb"
3
3
  require 'mrb/template.rb'
4
+ require 'mrb/util.rb'
4
5
 
5
6
  module Mrb
6
7
  # Your code goes here...
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - qtakamitsu
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-10-06 00:00:00.000000000 Z
11
+ date: 2015-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -96,6 +96,7 @@ files:
96
96
  - lib/mrb.rb
97
97
  - lib/mrb/cli.rb
98
98
  - lib/mrb/template.rb
99
+ - lib/mrb/util.rb
99
100
  - lib/mrb/version.rb
100
101
  - mrb.gemspec
101
102
  homepage: https://github.com/qtkmz/mrb