gem-bootstrap 0.1.0 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/bin/{gem-boostrap → gem-bootstrap} +0 -0
- data/templates/lib/{{gem_name}}.rb.mustache +4 -0
- data/templates/spec/spec_helper.rb.mustache +14 -0
- data/templates/tasks/docs.rake.mustache +22 -0
- data/templates/tasks/gem.rake.mustache +22 -0
- data/templates/tasks/release.rake.mustache +59 -0
- data/templates/tasks/rubocop.rake.mustache +5 -0
- data/templates/tasks/test.rake.mustache +15 -0
- metadata +11 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9f9d7f800bcef5bffe6bc5258ffeb6f7983649e852ba828d9ded5f85983a8e84
|
4
|
+
data.tar.gz: 0ec7c6d4f410526472ac1a1a688dfe14ec7a0689813f82e02678470a35a2cd78
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 96a798244eb7417ab742a7d51b28592544994899c5424dfd6c894483cf993fd507815bc45b7de64fa170708f6588c227b688cb006e2e957178865155b9732ffe
|
7
|
+
data.tar.gz: d5025217e5b59bc024dd7f439a013a9cde536dab20a87a5be13cf33b19e78af5802ea405e3f943676fa77947e358472f74bfc82c1b3f99eca1265612841d050e
|
File without changes
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
|
4
|
+
|
5
|
+
require 'simplecov'
|
6
|
+
require 'coveralls'
|
7
|
+
|
8
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
|
9
|
+
Coveralls::SimpleCov::Formatter,
|
10
|
+
SimpleCov::Formatter::HTMLFormatter,
|
11
|
+
])
|
12
|
+
SimpleCov.start
|
13
|
+
|
14
|
+
require '{{gem_name}}'
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
desc 'Builds the documentation'
|
4
|
+
task 'docs' => [
|
5
|
+
'docs:clean',
|
6
|
+
'docs:build',
|
7
|
+
'docs:tgz',
|
8
|
+
]
|
9
|
+
|
10
|
+
task 'docs:build' do
|
11
|
+
sh('yard')
|
12
|
+
end
|
13
|
+
|
14
|
+
task 'docs:clean' do
|
15
|
+
rm_rf('.yardoc')
|
16
|
+
rm_rf('docs')
|
17
|
+
rm_rf('docs.tgz')
|
18
|
+
end
|
19
|
+
|
20
|
+
task 'docs:tgz' => ['docs:build'] do
|
21
|
+
sh('tar czf docs.tgz docs/')
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
desc 'Builds a gem'
|
4
|
+
task 'gem' => [
|
5
|
+
'gem:clean',
|
6
|
+
'gem:build',
|
7
|
+
]
|
8
|
+
|
9
|
+
task 'gem:build' do
|
10
|
+
sh('gem build {{gem_name}}.gemspec')
|
11
|
+
end
|
12
|
+
|
13
|
+
task 'gem:clean' do
|
14
|
+
Dir.glob('*.gem').each do |gem_path|
|
15
|
+
rm_f(gem_path)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
task 'gem:install' => ['gem:clean', 'gem:build'] do
|
20
|
+
path = Dir.glob('*.gem').first
|
21
|
+
sh("gem install #{path}")
|
22
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'semver-string'
|
4
|
+
|
5
|
+
def version
|
6
|
+
if ENV['VERSION'].to_s.empty?
|
7
|
+
warn('usage: VERSION=x.y.z rake release')
|
8
|
+
exit(1)
|
9
|
+
end
|
10
|
+
begin
|
11
|
+
Semver::String.parse(ENV['VERSION'])
|
12
|
+
rescue Semver::InvalidFormatError => e
|
13
|
+
warn("ENV['VERSION'] #{e.message}")
|
14
|
+
exit(1)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
desc 'Releases a new version of {{gem_name}}'
|
19
|
+
task 'release' => [
|
20
|
+
'release:require-clean-workspace',
|
21
|
+
'test',
|
22
|
+
'release:changelog',
|
23
|
+
'release:tag',
|
24
|
+
'release:push',
|
25
|
+
]
|
26
|
+
|
27
|
+
task 'release:require-clean-workspace' do
|
28
|
+
unless `git diff --shortstat 2> /dev/null | tail -n1` == ''
|
29
|
+
warn('workspace must be clean to release')
|
30
|
+
exit(1)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
task 'release:changelog' do
|
35
|
+
changelog = File.read('CHANGELOG.md').lines
|
36
|
+
changelog = changelog[0..4] + [nil, nil, nil] + changelog[5..-1]
|
37
|
+
changelog[5] = "v#{version} (#{Time.now.strftime('%Y-%m-%d')})\n"
|
38
|
+
changelog[6] = '-' * changelog[5].chars.count + "\n"
|
39
|
+
changelog[7] = "\n"
|
40
|
+
File.write('CHANGELOG.md', changelog.join)
|
41
|
+
sh('git add CHANGELOG.md')
|
42
|
+
end
|
43
|
+
|
44
|
+
task 'release:tag' do
|
45
|
+
File.write('VERSION', "#{version}\n")
|
46
|
+
git_cmd = '$(git describe --tags --abbrev=0)'
|
47
|
+
git_cmd = "git log #{git_cmd}...HEAD -E --grep '#[0-9]+' 2>/dev/null"
|
48
|
+
issues = `#{git_cmd}`.scan(%r{((?:\S+/\S+)?#\d+)}).flatten
|
49
|
+
msg = "Tag release v#{version}"
|
50
|
+
msg += "\n\nReferences: #{issues.uniq.sort.join(', ')}" unless issues.empty?
|
51
|
+
sh('git add VERSION')
|
52
|
+
sh("git commit -m \"Bump version to v#{version}\"")
|
53
|
+
sh("git tag -a -m #{msg.inspect} v#{version}")
|
54
|
+
end
|
55
|
+
|
56
|
+
task 'release:push' do
|
57
|
+
sh('git push origin')
|
58
|
+
sh('git push origin --tags')
|
59
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gem-bootstrap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- The Incognito Coder
|
@@ -280,11 +280,11 @@ description:
|
|
280
280
|
email:
|
281
281
|
- theincognitocoder@gmail.com
|
282
282
|
executables:
|
283
|
-
- gem-
|
283
|
+
- gem-bootstrap
|
284
284
|
extensions: []
|
285
285
|
extra_rdoc_files: []
|
286
286
|
files:
|
287
|
-
- bin/gem-
|
287
|
+
- bin/gem-bootstrap
|
288
288
|
- lib/gem-bootstrap.rb
|
289
289
|
- lib/gem-bootstrap/builder.rb
|
290
290
|
- lib/gem-bootstrap/cli.rb
|
@@ -303,6 +303,13 @@ files:
|
|
303
303
|
- templates/README.md.mustache
|
304
304
|
- templates/Rakefile.mustache
|
305
305
|
- templates/VERSION.mustache
|
306
|
+
- templates/lib/{{gem_name}}.rb.mustache
|
307
|
+
- templates/spec/spec_helper.rb.mustache
|
308
|
+
- templates/tasks/docs.rake.mustache
|
309
|
+
- templates/tasks/gem.rake.mustache
|
310
|
+
- templates/tasks/release.rake.mustache
|
311
|
+
- templates/tasks/rubocop.rake.mustache
|
312
|
+
- templates/tasks/test.rake.mustache
|
306
313
|
- templates/{{gem_name}}.gemspec.mustache
|
307
314
|
homepage: https://github.com/theincognitocoder/gem-bootstrap
|
308
315
|
licenses:
|
@@ -329,7 +336,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
329
336
|
version: '0'
|
330
337
|
requirements: []
|
331
338
|
rubyforge_project:
|
332
|
-
rubygems_version: 2.
|
339
|
+
rubygems_version: 2.7.7
|
333
340
|
signing_key:
|
334
341
|
specification_version: 4
|
335
342
|
summary: CLI for bootstrapping new Ruby gem projects.
|