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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 565a02a27168251cd3ff2c3453ee2d3e1f1718b3
4
- data.tar.gz: c51cb50b1249d4e155e5e50393a2156aa598260c
2
+ SHA256:
3
+ metadata.gz: 9f9d7f800bcef5bffe6bc5258ffeb6f7983649e852ba828d9ded5f85983a8e84
4
+ data.tar.gz: 0ec7c6d4f410526472ac1a1a688dfe14ec7a0689813f82e02678470a35a2cd78
5
5
  SHA512:
6
- metadata.gz: 8368cc83b8d6eca9656045ab14ca23646f5767f4e56d53dec340f92a7976fe7e18547de9873fe68aa1d6f21610deb31357b6dc66c3c92fd1236a1e355564c2f9
7
- data.tar.gz: d0d4e90a339689178b3aa3fe796d55567ff7914743504fac88e16ad99f091b703265e03cdd197a49083797aae27bde306053b9551fd06eca4a258b4218e33a1b
6
+ metadata.gz: 96a798244eb7417ab742a7d51b28592544994899c5424dfd6c894483cf993fd507815bc45b7de64fa170708f6588c227b688cb006e2e957178865155b9732ffe
7
+ data.tar.gz: d5025217e5b59bc024dd7f439a013a9cde536dab20a87a5be13cf33b19e78af5802ea405e3f943676fa77947e358472f74bfc82c1b3f99eca1265612841d050e
File without changes
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ # {{project_summary}}
4
+ module {{module_name}}; end
@@ -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
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rubocop/rake_task'
4
+
5
+ RuboCop::RakeTask.new('rubocop')
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ desc 'Runs the test suite'
4
+ task 'test' => [
5
+ 'test:clean',
6
+ 'test:spec',
7
+ ]
8
+
9
+ task 'test:clean' do
10
+ rm_rf('coverage')
11
+ end
12
+
13
+ task 'test:spec' do
14
+ sh('bundle exec rspec')
15
+ 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.0
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-boostrap
283
+ - gem-bootstrap
284
284
  extensions: []
285
285
  extra_rdoc_files: []
286
286
  files:
287
- - bin/gem-boostrap
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.5.1
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.