ronin-gen 1.0.1.rc1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog.md CHANGED
@@ -1,14 +1,17 @@
1
- ### 1.0.1 / 2011-05-17
1
+ ### 1.0.1 / 2011-07-04
2
2
 
3
3
  * Require data_paths ~> 0.3.
4
- * Require ronin-support ~> 0.2.
5
- * Require ronin ~> 1.1.
4
+ * Require ronin-support ~> 0.1.
5
+ * Require ronin ~> 1.0.
6
6
  * Include `Ronin::AutoLoad` into {Ronin::Gen::Generators}.
7
- * Ensure that {Ronin::Gen::Generators::Library} executes `git` commands
8
- within the destination directory.
9
- * Have {Ronin::Gen::Generators::Library} call `git add .` then `git commit`.
10
- * Make sure that {Ronin::Gen::Generators::Repository} creates the new
11
- `scripts/` directory.
7
+ * {Ronin::Gen::Generators::Library}:
8
+ * Ensure that `git` commands are executed within the destination
9
+ directory.
10
+ * Call `git add .` then `git commit`.
11
+ * Generate a pure-ruby `.gemspec` file which loads the `gemspec.yml` file.
12
+ * Generate libraries that require ronin ~> 1.0 and ronin-gen ~> 1.0.
13
+ * {Ronin::Gen::Generators::Repository}:
14
+ * Create the new `scripts/` directory.
12
15
 
13
16
  ### 1.0.0 / 2011-03-25
14
17
 
data/Gemfile CHANGED
@@ -11,7 +11,7 @@ gemspec
11
11
  # gem 'ronin', '~> 1.1', :git => "#{RONIN_URI}/ronin.git"
12
12
 
13
13
  group :development do
14
- gem 'rake', '~> 0.8.7'
14
+ gem 'rake', '~> 0.8'
15
15
  gem 'kramdown', '~> 0.12'
16
16
 
