rubber-generate 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
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