gem-bootstrap 0.1.0 → 0.1.4
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.
- 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.
|