ronin-gen 1.0.1.rc1 → 1.0.1

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