gemstub 1.2.6 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/gemstub/gem_generator/templates/Rakefile.template +14 -129
- data/lib/gemstub/gem_generator/templates/test/test_app.rb.template +1 -1
- data/lib/gemstub.rb +144 -2
- metadata +7 -9
- data/lib/gemstub/tools.rb +0 -5
- data/lib/gemstub/yaml_generator/manifest.yml +0 -4
- data/lib/gemstub/yaml_generator/templates/gems.yml.template +0 -23
- data/lib/gemstub/yaml_generator/yaml_generator.rb +0 -7
@@ -1,133 +1,18 @@
|
|
1
|
-
require 'rake'
|
2
|
-
require 'rake/gempackagetask'
|
3
|
-
require 'rake/clean'
|
4
|
-
require 'rake/testtask'
|
5
|
-
require 'rake/rdoctask'
|
6
|
-
require 'find'
|
7
|
-
require 'rubyforge'
|
8
1
|
require 'rubygems'
|
9
|
-
require '
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
2
|
+
require 'gemstub'
|
3
|
+
|
4
|
+
<% if rspec? -%>
|
5
|
+
Gemstub.test_framework = :rspec
|
6
|
+
<% elsif unit? -%>
|
7
|
+
Gemstub.test_framework = :test_unit
|
8
|
+
<% end -%>
|
9
|
+
|
10
|
+
Gemstub.gem_spec do |s|
|
11
|
+
# s.version = "0.0.1"
|
12
|
+
# s.rubyforge_project = "<%= app -%>"
|
13
|
+
# s.add_dependency('')
|
18
14
|
end
|
19
|
-
<%- end -%>
|
20
15
|
|
21
|
-
|
22
|
-
|
23
|
-
s.version = "<%= version %>"
|
24
|
-
s.summary = "<%= app %>"
|
25
|
-
s.description = "<%= app %> was developed by: <%= author %>"
|
26
|
-
s.author = "<%= author %>"
|
27
|
-
s.email = ""
|
28
|
-
s.homepage = ""
|
29
|
-
s.files = FileList['lib/**/*.*', 'README', 'LICENSE', 'bin/**/*.*']
|
30
|
-
s.require_paths = ['lib']
|
31
|
-
s.extra_rdoc_files = ['README', 'LICENSE']
|
32
|
-
s.has_rdoc = true
|
33
|
-
s.rubyforge_project = "<%= app %>"
|
34
|
-
# s.test_files = FileList['spec/**/*']
|
35
|
-
#s.bindir = "bin"
|
36
|
-
#s.executables << "<%= app %>"
|
37
|
-
#s.add_dependency("", "")
|
38
|
-
#s.add_dependency("", "")
|
39
|
-
#s.extensions << ""
|
40
|
-
#s.required_ruby_version = ">= 1.8.6"
|
41
|
-
#s.default_executable = ""
|
42
|
-
#s.platform = "Gem::Platform::Ruby"
|
43
|
-
#s.requirements << "An ice cold beer."
|
44
|
-
#s.requirements << "Some free time!"
|
45
|
-
end
|
46
|
-
|
47
|
-
# rake package
|
48
|
-
Rake::GemPackageTask.new(@gem_spec) do |pkg|
|
49
|
-
pkg.need_zip = false
|
50
|
-
pkg.need_tar = false
|
51
|
-
rm_f FileList['pkg/**/*.*']
|
52
|
-
end
|
53
|
-
|
54
|
-
<%- if rspec? -%>
|
55
|
-
# rake
|
56
|
-
desc 'Run specifications'
|
57
|
-
Spec::Rake::SpecTask.new(:default) do |t|
|
58
|
-
opts = File.join(File.dirname(__FILE__), "spec", 'spec.opts')
|
59
|
-
t.spec_opts << '--options' << opts if File.exists?(opts)
|
60
|
-
t.spec_files = Dir.glob('spec/**/*_spec.rb')
|
61
|
-
end
|
62
|
-
<%- elsif unit? -%>
|
63
|
-
task :default => :test
|
64
|
-
Rake::TestTask.new { |t|
|
65
|
-
t.libs << "test"
|
66
|
-
t.pattern = 'test/unit/**/test_*.rb'
|
67
|
-
t.verbose = true
|
68
|
-
t.warning = true
|
69
|
-
}
|
70
|
-
<%- end -%>
|
71
|
-
|
72
|
-
desc 'regenerate the gemspec'
|
73
|
-
task :gemspec do
|
74
|
-
@gem_spec.version = "#{@gem_spec.version}.#{Time.now.strftime('%Y%m%d%H%M%S')}"
|
75
|
-
File.open(File.join(File.dirname(__FILE__), '<%= app %>.gemspec'), 'w') {|f| f.puts @gem_spec.to_ruby}
|
76
|
-
end
|
77
|
-
|
78
|
-
desc "Install the gem"
|
79
|
-
task :install => [:package] do |t|
|
80
|
-
sudo = ENV['SUDOLESS'] == 'true' || RUBY_PLATFORM =~ /win32|cygwin/ ? '' : 'sudo'
|
81
|
-
puts `#{sudo} gem install #{File.join("pkg", @gem_spec.name)}-#{@gem_spec.version}.gem --no-update-sources --no-ri --no-rdoc`
|
82
|
-
end
|
83
|
-
|
84
|
-
desc "Release the gem"
|
85
|
-
task :release => :install do |t|
|
86
|
-
begin
|
87
|
-
ac_path = File.join(ENV["HOME"], ".rubyforge", "auto-config.yml")
|
88
|
-
if File.exists?(ac_path)
|
89
|
-
fixed = File.open(ac_path).read.gsub(" ~: {}\n\n", '')
|
90
|
-
fixed.gsub!(/ !ruby\/object:Gem::Version \? \n.+\n.+\n\n/, '')
|
91
|
-
puts "Fixing #{ac_path}..."
|
92
|
-
File.open(ac_path, "w") {|f| f.puts fixed}
|
93
|
-
end
|
94
|
-
begin
|
95
|
-
rf = RubyForge.new
|
96
|
-
rf.configure
|
97
|
-
rf.login
|
98
|
-
rf.add_release(@gem_spec.rubyforge_project, @gem_spec.name, @gem_spec.version, File.join("pkg", "#{@gem_spec.name}-#{@gem_spec.version}.gem"))
|
99
|
-
rescue Exception => e
|
100
|
-
if e.message.match("Invalid package_id") || e.message.match("no <package_id> configured for")
|
101
|
-
puts "You need to create the package!"
|
102
|
-
rf.create_package(@gem_spec.rubyforge_project, @gem_spec.name)
|
103
|
-
rf.add_release(@gem_spec.rubyforge_project, @gem_spec.name, @gem_spec.version, File.join("pkg", "#{@gem_spec.name}-#{@gem_spec.version}.gem"))
|
104
|
-
else
|
105
|
-
raise e
|
106
|
-
end
|
107
|
-
end
|
108
|
-
rescue Exception => e
|
109
|
-
if e.message == "You have already released this version."
|
110
|
-
puts e
|
111
|
-
else
|
112
|
-
raise e
|
113
|
-
end
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
|
118
|
-
Rake::RDocTask.new do |rd|
|
119
|
-
rd.main = "README"
|
120
|
-
files = Dir.glob("**/*.rb")
|
121
|
-
<%- if rspec? -%>
|
122
|
-
files = files.collect {|f| f unless f.match("spec/") || f.match("doc/") }.compact
|
123
|
-
<%- elsif unit? -%>
|
124
|
-
files = files.collect {|f| f unless f.match("test/") || f.match("doc/") }.compact
|
125
|
-
<%- end -%>
|
126
|
-
files << 'README'
|
127
|
-
files << 'LICENSE'
|
128
|
-
rd.rdoc_files = files
|
129
|
-
rd.rdoc_dir = "doc"
|
130
|
-
rd.options << "--line-numbers"
|
131
|
-
rd.options << "--inline-source"
|
132
|
-
rd.title = "<%= app %>"
|
16
|
+
Gemstub.rdoc do |rd|
|
17
|
+
rd.title = "<%= app -%>"
|
133
18
|
end
|
data/lib/gemstub.rb
CHANGED
@@ -1,5 +1,147 @@
|
|
1
1
|
require 'genosaurus'
|
2
2
|
require "mack-facets"
|
3
|
-
require File.join(File.dirname(__FILE__), 'gemstub', 'tools')
|
4
3
|
require File.join(File.dirname(__FILE__), 'gemstub', 'gem_generator', 'gem_generator')
|
5
|
-
|
4
|
+
|
5
|
+
require 'rake'
|
6
|
+
require 'rake/gempackagetask'
|
7
|
+
require 'rake/clean'
|
8
|
+
require 'rake/testtask'
|
9
|
+
require 'rake/rdoctask'
|
10
|
+
require 'find'
|
11
|
+
require 'rubyforge'
|
12
|
+
require 'rubygems'
|
13
|
+
require 'rubygems/gem_runner'
|
14
|
+
require 'spec'
|
15
|
+
require 'spec/rake/spectask'
|
16
|
+
require 'fileutils'
|
17
|
+
|
18
|
+
module Gemstub
|
19
|
+
|
20
|
+
class << self
|
21
|
+
|
22
|
+
attr_accessor :test_framework
|
23
|
+
|
24
|
+
def rspec?
|
25
|
+
test_framework == :rspec
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_unit?
|
29
|
+
test_framework == :test_unit
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_framework=(framework)
|
33
|
+
@test_framework = framework
|
34
|
+
if rspec?
|
35
|
+
# rake
|
36
|
+
desc 'Run specifications'
|
37
|
+
Spec::Rake::SpecTask.new(:default) do |t|
|
38
|
+
opts = File.join('spec', 'spec.opts')
|
39
|
+
t.spec_opts << '--options' << opts if File.exists?(opts)
|
40
|
+
t.spec_files = Dir.glob('spec/**/*_spec.rb')
|
41
|
+
end
|
42
|
+
elsif test_unit?
|
43
|
+
task :default => :test
|
44
|
+
Rake::TestTask.new do |t|
|
45
|
+
t.libs << "test"
|
46
|
+
t.pattern = 'test/unit/**/test_*.rb'
|
47
|
+
t.verbose = true
|
48
|
+
t.warning = true
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def gem_spec(&block)
|
54
|
+
@gem_spec = Gem::Specification.new do |s|
|
55
|
+
s.name = File.basename(FileUtils.pwd)
|
56
|
+
s.version = "0.0.1"
|
57
|
+
s.summary = s.name
|
58
|
+
s.author = (ENV["USERNAME"] || ENV["USER"])
|
59
|
+
s.description = "#{s.name} was developed by: #{s.author}"
|
60
|
+
s.email = ""
|
61
|
+
s.homepage = ""
|
62
|
+
s.files = FileList['lib/**/*.*', 'README', 'LICENSE', 'bin/**/*.*']
|
63
|
+
s.require_paths = ['lib']
|
64
|
+
s.extra_rdoc_files = ['README', 'LICENSE']
|
65
|
+
s.has_rdoc = true
|
66
|
+
yield s
|
67
|
+
end
|
68
|
+
|
69
|
+
# rake package
|
70
|
+
Rake::GemPackageTask.new(@gem_spec) do |pkg|
|
71
|
+
pkg.need_zip = false
|
72
|
+
pkg.need_tar = false
|
73
|
+
rm_f FileList['pkg/**/*.*']
|
74
|
+
end
|
75
|
+
|
76
|
+
desc 'regenerate the gemspec'
|
77
|
+
task :gemspec do
|
78
|
+
@gem_spec.version = "#{@gem_spec.version}.#{Time.now.strftime('%Y%m%d%H%M%S')}"
|
79
|
+
File.open(File.join('content_o_matic.gemspec'), 'w') {|f| f.puts @gem_spec.to_ruby}
|
80
|
+
end
|
81
|
+
|
82
|
+
desc "Install the gem"
|
83
|
+
task :install => [:package] do |t|
|
84
|
+
sudo = ENV['SUDOLESS'] == 'true' || RUBY_PLATFORM =~ /win32|cygwin/ ? '' : 'sudo'
|
85
|
+
puts `#{sudo} gem install #{File.join("pkg", @gem_spec.name)}-#{@gem_spec.version}.gem --no-update-sources --no-ri --no-rdoc`
|
86
|
+
end
|
87
|
+
|
88
|
+
desc "Release the gem"
|
89
|
+
task :release => :install do |t|
|
90
|
+
begin
|
91
|
+
ac_path = File.join(ENV["HOME"], ".rubyforge", "auto-config.yml")
|
92
|
+
if File.exists?(ac_path)
|
93
|
+
fixed = File.open(ac_path).read.gsub(" ~: {}\n\n", '')
|
94
|
+
fixed.gsub!(/ !ruby\/object:Gem::Version \? \n.+\n.+\n\n/, '')
|
95
|
+
puts "Fixing #{ac_path}..."
|
96
|
+
File.open(ac_path, "w") {|f| f.puts fixed}
|
97
|
+
end
|
98
|
+
begin
|
99
|
+
rf = RubyForge.new
|
100
|
+
rf.configure
|
101
|
+
rf.login
|
102
|
+
rf.add_release(@gem_spec.rubyforge_project, @gem_spec.name, @gem_spec.version, File.join("pkg", "#{@gem_spec.name}-#{@gem_spec.version}.gem"))
|
103
|
+
rescue Exception => e
|
104
|
+
if e.message.match("Invalid package_id") || e.message.match("no <package_id> configured for")
|
105
|
+
puts "You need to create the package!"
|
106
|
+
rf.create_package(@gem_spec.rubyforge_project, @gem_spec.name)
|
107
|
+
rf.add_release(@gem_spec.rubyforge_project, @gem_spec.name, @gem_spec.version, File.join("pkg", "#{@gem_spec.name}-#{@gem_spec.version}.gem"))
|
108
|
+
else
|
109
|
+
raise e
|
110
|
+
end
|
111
|
+
end
|
112
|
+
rescue Exception => e
|
113
|
+
if e.message == "You have already released this version."
|
114
|
+
puts e
|
115
|
+
else
|
116
|
+
raise e
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
end # gem_spec
|
122
|
+
|
123
|
+
def rdoc(&block)
|
124
|
+
Rake::RDocTask.new do |rd|
|
125
|
+
rd.main = "README"
|
126
|
+
files = Dir.glob("**/*.rb")
|
127
|
+
if rspec?
|
128
|
+
files = files.collect {|f| f unless f.match("spec/") || f.match("doc/") }.compact
|
129
|
+
elsif test_unit?
|
130
|
+
files = files.collect {|f| f unless f.match("test/") || f.match("doc/") }.compact
|
131
|
+
end
|
132
|
+
files << 'README'
|
133
|
+
files << 'LICENSE'
|
134
|
+
rd.rdoc_files = files
|
135
|
+
rd.rdoc_dir = "doc"
|
136
|
+
rd.options << "--line-numbers"
|
137
|
+
rd.options << "--inline-source"
|
138
|
+
rd.title = "content_o_matic"
|
139
|
+
yield rd if block_given?
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
end # class << self
|
144
|
+
|
145
|
+
end # Gemstub
|
146
|
+
|
147
|
+
Gemstub.rdoc
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemstub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Bates
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-07-22 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -63,14 +63,12 @@ files:
|
|
63
63
|
- lib/gemstub/gem_generator/templates/spec/spec_helper.rb.template
|
64
64
|
- lib/gemstub/gem_generator/templates/test/test_app.rb.template
|
65
65
|
- lib/gemstub/gem_generator/templates/test/test_helper.rb.template
|
66
|
-
- lib/gemstub/tools.rb
|
67
|
-
- lib/gemstub/yaml_generator/manifest.yml
|
68
|
-
- lib/gemstub/yaml_generator/templates/gems.yml.template
|
69
|
-
- lib/gemstub/yaml_generator/yaml_generator.rb
|
70
66
|
- lib/gemstub.rb
|
71
67
|
- README
|
72
|
-
has_rdoc:
|
68
|
+
has_rdoc: true
|
73
69
|
homepage: http://www.mackframework.com
|
70
|
+
licenses: []
|
71
|
+
|
74
72
|
post_install_message:
|
75
73
|
rdoc_options: []
|
76
74
|
|
@@ -91,9 +89,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
91
89
|
requirements: []
|
92
90
|
|
93
91
|
rubyforge_project: gemstub
|
94
|
-
rubygems_version: 1.3.
|
92
|
+
rubygems_version: 1.3.4
|
95
93
|
signing_key:
|
96
|
-
specification_version:
|
94
|
+
specification_version: 3
|
97
95
|
summary: "Gemstub is a very simple tool for creating the stub code you need to build a gem. Usage: at a command prompt simply type: gemstub your_gem_name_here That's it, after that, you all you have to do is the actual coding of your gem! Enjoy!"
|
98
96
|
test_files: []
|
99
97
|
|
data/lib/gemstub/tools.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# specify an alternate gems repository
|
2
|
-
# source: http://local_mirror.example.com
|
3
|
-
# specify a different gem command
|
4
|
-
# gem_command: 'jruby -S gem'
|
5
|
-
gems:
|
6
|
-
# - name: postgres
|
7
|
-
# # the version to use
|
8
|
-
# version: '0.7.1'
|
9
|
-
# # use a specfic source URL
|
10
|
-
# source: 'http://mongrel.rubyforge.org/releases'
|
11
|
-
# # load with GemTools.load_gems
|
12
|
-
# load: true
|
13
|
-
# # any extra config that needs to be passed to gem install
|
14
|
-
# config: '--with-pgsql-include-dir=/usr/local/pgsql/include --with-pgsql-lib-dir=/usr/local/pgsql/lib'
|
15
|
-
# # require name is different than the gem name
|
16
|
-
# require_name: foo-bar
|
17
|
-
# - name: mislav-will_paginate
|
18
|
-
# version: 2.3.2
|
19
|
-
# require_name:
|
20
|
-
# - will_paginate
|
21
|
-
# - will_paginate/collection
|
22
|
-
# - will_paginate/array
|
23
|
-
# load: true
|