gem-this 0.3.5 → 0.3.6
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/Rakefile +8 -5
- data/lib/gem_this.rb +4 -2
- data/test/gem_this_test.rb +20 -0
- metadata +4 -4
data/Rakefile
CHANGED
@@ -20,7 +20,7 @@ spec = Gem::Specification.new do |s|
|
|
20
20
|
|
21
21
|
# Change these as appropriate
|
22
22
|
s.name = "gem-this"
|
23
|
-
s.version = "0.3.
|
23
|
+
s.version = "0.3.6"
|
24
24
|
s.summary = "Make existing code into a gem, without any fuss."
|
25
25
|
s.author = "James Adam"
|
26
26
|
s.email = "james@lazyatom.com"
|
@@ -80,18 +80,21 @@ task :clean => [:clobber_rdoc, :clobber_package] do
|
|
80
80
|
end
|
81
81
|
|
82
82
|
desc 'Tag the repository in git with gem version number'
|
83
|
-
task :tag
|
84
|
-
|
83
|
+
task :tag do
|
84
|
+
changed_files = `git diff --cached --name-only`.split("\n") + `git diff --name-only`.split("\n")
|
85
|
+
if changed_files == ['Rakefile']
|
86
|
+
Rake::Task["package"].invoke
|
87
|
+
|
85
88
|
if `git tag`.split("\n").include?("v#{spec.version}")
|
86
89
|
raise "Version #{spec.version} has already been released"
|
87
90
|
end
|
88
|
-
`git add #{File.expand_path("../#{spec.name}.gemspec", __FILE__)}`
|
91
|
+
`git add #{File.expand_path("../#{spec.name}.gemspec", __FILE__)} Rakefile`
|
89
92
|
`git commit -m "Released version #{spec.version}"`
|
90
93
|
`git tag v#{spec.version}`
|
91
94
|
`git push --tags`
|
92
95
|
`git push`
|
93
96
|
else
|
94
|
-
raise "
|
97
|
+
raise "Repository contains uncommitted changes; either commit or stash."
|
95
98
|
end
|
96
99
|
end
|
97
100
|
|
data/lib/gem_this.rb
CHANGED
@@ -9,7 +9,7 @@ class GemThis
|
|
9
9
|
class << self
|
10
10
|
attr_accessor :custom_task_file
|
11
11
|
end
|
12
|
-
self.custom_task_file = File.expand_path("~/.gem-this")
|
12
|
+
self.custom_task_file = ENV['HOME'] && File.expand_path("~/.gem-this")
|
13
13
|
|
14
14
|
attr_reader :name, :debug
|
15
15
|
|
@@ -23,7 +23,9 @@ class GemThis
|
|
23
23
|
def create_rakefile
|
24
24
|
template = ERB.new File.read(File.join(File.dirname(__FILE__), '..', 'Rakefile.erb')), nil, '<>'
|
25
25
|
rakefile = template.result(binding)
|
26
|
-
|
26
|
+
if self.class.custom_task_file && File.exist?(self.class.custom_task_file)
|
27
|
+
rakefile += "\n" + File.read(self.class.custom_task_file)
|
28
|
+
end
|
27
29
|
|
28
30
|
if debug
|
29
31
|
puts rakefile
|
data/test/gem_this_test.rb
CHANGED
@@ -110,4 +110,24 @@ end
|
|
110
110
|
assert_rake_task :custom_task
|
111
111
|
end
|
112
112
|
end
|
113
|
+
|
114
|
+
context "When the user has no .gem-this file specified" do
|
115
|
+
setup do
|
116
|
+
GemThis.custom_task_file = nil
|
117
|
+
end
|
118
|
+
|
119
|
+
should "not raise exception when building gem" do
|
120
|
+
assert_nothing_raised { build_gem {} }
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
context "When the specified .gem-this file does not exist" do
|
125
|
+
setup do
|
126
|
+
GemThis.custom_task_file = "hopefully/this/file/doesnt/exist"
|
127
|
+
end
|
128
|
+
|
129
|
+
should "not raise exception when building gem" do
|
130
|
+
assert_nothing_raised { build_gem {} }
|
131
|
+
end
|
132
|
+
end
|
113
133
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gem-this
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 31
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 6
|
10
|
+
version: 0.3.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- James Adam
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-01-16 00:00:00 +00:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|