17
17
  gem 'ore-tasks', '~> 0.4'
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  * [Issues](http://github.com/ronin-ruby/ronin-gen/issues)
5
5
  * [Documentation](http://rubydoc.info/github/ronin-ruby/ronin-gen/frames)
6
6
  * [Mailing List](http://groups.google.com/group/ronin-ruby)
7
- * irc.freenode.net #ronin
7
+ * [irc.freenode.net #ronin](http://webchat.freenode.net/?channels=ronin&uio=Mj10cnVldd)
8
8
 
9
9
  ## Description
10
10
 
@@ -41,9 +41,9 @@ Generate a skeleton Overlay:
41
41
  * [thor](http://github.com/wycats/thor#readme)
42
42
  ~> 0.14.3
43
43
  * [ronin-support](http://github.com/ronin-ruby/ronin-support#readme)
44
- ~> 0.2
44
+ ~> 0.1
45
45
  * [ronin](http://github.com/ronin-ruby/ronin#readme)
46
- ~> 1.1
46
+ ~> 1.0
47
47
 
48
48
  ## Install
49
49
 
data/Rakefile CHANGED
@@ -3,16 +3,16 @@ require 'rubygems'
3
3
  begin
4
4
  require 'bundler'
5
5
  rescue LoadError => e
6
- STDERR.puts e.message
7
- STDERR.puts "Run `gem install bundler` to install Bundler."
6
+ warn e.message
7
+ warn "Run `gem install bundler` to install Bundler."
8
8
  exit e.status_code
9
9
  end
10
10
 
11
11
  begin
12
12
  Bundler.setup(:development)
13
13
  rescue Bundler::BundlerError => e
14
- STDERR.puts e.message
15
- STDERR.puts "Run `bundle install` to install missing gems"
14
+ warn e.message
15
+ warn "Run `bundle install` to install missing gems"
16
16
  exit e.status_code
17
17
  end
18
18
 
data/bin/ronin-gen CHANGED
@@ -10,8 +10,8 @@ if File.directory?(File.join(root_dir,'.git'))
10
10
  begin
11
11
  Bundler.setup(:default)
12
12
  rescue Bundler::BundlerError => e
13
- STDERR.puts e.message
14
- STDERR.puts "Run `bundle install` to install missing gems"
13
+ warn e.message
14
+ warn "Run `bundle install` to install missing gems"
15
15
  exit e.status_code
16
16
  end
17
17
  end
@@ -29,8 +29,8 @@ if (ARGV.length > 0 && ARGV.first[0..0] != '-')
29
29
  begin
30
30
  Ronin::Gen.generator(name).start
31
31
  rescue Ronin::Gen::UnknownGenerator
32
- STDERR.puts "ronin-gen: unknown generator #{name}"
33
- STDERR.puts "ronin-gen: run 'ronin-gen' for a list of generators"
32
+ warn "ronin-gen: unknown generator #{name}"
33
+ warn "ronin-gen: run 'ronin-gen' for a list of generators"
34
34
  exit -1
35
35
  end
36
36
  else
@@ -2,8 +2,8 @@
2
2
 
3
3
  * [Source](http://github.com/ronin-ruby/<%= @name %>)
4
4
  * [Issues](http://github.com/ronin-ruby/<%= @name %>/issues)
5
- * [Documentation](http://rubydoc.info/github/ronin-ruby/<%= @name %>)
6
- * <%= @author %> (<%= @safe_email %>)
5
+ * [Documentation](http://rubydoc.info/gems/<%= @name %>/frames)
6
+ * [Email](mailto:<%= @safe_email %>)
7
7
 
8
8
  ## Description
9
9
 
@@ -19,7 +19,10 @@
19
19
 
20
20
  ## Requirements
21
21
 
22
- * [ronin](http://github.com/ronin-ruby/ronin) ~> <%= Ronin::VERSION %>
22
+ * [ronin](http://github.com/ronin-ruby/ronin#readme) ~> 1.0
23
+ <%- unless options[:generators].empty? -%>
24
+ * [ronin-gen](http://github.com/ronin-ruby/ronin-gen#readme) ~> 1.0
25
+ <%- end -%>
23
26
 
24
27
  ## Install
25
28
 
@@ -3,16 +3,16 @@ require 'rubygems'
3
3
  begin
4
4
  require 'bundler'
5
5
  rescue LoadError => e
6
- STDERR.puts e.message
7
- STDERR.puts "Run `gem install bundler` to install Bundler."
6
+ warn e.message
7
+ warn "Run `gem install bundler` to install Bundler."
8
8
  exit e.status_code
9
9
  end
10
10
 
11
11
  begin
12
12
  Bundler.setup(:development)
13
13
  rescue Bundler::BundlerError => e
14
- STDERR.puts e.message
15
- STDERR.puts "Run `bundle install` to install missing gems"
14
+ warn e.message
15
+ warn "Run `bundle install` to install missing gems"
16
16
  exit e.status_code
17
17
  end
18
18
 
@@ -10,8 +10,8 @@ if File.directory?(File.join(root_dir,'.git'))
10
10
  begin
11
11
  Bundler.setup(:default)
12
12
  rescue Bundler::BundlerError => e
13
- STDERR.puts e.message
14
- STDERR.puts "Run `bundle install` to install missing gems"
13
+ warn e.message
14
+ warn "Run `bundle install` to install missing gems"
15
15
  exit e.status_code
16
16
  end
17
17
  end
@@ -10,8 +10,8 @@ if File.directory?(File.join(root_dir,'.git'))
10
10
  begin
11
11
  Bundler.setup(:default)
12
12
  rescue Bundler::BundlerError => e
13
- STDERR.puts e.message
14
- STDERR.puts "Run `bundle install` to install missing gems"
13
+ warn e.message
14
+ warn "Run `bundle install` to install missing gems"
15
15
  exit e.status_code
16
16
  end
17
17
  end
@@ -9,9 +9,9 @@ homepage: <%= @homepage %>
9
9
  has_yard: true
10
10
 
11
11
  dependencies:
12
- ronin: ~> <%= Ronin::VERSION %>
12
+ ronin: ~> 1.0
13
13
  <%- unless options[:generators].empty? -%>
14
- ronin-gen: ~> <%= Ronin::Gen::VERSION %>
14
+ ronin-gen: ~> 1.0
15
15
  <%- end -%>
16
16
 
17
17
  development_dependencies:
@@ -0,0 +1,131 @@
1
+ # encoding: utf-8
2
+
3
+ require 'yaml'
4
+
5
+ Gem::Specification.new do |gemspec|
6
+ root = File.dirname(__FILE__)
7
+ lib_dir = File.join(root,'lib')
8
+ files = if File.directory?('.git')
9
+ `git ls-files`.split($/)
10
+ elsif File.directory?('.hg')
11
+ `hg manifest`.split($/)
12
+ elsif File.directory?('.svn')
13
+ `svn ls -R`.split($/).select { |path| File.file?(path) }
14
+ else
15
+ Dir['{**/}{.*,*}'].select { |path| File.file?(path) }
16
+ end
17
+
18
+ filter_files = lambda { |paths|
19
+ case paths
20
+ when Array
21
+ (files & paths)
22
+ when String
23
+ (files & Dir[paths])
24
+ end
25
+ }
26
+
27
+ version = {
28
+ :file => 'ronin/<%= @dir_name %>/version',
29
+ :constant => 'Ronin::<%= @module_name %>::VERSION'
30
+ }
31
+
32
+ defaults = {
33
+ 'name' => File.basename(root),
34
+ 'files' => files,
35
+ 'executables' => filter_files['bin/*'].map { |path| File.basename(path) },
36
+ 'test_files' => filter_files['{test/{**/}*_test.rb,spec/{**/}*_spec.rb}'],
37
+ 'extra_doc_files' => filter_files['*.{txt,rdoc,md,markdown,tt,textile}'],
38
+ }
39
+
40
+ metadata = defaults.merge(YAML.load_file('gemspec.yml'))
41
+
42
+ gemspec.name = metadata.fetch('name',defaults[:name])
43
+ gemspec.version = if metadata['version']
44
+ metadata['version']
45
+ else
46
+ $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
47
+
48
+ require version[:file]
49
+ eval(version[:constant])
50
+ end
51
+
52
+ gemspec.summary = metadata.fetch('summary',metadata['description'])
53
+ gemspec.description = metadata.fetch('description',metadata['summary'])
54
+
55
+ case metadata['license']
56
+ when Array
57
+ gemspec.licenses = metadata['license']
58
+ when String
59
+ gemspec.license = metadata['license']
60
+ end
61
+
62
+ case metadata['authors']
63
+ when Array
64
+ gemspec.authors = metadata['authors']
65
+ when String
66
+ gemspec.author = metadata['authors']
67
+ end
68
+
69
+ gemspec.email = metadata['email']
70
+ gemspec.homepage = metadata['homepage']
71
+
72
+ case metadata['require_paths']
73
+ when Array
74
+ gemspec.require_paths = metadata['require_paths']
75
+ when String
76
+ gemspec.require_path = metadata['require_paths']
77
+ end
78
+
79
+ gemspec.files = filter_files[metadata['files']]
80
+
81
+ gemspec.executables = metadata['executables']
82
+ gemspec.extensions = metadata['extensions']
83
+
84
+ if Gem::VERSION < '1.7.'
85
+ gemspec.default_executable = gemspec.executables.first
86
+ end
87
+
88
+ gemspec.test_files = filter_files[metadata['test_files']]
89
+
90
+ unless gemspec.files.include?('.document')
91
+ gemspec.extra_rdoc_files = metadata['extra_doc_files']
92
+ end
93
+
94
+ gemspec.post_install_message = metadata['post_install_message']
95
+ gemspec.requirements = metadata['requirements']
96
+
97
+ if gemspec.respond_to?(:required_ruby_version=)
98
+ gemspec.required_ruby_version = metadata['required_ruby_version']
99
+ end
100
+
101
+ if gemspec.respond_to?(:required_rubygems_version=)
102
+ gemspec.required_rubygems_version = metadata['required_ruby_version']
103
+ end
104
+
105
+ parse_versions = lambda { |versions|
106
+ case versions
107
+ when Array
108
+ versions.map { |v| v.to_s }
109
+ when String
110
+ versions.split(/,\s*/)
111
+ end
112
+ }
113
+
114
+ if metadata['dependencies']
115
+ metadata['dependencies'].each do |name,versions|
116
+ gemspec.add_dependency(name,parse_versions[versions])
117
+ end
118
+ end
119
+
120
+ if metadata['runtime_dependencies']
121
+ metadata['runtime_dependencies'].each do |name,versions|
122
+ gemspec.add_runtime_dependency(name,parse_versions[versions])
123
+ end
124
+ end
125
+
126
+ if metadata['development_dependencies']
127
+ metadata['development_dependencies'].each do |name,versions|
128
+ gemspec.add_development_dependency(name,parse_versions[versions])
129
+ end
130
+ end
131
+ end
data/gemspec.yml CHANGED
@@ -13,14 +13,12 @@ requirements: git >= 1.6.0.0, for the library generator
13
13
 
14
14
  dependencies:
15
15
  open_namespace: ~> 0.3
16
- # data_paths: ~> 0.3
17
- data_paths: ~> 0.3.0.rc1
16
+ data_paths: ~> 0.3
18
17
  thor: ~> 0.14.3
19
18
  # Ronin dependencies:
20
- ronin-support: ~> 0.2.0.rc1
21
- # ronin: ~> 1.1
22
- ronin: ~> 1.1.0.rc1
19
+ ronin-support: ~> 0.1
20
+ ronin: ~> 1.0
23
21
 
24
22
  development_dependencies:
25
23
  bundler: ~> 1.0.10
26
- yard: ~> 0.6.4
24
+ yard: ~> 0.7.0
@@ -99,7 +99,7 @@ module Ronin
99
99
  erb File.join('ronin','gen','library','Gemfile.erb'), 'Gemfile'
100
100
  cp File.join('ronin','gen','library','Rakefile'), 'Rakefile'
101
101
 
102
- erb File.join('ronin','gen','library','library.gemspec.erb'),
102
+ erb File.join('ronin','gen','library','name.gemspec.erb'),
103
103
  "#{@name}.gemspec"
104
104
  erb File.join('ronin','gen','library','gemspec.yml.erb'),
105
105
  'gemspec.yml'
@@ -20,6 +20,6 @@
20
20
  module Ronin
21
21
  module Gen
22
22
  # Ronin Gen version
23
- VERSION = '1.0.1.rc1'
23
+ VERSION = '1.0.1'
24
24
  end
25
25
  end
data/ronin-gen.gemspec CHANGED
@@ -1,15 +1,131 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- begin
4
- Ore::Specification.new do |gemspec|
5
- # custom logic here
6
- end
7
- rescue NameError
8
- begin
9
- require 'ore/specification'
10
- retry
11
- rescue LoadError
12
- STDERR.puts "The '#{__FILE__}' file requires Ore."
13
- STDERR.puts "Run `gem install ore-core` to install Ore."
1
+ # encoding: utf-8
2
+
3
+ require 'yaml'
4
+
5
+ Gem::Specification.new do |gemspec|
6
+ root = File.dirname(__FILE__)
7
+ lib_dir = File.join(root,'lib')
8
+ files = if File.directory?('.git')
9
+ `git ls-files`.split($/)
10
+ elsif File.directory?('.hg')
11
+ `hg manifest`.split($/)
12
+ elsif File.directory?('.svn')
13
+ `svn ls -R`.split($/).select { |path| File.file?(path) }
14
+ else
15
+ Dir['{**/}{.*,*}'].select { |path| File.file?(path) }
16
+ end
17
+
18
+ filter_files = lambda { |paths|
19
+ case paths
20
+ when Array
21
+ (files & paths)
22
+ when String
23
+ (files & Dir[paths])
24
+ end
25
+ }
26
+
27
+ version = {
28
+ :file => 'ronin/gen/version',
29
+ :constant => 'Ronin::Gen::VERSION'
30
+ }
31
+
32
+ defaults = {
33
+ 'name' => File.basename(root),
34
+ 'files' => files,
35
+ 'executables' => filter_files['bin/*'].map { |path| File.basename(path) },
36
+ 'test_files' => filter_files['{test/{**/}*_test.rb,spec/{**/}*_spec.rb}'],
37
+ 'extra_doc_files' => filter_files['*.{txt,rdoc,md,markdown,tt,textile}'],
38
+ }
39
+
40
+ metadata = defaults.merge(YAML.load_file('gemspec.yml'))
41
+
42
+ gemspec.name = metadata.fetch('name',defaults[:name])
43
+ gemspec.version = if metadata['version']
44
+ metadata['version']
45
+ else
46
+ $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
47
+
48
+ require version[:file]
49
+ eval(version[:constant])
50
+ end
51
+
52
+ gemspec.summary = metadata.fetch('summary',metadata['description'])
53
+ gemspec.description = metadata.fetch('description',metadata['summary'])
54
+
55
+ case metadata['license']
56
+ when Array
57
+ gemspec.licenses = metadata['license']
58
+ when String
59
+ gemspec.license = metadata['license']
60
+ end
61
+
62
+ case metadata['authors']
63
+ when Array
64
+ gemspec.authors = metadata['authors']
65
+ when String
66
+ gemspec.author = metadata['authors']
67
+ end
68
+
69
+ gemspec.email = metadata['email']
70
+ gemspec.homepage = metadata['homepage']
71
+
72
+ case metadata['require_paths']
73
+ when Array
74
+ gemspec.require_paths = metadata['require_paths']
75
+ when String
76
+ gemspec.require_path = metadata['require_paths']
77
+ end
78
+
79
+ gemspec.files = filter_files[metadata['files']]
80
+
81
+ gemspec.executables = metadata['executables']
82
+ gemspec.extensions = metadata['extensions']
83
+
84
+ if Gem::VERSION < '1.7.'
85
+ gemspec.default_executable = gemspec.executables.first
86
+ end
87
+
88
+ gemspec.test_files = filter_files[metadata['test_files']]
89
+
90
+ unless gemspec.files.include?('.document')
91
+ gemspec.extra_rdoc_files = metadata['extra_doc_files']
92
+ end
93
+
94
+ gemspec.post_install_message = metadata['post_install_message']
95
+ gemspec.requirements = metadata['requirements']
96
+
97
+ if gemspec.respond_to?(:required_ruby_version=)
98
+ gemspec.required_ruby_version = metadata['required_ruby_version']
99
+ end
100
+
101
+ if gemspec.respond_to?(:required_rubygems_version=)
102
+ gemspec.required_rubygems_version = metadata['required_ruby_version']
103
+ end
104
+
105
+ parse_versions = lambda { |versions|
106
+ case versions
107
+ when Array
108
+ versions.map { |v| v.to_s }
109
+ when String
110
+ versions.split(/,\s*/)
111
+ end
112
+ }
113
+
114
+ if metadata['dependencies']
115
+ metadata['dependencies'].each do |name,versions|
116
+ gemspec.add_dependency(name,parse_versions[versions])
117
+ end
118
+ end
119
+
120
+ if metadata['runtime_dependencies']
121
+ metadata['runtime_dependencies'].each do |name,versions|
122
+ gemspec.add_runtime_dependency(name,parse_versions[versions])
123
+ end
124
+ end
125
+
126
+ if metadata['development_dependencies']
127
+ metadata['development_dependencies'].each do |name,versions|
128
+ gemspec.add_development_dependency(name,parse_versions[versions])
129
+ end
14
130
  end
15
131
  end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ronin-gen
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: 6
5
- version: 1.0.1.rc1
4
+ prerelease:
5
+ version: 1.0.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Postmodern
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-05-17 00:00:00 Z
13
+ date: 2011-07-04 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: open_namespace
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 0.3.0.rc1
33
+ version: "0.3"
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: *id002
@@ -52,7 +52,7 @@ dependencies:
52
52
  requirements:
53
53
  - - ~>
54
54
  - !ruby/object:Gem::Version
55
- version: 0.2.0.rc1
55
+ version: "0.1"
56
56
  type: :runtime
57
57
  prerelease: false
58
58
  version_requirements: *id004
@@ -63,7 +63,7 @@ dependencies:
63
63
  requirements:
64
64
  - - ~>
65
65
  - !ruby/object:Gem::Version
66
- version: 1.1.0.rc1
66
+ version: "1.0"
67
67
  type: :runtime
68
68
  prerelease: false
69
69
  version_requirements: *id005
@@ -85,7 +85,7 @@ dependencies:
85
85
  requirements:
86
86
  - - ~>
87
87
  - !ruby/object:Gem::Version
88
- version: 0.6.4
88
+ version: 0.7.0
89
89
  type: :development
90
90
  prerelease: false
91
91
  version_requirements: *id007
@@ -128,7 +128,7 @@ files:
128
128
  - data/ronin/gen/library/lib/ronin/name.rb.erb
129
129
  - data/ronin/gen/library/lib/ronin/name/version.rb.erb
130
130
  - data/ronin/gen/library/lib/ronin/ui/cli/commands/command.rb.erb
131
- - data/ronin/gen/library/library.gemspec.erb
131
+ - data/ronin/gen/library/name.gemspec.erb
132
132
  - data/ronin/gen/library/spec/name/name_spec.rb.erb
133
133
  - data/ronin/gen/library/spec/spec_helper.rb.erb
134
134
  - data/ronin/gen/repository/.rspec
@@ -188,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
188
  requirements:
189
189
  - git >= 1.6.0.0, for the library generator
190
190
  rubyforge_project: ronin-gen
191
- rubygems_version: 1.8.1
191
+ rubygems_version: 1.8.5
192
192
  signing_key:
193
193
  specification_version: 3
194
194
  summary: A Ruby library for Ronin that provides various generators.
@@ -1,15 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- begin
4
- Ore::Specification.new do |gemspec|
5
- # custom logic here
6
- end
7
- rescue NameError
8
- begin
9
- require 'ore/specification'
10
- retry
11
- rescue LoadError
12
- STDERR.puts "The '#{__FILE__}' file requires Ore."
13
- STDERR.puts "Run `gem install ore` to install Ore."
14
- end
15
- end