hoe-manns 2.1.2 → 2.1.8

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.
@@ -0,0 +1,19 @@
1
+ # MAINTENANCE POLICY
2
+
3
+ I'm following the Semantic Versioning for its releases: (Major).(Minor).(Patch).
4
+
5
+ * Major version: Whenever there is something significant or any backwards
6
+ incompatible changes.
7
+ * Minor version: When new, backwards compatible functionality is introduced a
8
+ minor feature is introduced, or when a set of smaller features is rolled out.
9
+ * Patch number: When backwards compatible bug fixes are introduced that fix
10
+ incorrect behavior.
11
+ * The current stable release will receive security patches and bug fixes
12
+ (eg. 5.0 -> 5.0.1).
13
+ * Feature releases will mark the next supported stable release where the minor
14
+ version is increased numerically by increments of one (eg. 5.0 -> 5.1).
15
+
16
+ I encourage everyone to run the latest stable release to ensure that you can
17
+ easily upgrade to the most secure and feature rich experience. In order to
18
+ make sure you can easily run the most recent stable release, we are working
19
+ hard to keep the update process simple and reliable.
@@ -0,0 +1,89 @@
1
+ # hoe-manns
2
+
3
+ ## DESCRIPTION
4
+
5
+ hoe-manns is a small collection of my personal used rake tasks for using with hoe. Actually it includes that tasks:
6
+
7
+ * bundler:gemfile_lock
8
+ * bundle_audit:*
9
+ * clean_pkg
10
+ * copy_master
11
+ * remove_pre_gemspec
12
+ * run_before_release
13
+ * run_after_release
14
+
15
+ The CHANGELOG.md contains a detailed description of what has changed.
16
+
17
+ hoe-manns is released under the GPL-3.0-or-later License, see the file 'LICENSE.md' for more information.
18
+
19
+ |What | Where |
20
+ |-----|--------|
21
+ |codebase | [https://github.com/saigkill/hoe-manns] |
22
+ |rdoc | [http://www.rubydoc.info/gems/hoe-manns] |
23
+ |docs | [https://github.com/saigkill/hoe-manns/wiki] |
24
+ |bugs & feature requests | [https://github.com/saigkill/hoe-manns/issues] |
25
+ |openhub statistics| [https://www.openhub.net/p/hoe-manns] |
26
+ |authors blog| [https://saschamanns.de/] |
27
+
28
+ | What | Status |
29
+ |-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
30
+ |last public version | [![Last Version](https://badge.fury.io/rb/hoe-manns.png)](http://rubygems.org/gems/hoe-manns) |
31
+ |downloads latest | [![Downloads latest](https://img.shields.io/gem/dtv/hoe-manns.svg)](http://rubygems.org/gems/hoe-manns) |
32
+ |downloads all | [![Downloads all](https://img.shields.io/gem/dt/hoe-manns.svg)](http://rubygems.org/gems/hoe-manns) |
33
+ |continuous integration | ![CI](https://github.com/saigkill/hoe-manns/workflows/CI/badge.svg?branch=master&event=push) |
34
+ |code quality | [![Code Quality](https://api.codeclimate.com/v1/badges/009b795034d7c698c74f/maintainability)](https://codeclimate.com/github/saigkill/hoe-manns/maintainability) |
35
+ |dependencies|[![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=saigkill/hoe-manns)](https://dependabot.com)
36
+ |security | [![Security](https://hakiri.io/github/saigkill/hoe-manns/master.svg)](https://hakiri.io/github/saigkill/hoe-manns/master/shield) |
37
+ |vulnerabilities| [![Known Vulnerabilities](https://snyk.io/test/github/saigkill/hoe-manns/badge.svg?targetFile=Gemfile.lock)](https://snyk.io/test/github/saigkill/hoe-manns?targetFile=Gemfile.lock) |
38
+ |documentation quality | [![Documentation Quality](https://inch-ci.org/github/saigkill/hoe-manns.svg?branch=master)](https://inch-ci.org/github/saigkill/hoe-manns) |
39
+
40
+ ## SCREENSHOT
41
+
42
+ [![Screenshot](https://saschamanns.de/img/screenshots/hoe-manns-screenshots.png)](https://github.com/saigkill/hoe-manns)
43
+
44
+ ## FEATURES
45
+
46
+ * Updates the Gemfile.lock
47
+ * Removes the old *.gemspec created in test cases
48
+ * copies your manuals to your docpath.
49
+ * runs the rake tasks before release: git:manifest, bundler:gemfile, update_gemfile_lock, remove_pre_gemspec, bundler_audit:run and copy_mirror.
50
+ * runs after release: send_email.
51
+ * Cleans up the pkg dir
52
+ * provides bundler_audit tasks
53
+
54
+ ## REQUIREMENTS:
55
+
56
+ * rake
57
+ * hoe
58
+ * bundler-audit
59
+
60
+ ## INSTALL
61
+
62
+ The installation is very easy.
63
+
64
+ gem install hoe-manns
65
+
66
+ ## SYNOPSIS
67
+
68
+ Use in your Rakefile:
69
+
70
+ Hoe.plugin :manns
71
+
72
+ Hoe.spec 'your project' do
73
+ ...
74
+ end
75
+
76
+ Also add hoe-manns to your requirements and recreate your Gemfile.
77
+
78
+ ## DEVELOPERS
79
+
80
+ After checking out the source, run:
81
+
82
+ `$ rake newb`
83
+
84
+ This task will install any missing dependencies, run the tests/specs, and generate the RDoc.
85
+ Also you can read the MAINTENANCE.md and CONTRIBUTING.md for more information.
86
+
87
+ ## ISSUE TRACKING
88
+
89
+ * Add ideas on: https://github.com/saigkill/hoe-manns/issues
@@ -1,71 +1,71 @@
1
- # Copyright (C) 2013-2018 Sascha Manns <Sascha.Manns@mailbox.org>
2
- #
3
- # This program is free software: you can redistribute it and/or modify
4
- # it under the terms of the GNU General Public License as published by
5
- # the Free Software Foundation, either version 3 of the License, or
6
- # (at your option) any later version.
7
- #
8
- # This program is distributed in the hope that it will be useful,
9
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
- # GNU General Public License for more details.
12
- #
13
- # You should have received a copy of the GNU General Public License
14
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
15
-
16
- # Dependencies
17
- require 'rainbow/ext/string'
18
-
19
- # Module Hoe
20
- # TODO: Try to fix this in future
21
- # rubocop:disable Metrics/ClassAndModuleChildren
22
- module Hoe::MannsMethods
23
- # Installs a bundle
24
- def self.bundle_install
25
- puts 'Installing Bundle'.color(:yellow)
26
- system('bundle install')
27
- puts 'Installed Bundle'.color(:green)
28
- end
29
-
30
- # Update Gemfile.lock
31
- def self.update_gemfile_lock_method
32
- puts 'Updating Gemfile.lock'.color(:yellow)
33
- system('bundle update')
34
- puts 'Updated Gemfile.lock'.color(:green)
35
- end
36
-
37
- # Remove prerelease gemspec
38
- def self.remove_pre_gemspec_method
39
- puts 'Removing pre version of gemspec'.color(:yellow)
40
- File.delete(*Dir.glob('*.gemspec'))
41
- puts 'Removed'.color(:green)
42
- end
43
-
44
- # Copying stuff to master
45
- def self.copy_master
46
- copy_master_co_master
47
- puts 'Set a Git Tag'.color(:yellow)
48
- system('rake git:tag')
49
- puts 'Checking out develop again'.color(:yellow)
50
- system('git checkout develop')
51
- puts 'Done'.color(:green)
52
- end
53
-
54
- # Check out master
55
- def self.copy_master_co_master
56
- puts 'Checking out master'.color(:yellow)
57
- system('git checkout master')
58
- puts 'Merging master with develop'.color(:yellow)
59
- system('git merge develop')
60
- puts 'Pushing master to origin'.color(:yellow)
61
- system('git push')
62
- end
63
-
64
- # Cleanup the pkg
65
- def self.clean_pkg_method
66
- puts 'Cleaning pkg'.color(:yellow)
67
- FileUtils.rm_rf('pkg') if Dir.exist?('pkg')
68
- FileUtils.rm_rf('recipes/pkg') if Dir.exist?('recipes/pkg')
69
- puts 'Cleanup succeed'.color(:green)
70
- end
71
- end
1
+ # Copyright (C) 2013-2020 Sascha Manns <Sascha.Manns@outlook.de>
2
+ #
3
+ # This program is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU General Public License as published by
5
+ # the Free Software Foundation, either version 3 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License
14
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
15
+
16
+ # Dependencies
17
+ require 'rainbow/ext/string'
18
+
19
+ # Module Hoe
20
+ # TODO: Try to fix this in future
21
+ # rubocop:disable Metrics/ClassAndModuleChildren
22
+ module Hoe::MannsMethods
23
+ # Installs a bundle
24
+ def self.bundle_install
25
+ puts 'Installing Bundle'.color(:yellow)
26
+ system('bundle install')
27
+ puts 'Installed Bundle'.color(:green)
28
+ end
29
+
30
+ # Update Gemfile.lock
31
+ def self.update_gemfile_lock_method
32
+ puts 'Updating Gemfile.lock'.color(:yellow)
33
+ system('bundle update')
34
+ puts 'Updated Gemfile.lock'.color(:green)
35
+ end
36
+
37
+ # Remove prerelease gemspec
38
+ def self.remove_pre_gemspec_method
39
+ puts 'Removing pre version of gemspec'.color(:yellow)
40
+ File.delete(*Dir.glob('*.gemspec'))
41
+ puts 'Removed'.color(:green)
42
+ end
43
+
44
+ # Copying stuff to master
45
+ def self.copy_master
46
+ copy_master_co_master
47
+ puts 'Set a Git Tag'.color(:yellow)
48
+ system('rake git:tag')
49
+ puts 'Checking out develop again'.color(:yellow)
50
+ system('git checkout develop')
51
+ puts 'Done'.color(:green)
52
+ end
53
+
54
+ # Check out master
55
+ def self.copy_master_co_master
56
+ puts 'Checking out master'.color(:yellow)
57
+ system('git checkout master')
58
+ puts 'Merging master with develop'.color(:yellow)
59
+ system('git merge develop')
60
+ puts 'Pushing master to origin'.color(:yellow)
61
+ system('git push')
62
+ end
63
+
64
+ # Cleanup the pkg
65
+ def self.clean_pkg_method
66
+ puts 'Cleaning pkg'.color(:yellow)
67
+ FileUtils.rm_rf('pkg') if Dir.exist?('pkg')
68
+ FileUtils.rm_rf('recipes/pkg') if Dir.exist?('recipes/pkg')
69
+ puts 'Cleanup succeed'.color(:green)
70
+ end
71
+ end
@@ -1,106 +1,104 @@
1
- # Copyright (C) 2013-2018 Sascha Manns <Sascha.Manns@mailbox.org>
2
- #
3
- # This program is free software: you can redistribute it and/or modify
4
- # it under the terms of the GNU General Public License as published by
5
- # the Free Software Foundation, either version 3 of the License, or
6
- # (at your option) any later version.
7
- #
8
- # This program is distributed in the hope that it will be useful,
9
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
- # GNU General Public License for more details.
12
- #
13
- # You should have received a copy of the GNU General Public License
14
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
15
-
16
- # Dependencies
17
- require 'hoe'
18
- require_relative 'manns-methods.rb'
19
-
20
- # Main module Hoe
21
- # TODO: Currently i don't know how to fix this.
22
- # Nested usage triggers error "hoe not a module"
23
- # rubocop:disable Metrics/ClassAndModuleChildren
24
- module Hoe::Manns
25
- # Version constant for HOE::Manns
26
- VERSION = '2.1.2'.freeze
27
-
28
- attr_accessor :remove_pre_gemspec
29
- attr_accessor :copy_master
30
- attr_accessor :run_before_release
31
- attr_accessor :clean_pkg
32
- attr_accessor :bundle_audit
33
-
34
- # Initialize plugin
35
- def initialize_manns
36
- require 'fileutils'
37
- require 'rainbow/ext/string'
38
- require 'bundler/audit/cli'
39
- end
40
-
41
- # Definitions of the Rake task
42
- # TODO: Check if this smells can be pacified in future
43
- # rubocop:disable Metrics/AbcSize
44
- # rubocop:disable Metrics/MethodLength
45
- # This method smells of :reek:TooManyStatements
46
- def define_manns_tasks
47
- # Install a Bundle
48
- desc 'Install a Bundle'
49
- task 'bundler:gemfile_install' do
50
- Hoe::MannsMethods.bundle_install
51
- end
52
-
53
- # Task for updating Gemfile.lock
54
- desc 'Update Gemfile.lock'
55
- task 'bundler:gemfile_lock' do
56
- Hoe::MannsMethods.update_gemfile_lock_method
57
- end
58
-
59
- # Task for removing Prerelease Gemspecs
60
- desc 'Remove Pre-Gemspec'
61
- task 'gem:spec_remove' do
62
- Hoe::MannsMethods.remove_pre_gemspec_method
63
- end
64
-
65
- # Task for git tag
66
- desc 'Copy master'
67
- task :copy_master do
68
- Hoe::MannsMethods.copy_master
69
- end
70
-
71
- # Task for running needed Rake Tasks before running rake release
72
- desc 'Run all tasks before rake release'
73
- task run_before_release:
74
- %w[git:manifest bundler:gemfile bundler:gemfile_lock gem:spec_remove bundle_audit:run copy_master] do
75
- puts 'Ready to run rake release VERSION=x.y.z'.color(:green)
76
- end
77
-
78
- # Task for cleaning up the pkg
79
- desc 'Clean pkg'
80
- task :clean_pkg do
81
- Hoe::MannsMethods.clean_pkg_method
82
- end
83
-
84
- # Tasks for bundle audit
85
- namespace :bundle_audit do
86
- desc 'Update bundle-audit database'
87
- task :update do
88
- Bundler::Audit::CLI.new.update
89
- end
90
-
91
- desc 'Check gems for vulns using bundle-audit'
92
- task :check do
93
- Bundler::Audit::CLI.new.check
94
- end
95
-
96
- desc 'Update vulns database and check gems using bundle-audit'
97
- task :run do
98
- Rake::Task['bundle_audit:update'].invoke
99
- Rake::Task['bundle_audit:check'].invoke
100
- end
101
- end
102
- task :bundle_audit do
103
- Rake::Task['bundle_audit:run'].invoke
104
- end
105
- end
106
- end
1
+ # Copyright (C) 2013-2020 Sascha Manns <Sascha.Manns@outlook.de>
2
+ #
3
+ # This program is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU General Public License as published by
5
+ # the Free Software Foundation, either version 3 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License
14
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
15
+
16
+ # Dependencies
17
+ require 'hoe'
18
+ require_relative 'manns-methods.rb'
19
+
20
+ # Main module Hoe
21
+ # TODO: Currently i don't know how to fix this.
22
+ # Nested usage triggers error "hoe not a module"
23
+ # rubocop:disable Metrics/ClassAndModuleChildren
24
+ module Hoe::Manns
25
+
26
+ attr_accessor :remove_pre_gemspec
27
+ attr_accessor :copy_master
28
+ attr_accessor :run_before_release
29
+ attr_accessor :clean_pkg
30
+ attr_accessor :bundle_audit
31
+
32
+ # Initialize plugin
33
+ def initialize_manns
34
+ require 'fileutils'
35
+ require 'rainbow/ext/string'
36
+ require 'bundler/audit/cli'
37
+ end
38
+
39
+ # Definitions of the Rake task
40
+ # TODO: Check if this smells can be pacified in future
41
+ # rubocop:disable Metrics/AbcSize
42
+ # rubocop:disable Metrics/MethodLength
43
+ # This method smells of :reek:TooManyStatements
44
+ def define_manns_tasks
45
+ # Install a Bundle
46
+ desc 'Install a Bundle'
47
+ task 'bundler:gemfile_install' do
48
+ Hoe::MannsMethods.bundle_install
49
+ end
50
+
51
+ # Task for updating Gemfile.lock
52
+ desc 'Update Gemfile.lock'
53
+ task 'bundler:gemfile_lock' do
54
+ Hoe::MannsMethods.update_gemfile_lock_method
55
+ end
56
+
57
+ # Task for removing Prerelease Gemspecs
58
+ desc 'Remove Pre-Gemspec'
59
+ task 'gem:spec_remove' do
60
+ Hoe::MannsMethods.remove_pre_gemspec_method
61
+ end
62
+
63
+ # Task for git tag
64
+ desc 'Copy master'
65
+ task :copy_master do
66
+ Hoe::MannsMethods.copy_master
67
+ end
68
+
69
+ # Task for running needed Rake Tasks before running rake release
70
+ desc 'Run all tasks before rake release'
71
+ task run_before_release:
72
+ %w[git:manifest bundler:gemfile bundler:gemfile_lock gem:spec_remove bundle_audit:run copy_master] do
73
+ puts 'Ready to run rake release VERSION=x.y.z'.color(:green)
74
+ end
75
+
76
+ # Task for cleaning up the pkg
77
+ desc 'Clean pkg'
78
+ task :clean_pkg do
79
+ Hoe::MannsMethods.clean_pkg_method
80
+ end
81
+
82
+ # Tasks for bundle audit
83
+ namespace :bundle_audit do
84
+ desc 'Update bundle-audit database'
85
+ task :update do
86
+ Bundler::Audit::CLI.new.update
87
+ end
88
+
89
+ desc 'Check gems for vulns using bundle-audit'
90
+ task :check do
91
+ Bundler::Audit::CLI.new.check
92
+ end
93
+
94
+ desc 'Update vulns database and check gems using bundle-audit'
95
+ task :run do
96
+ Rake::Task['bundle_audit:update'].invoke
97
+ Rake::Task['bundle_audit:check'].invoke
98
+ end
99
+ end
100
+ task :bundle_audit do
101
+ Rake::Task['bundle_audit:run'].invoke
102
+ end
103
+ end
104
+ end