rubber-generate 0.0.8 → 0.0.9

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.
data/README.textile CHANGED
@@ -1,6 +1,6 @@
1
1
  h1. Rubber Generate
2
2
 
3
- h2. v0.0.8
3
+ h2. v0.0.9
4
4
 
5
5
  Template language for generating Ruby bindings for C libraries
6
6
  by Geoff Youngs <g@intersect-uk.co.uk>
@@ -20,6 +20,9 @@ functions and some rudimentary understanding of C code.
20
20
 
21
21
  h3. Changes
22
22
 
23
+ * 0.0.9 - 31st May 2010
24
+ - Add support for --build-dir <DIR> switch to specify output directory
25
+
23
26
  * 0.0.8 - 10th May 2010
24
27
  - Add support for %min-version <MAJOR>.<MINOR>.<MICRO>
25
28
 
data/bin/rubber-generate CHANGED
@@ -20,15 +20,38 @@ require 'rubber/mkextconf'
20
20
  require 'rubber/scanner'
21
21
  require 'rubber/types'
22
22
  require 'rubber/autord'
23
+ require 'optparse'
24
+ require 'ostruct'
23
25
 
26
+ Args = OpenStruct.new
27
+ Args.build_dir = Config::CONFIG['sitearch']
28
+ Args.configure = false
29
+ Args.build = false
24
30
 
25
- args = ARGV.select { |i| i[0] != ?- }
26
- switches = ARGV.select { |i| i[0] == ?- }
31
+
32
+
33
+ OptionParser.new { |opts|
34
+ opts.banner = "Usage: rubber-generate [options] file"
35
+ opts.on("--build-dir DIR", 'Directory for generating/building extension') do |dir|
36
+ Args.build_dir = dir
37
+ end
38
+ opts.on('--configure', 'Run generated extconf.rb') do
39
+ Args.configure = true
40
+ end
41
+ opts.on('--build', 'Build extension') do
42
+ Args.build = true
43
+ end
44
+ }.parse!(ARGV)
45
+
46
+
47
+ args = ARGV#.select { |i| i[0] != ?- }
48
+ #switches = ARGV.select { |i| i[0] == ?- }
27
49
  (args.size > 0 && args || Dir.glob('*.cr')).each { |file|
28
50
 
29
51
  file = File.expand_path(file)
30
- File.mkpath(Config::CONFIG['sitearch'])
31
- Dir.chdir(Config::CONFIG['sitearch']) do
52
+
53
+ File.mkpath(Args.build_dir)
54
+ Dir.chdir(Args.build_dir) do
32
55
 
33
56
 
34
57
  scanner = Rubber::CRScanner.new(file)
@@ -47,8 +70,8 @@ switches = ARGV.select { |i| i[0] == ?- }
47
70
  out.close
48
71
  extconf.close
49
72
 
50
- system('ruby','extconf.rb') if switches.include?('--configure')
51
- system('make') if switches.include?("--build")
73
+ system('ruby','extconf.rb') if Args.configure
74
+ system('make') if Args.build
52
75
  end
53
76
  }
54
77
  #out.close
@@ -1,6 +1,6 @@
1
1
  require 'rubber/struct'
2
2
  module Rubber
3
- VERSION = [0,0,8]
3
+ VERSION = [0,0,9]
4
4
  class ScanState
5
5
  define_members(:in_code, :in_class, :in_func, :braces)
6
6
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubber-generate
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 13
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 0
8
- - 8
9
- version: 0.0.8
9
+ - 9
10
+ version: 0.0.9
10
11
  platform: ruby
11
12
  authors:
12
13
  - Geoff Youngs
@@ -14,7 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-05-10 00:00:00 +01:00
18
+ date: 2010-06-04 00:00:00 +01:00
18
19
  default_executable:
19
20
  dependencies: []
20
21
 
@@ -28,30 +29,31 @@ extra_rdoc_files:
28
29
  - README.textile
29
30
  files:
30
31
  - bin/rubber-generate
31
- - lib/rubber/autord.rb
32
- - lib/rubber/codegen/array.rb
33
- - lib/rubber/codegen/class.rb
32
+ - lib/rubber/mkextconf.rb
34
33
  - lib/rubber/codegen/enum.rb
35
- - lib/rubber/codegen/flags.rb
36
- - lib/rubber/codegen/float.rb
37
- - lib/rubber/codegen/function.rb
38
- - lib/rubber/codegen/gboxed.rb
34
+ - lib/rubber/codegen/gobject.rb
39
35
  - lib/rubber/codegen/gcrefpool.rb
36
+ - lib/rubber/codegen/class.rb
40
37
  - lib/rubber/codegen/genum.rb
38
+ - lib/rubber/codegen/gboxed.rb
39
+ - lib/rubber/codegen/function.rb
40
+ - lib/rubber/codegen/module.rb
41
+ - lib/rubber/codegen/float.rb
42
+ - lib/rubber/codegen/flags.rb
43
+ - lib/rubber/codegen/array.rb
41
44
  - lib/rubber/codegen/gflags.rb
45
+ - lib/rubber/codegen/struct.rb
46
+ - lib/rubber/codegen/string.rb
42
47
  - lib/rubber/codegen/ginterface.rb
43
- - lib/rubber/codegen/gobject.rb
44
- - lib/rubber/codegen/integer.rb
45
- - lib/rubber/codegen/module.rb
46
48
  - lib/rubber/codegen/param.rb
47
- - lib/rubber/codegen/string.rb
48
- - lib/rubber/codegen/struct.rb
49
+ - lib/rubber/codegen/integer.rb
50
+ - lib/rubber/autord.rb
51
+ - lib/rubber/types.rb
49
52
  - lib/rubber/codegen.rb
50
- - lib/rubber/mkextconf.rb
51
- - lib/rubber/scanner.rb
52
53
  - lib/rubber/struct.rb
53
- - lib/rubber/types.rb
54
+ - lib/rubber/scanner.rb
54
55
  - README.textile
56
+ - example/vte.cr
55
57
  has_rdoc: true
56
58
  homepage: http://github.com/geoffyoungs/rubber-generate
57
59
  licenses: []
@@ -62,23 +64,27 @@ rdoc_options: []
62
64
  require_paths:
63
65
  - lib
64
66
  required_ruby_version: !ruby/object:Gem::Requirement
67
+ none: false
65
68
  requirements:
66
69
  - - ">="
67
70
  - !ruby/object:Gem::Version
71
+ hash: 3
68
72
  segments:
69
73
  - 0
70
74
  version: "0"
71
75
  required_rubygems_version: !ruby/object:Gem::Requirement
76
+ none: false
72
77
  requirements:
73
78
  - - ">="
74
79
  - !ruby/object:Gem::Version
80
+ hash: 3
75
81
  segments:
76
82
  - 0
77
83
  version: "0"
78
84
  requirements: []
79
85
 
80
86
  rubyforge_project:
81
- rubygems_version: 1.3.6
87
+ rubygems_version: 1.3.7
82
88
  signing_key:
83
89
  specification_version: 3
84
90
  summary: Template language for generating Ruby bindings for C libraries