kamaze-project 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +9 -9
  3. data/lib/kamaze-project.rb +1 -31
  4. data/lib/kamaze/project.rb +37 -31
  5. data/lib/kamaze/project/autoload.rb +38 -0
  6. data/lib/kamaze/project/boot/core_ext.rb +8 -8
  7. data/lib/kamaze/project/boot/listen.rb +11 -13
  8. data/lib/kamaze/project/bundled.rb +79 -0
  9. data/lib/kamaze/project/concern.rb +17 -2
  10. data/lib/kamaze/project/concern/cli.rb +3 -1
  11. data/lib/kamaze/project/concern/cli/with_exit_on_failure.rb +2 -6
  12. data/lib/kamaze/project/concern/env.rb +14 -12
  13. data/lib/kamaze/project/concern/helper.rb +1 -2
  14. data/lib/kamaze/project/concern/mode.rb +1 -1
  15. data/lib/kamaze/project/concern/observable.rb +12 -11
  16. data/lib/kamaze/project/concern/sh.rb +7 -7
  17. data/lib/kamaze/project/concern/tasks.rb +36 -10
  18. data/lib/kamaze/project/concern/tools.rb +2 -3
  19. data/lib/kamaze/project/config.rb +1 -1
  20. data/lib/kamaze/project/core_ext/object.rb +17 -8
  21. data/lib/kamaze/project/core_ext/pp.rb +14 -16
  22. data/lib/kamaze/project/debug.rb +47 -48
  23. data/lib/kamaze/project/dsl.rb +9 -5
  24. data/lib/kamaze/project/dsl/definition.rb +6 -12
  25. data/lib/kamaze/project/dsl/setup.rb +1 -3
  26. data/lib/kamaze/project/helper.rb +1 -1
  27. data/lib/kamaze/project/helper/inflector.rb +9 -27
  28. data/lib/kamaze/project/helper/project.rb +1 -1
  29. data/lib/kamaze/project/helper/project/config.rb +1 -1
  30. data/lib/kamaze/project/inflector.rb +15 -0
  31. data/lib/kamaze/project/observable.rb +1 -4
  32. data/lib/kamaze/project/observer.rb +1 -1
  33. data/lib/kamaze/project/resources/Vagrantfile +1 -1
  34. data/lib/kamaze/project/struct.rb +1 -1
  35. data/lib/kamaze/project/tasks/cs.rb +1 -1
  36. data/lib/kamaze/project/tasks/cs/control.rb +1 -1
  37. data/lib/kamaze/project/tasks/cs/correct.rb +1 -1
  38. data/lib/kamaze/project/tasks/cs/pre_commit.rb +4 -6
  39. data/lib/kamaze/project/tasks/doc.rb +2 -4
  40. data/lib/kamaze/project/tasks/doc/watch.rb +4 -6
  41. data/lib/kamaze/project/tasks/gem.rb +15 -6
  42. data/lib/kamaze/project/tasks/gem/build.rb +33 -17
  43. data/lib/kamaze/project/tasks/gem/compile.rb +1 -1
  44. data/lib/kamaze/project/tasks/gem/gemspec.rb +12 -11
  45. data/lib/kamaze/project/tasks/gem/install.rb +1 -1
  46. data/lib/kamaze/project/tasks/gem/push.rb +16 -17
  47. data/lib/kamaze/project/tasks/misc/gitignore.rb +1 -1
  48. data/lib/kamaze/project/tasks/shell.rb +1 -1
  49. data/lib/kamaze/project/tasks/sources.rb +1 -1
  50. data/lib/kamaze/project/tasks/sources/license.rb +1 -1
  51. data/lib/kamaze/project/tasks/test.rb +3 -5
  52. data/lib/kamaze/project/tasks/vagrant.rb +1 -1
  53. data/lib/kamaze/project/tasks/version/edit.rb +1 -1
  54. data/lib/kamaze/project/tools.rb +18 -6
  55. data/lib/kamaze/project/tools/base_tool.rb +6 -2
  56. data/lib/kamaze/project/tools/console.rb +4 -13
  57. data/lib/kamaze/project/tools/console/output.rb +14 -6
  58. data/lib/kamaze/project/tools/console/output/buffer.rb +8 -3
  59. data/lib/kamaze/project/tools/gemspec.rb +11 -21
  60. data/lib/kamaze/project/tools/gemspec/builder.rb +43 -31
  61. data/lib/kamaze/project/tools/gemspec/concern.rb +6 -1
  62. data/lib/kamaze/project/tools/gemspec/concern/reading.rb +2 -5
  63. data/lib/kamaze/project/tools/gemspec/packager.rb +10 -10
  64. data/lib/kamaze/project/tools/gemspec/packer.rb +11 -15
  65. data/lib/kamaze/project/tools/gemspec/packer/command.rb +1 -1
  66. data/lib/kamaze/project/tools/gemspec/reader.rb +22 -14
  67. data/lib/kamaze/project/tools/gemspec/reader/decorator.rb +3 -6
  68. data/lib/kamaze/project/tools/gemspec/writer.rb +43 -19
  69. data/lib/kamaze/project/tools/gemspec/writer/dep_gen.rb +9 -6
  70. data/lib/kamaze/project/tools/gemspec/writer/dependency.rb +1 -1
  71. data/lib/kamaze/project/tools/git.rb +13 -31
  72. data/lib/kamaze/project/tools/git/hooks.rb +12 -6
  73. data/lib/kamaze/project/tools/git/hooks/base_hook.rb +3 -11
  74. data/lib/kamaze/project/tools/git/hooks/pre_commit.rb +3 -7
  75. data/lib/kamaze/project/tools/git/status.rb +13 -9
  76. data/lib/kamaze/project/tools/git/status/decorator.rb +1 -1
  77. data/lib/kamaze/project/tools/git/status/file.rb +2 -1
  78. data/lib/kamaze/project/tools/git/status/files_array.rb +1 -1
  79. data/lib/kamaze/project/tools/git/status/index.rb +1 -1
  80. data/lib/kamaze/project/tools/git/status/worktree.rb +1 -1
  81. data/lib/kamaze/project/tools/git/util.rb +1 -1
  82. data/lib/kamaze/project/tools/licenser.rb +2 -2
  83. data/lib/kamaze/project/tools/packager.rb +12 -22
  84. data/lib/kamaze/project/tools/packager/filesystem.rb +11 -3
  85. data/lib/kamaze/project/tools/packager/filesystem/operator.rb +19 -11
  86. data/lib/kamaze/project/tools/packager/filesystem/operator/utils.rb +22 -16
  87. data/lib/kamaze/project/tools/process_locker.rb +67 -36
  88. data/lib/kamaze/project/tools/rspec.rb +5 -3
  89. data/lib/kamaze/project/tools/rubocop.rb +30 -40
  90. data/lib/kamaze/project/tools/rubocop/arguments.rb +1 -1
  91. data/lib/kamaze/project/tools/rubocop/config.rb +2 -4
  92. data/lib/kamaze/project/tools/shell.rb +7 -8
  93. data/lib/kamaze/project/tools/vagrant.rb +6 -16
  94. data/lib/kamaze/project/tools/vagrant/composer.rb +1 -1
  95. data/lib/kamaze/project/tools/vagrant/composer/file.rb +1 -1
  96. data/lib/kamaze/project/tools/vagrant/remote.rb +1 -1
  97. data/lib/kamaze/project/tools/vagrant/shell.rb +1 -1
  98. data/lib/kamaze/project/tools/vagrant/writer.rb +1 -1
  99. data/lib/kamaze/project/tools/yardoc.rb +14 -17
  100. data/lib/kamaze/project/tools/yardoc/file.rb +7 -7
  101. data/lib/kamaze/project/tools/yardoc/watchable.rb +9 -15
  102. data/lib/kamaze/project/tools/yardoc/watcher.rb +28 -35
  103. data/lib/kamaze/project/tools_provider.rb +28 -40
  104. data/lib/kamaze/project/tools_provider/resolver.rb +1 -1
  105. data/lib/kamaze/project/version.rb +5 -94
  106. data/lib/kamaze/project/version.yml +5 -5
  107. metadata +23 -64
  108. data/bin/plop +0 -5
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (C) 2017-2018 Dimitri Arrigoni <dimitri@arrigoni.me>
3
+ # Copyright (C) 2017-2021 Dimitri Arrigoni <dimitri@arrigoni.me>
4
4
  # License GPLv3+: GNU GPL version 3 or later
5
5
  # <http://www.gnu.org/licenses/gpl.html>.
6
6
  # This is free software: you are free to change and redistribute it.
@@ -1,104 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (C) 2017-2018 Dimitri Arrigoni <dimitri@arrigoni.me>
3
+ # Copyright (C) 2017-2021 Dimitri Arrigoni <dimitri@arrigoni.me>
4
4
  # License GPLv3+: GNU GPL version 3 or later
5
5
  # <http://www.gnu.org/licenses/gpl.html>.
6
6
  # This is free software: you are free to change and redistribute it.
7
7
  # There is NO WARRANTY, to the extent permitted by law.
8
8
 
9
9
  require_relative '../project'
10
+ require 'kamaze/version'
10
11
 
11
- require 'yaml'
12
- require 'pathname'
13
- require 'dry/inflector'
14
-
15
- # Describe version using a YAML file.
16
- #
17
- # @see https://github.com/jcangas/version_info
18
- class Kamaze::Project::Version
19
- # Get filepath used to parse version (YAML file).
20
- #
21
- # @return [Pathname|String]
22
- attr_reader :file_name
23
-
24
- # @param [String] file_name
25
- def initialize(file_name = self.class.file_name)
26
- @file_name = file_name.freeze
27
-
28
- self.load_file
29
- .map { |k, v| self.attr_set(k, v) }
30
- .yield_self { |loaded| @data_loaded = loaded.to_h }
31
- end
32
-
33
- # Denote version has enough (mninimal) attributes defined.
34
- #
35
- # @return [Boolean]
36
- def valid?
37
- ![:major, :minor, :patch]
38
- .map { |method| public_send(method) }
39
- .map { |v| v.to_s.empty? ? nil : v }
40
- .include?(nil)
41
- rescue NameError
42
- false
43
- end
44
-
45
- # @return [String]
46
- def to_s
47
- [major, minor, patch].join('.')
48
- end
49
-
50
- # @return [Hash]
51
- def to_h
52
- data_loaded.clone.freeze
53
- end
54
-
55
- # Return the path as a String.
56
- #
57
- # @see https://ruby-doc.org/stdlib-2.5.0/libdoc/pathname/rdoc/Pathname.html#method-i-to_path
58
- # @return [String]
59
- def to_path
60
- file_name.to_s
61
- end
62
-
63
- class << self
64
- # Get default filename.
65
- #
66
- # @return [Pathname]
67
- def file_name
68
- Pathname.new(__dir__).join('version.yml')
69
- end
70
- end
71
-
72
- protected
73
-
74
- attr_reader :data_loaded
75
-
76
- # @return [Hash]
77
- def load_file
78
- YAML.load_file(file_name).yield_self do |data|
79
- data == false ? {} : data
80
- end
81
- rescue Errno::ENOENT
82
- {}
83
- end
84
-
85
- # Define attribute (as ``ro`` attr) and set value.
86
- #
87
- # @param [String|Symbol] attr_name
88
- # @param [Object] attr_value
89
- # @return [Array]
90
- def attr_set(attr_name, attr_value)
91
- inflector = Dry::Inflector.new
92
- attr_name = inflector.underscore(attr_name.to_s)
93
-
94
- self.singleton_class.class_eval do
95
- attr_accessor attr_name
96
-
97
- protected "#{attr_name}="
98
- end
99
-
100
- self.__send__("#{attr_name}=", attr_value.freeze)
101
-
102
- [attr_name, attr_value.freeze].freeze
103
- end
12
+ class Kamaze::Project
13
+ # @see https://github.com/SwagDevOps/kamaze-version
14
+ VERSION = Kamaze::Version.new.freeze
104
15
  end
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  major: 1
3
- minor: 0
3
+ minor: 1
4
4
  patch: 0
5
5
  authors: ['Dimitri Arrigoni']
6
6
  email: 'dimitri@arrigoni.me'
7
- date: '2018-05-29'
8
- summary: 'Automatize recurrent dev tasks with swag'
9
- description: 'A bunch of (rake) tasks to automatize your development workflow.'
7
+ date: '2021-02-03'
8
+ summary: 'Automatize recurrent dev tasks'
9
+ description: 'A bunch of (rake) tasks to automatize development workflows.'
10
10
  licenses: ['GPL-3.0']
11
11
  license_header: |
12
- Copyright (C) 2017-2018 Dimitri Arrigoni <dimitri@arrigoni.me>
12
+ Copyright (C) 2017-2021 Dimitri Arrigoni <dimitri@arrigoni.me>
13
13
  License GPLv3+: GNU GPL version 3 or later
14
14
  <http://www.gnu.org/licenses/gpl.html>.
15
15
  This is free software: you are free to change and redistribute it.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kamaze-project
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dimitri Arrigoni
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-29 00:00:00.000000000 Z
11
+ date: 2021-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cli-ui
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.1'
19
+ version: '1.3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.1'
26
+ version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: cliver
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '2.4'
47
+ version: '2.7'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '2.4'
54
+ version: '2.7'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: dry-inflector
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -67,47 +67,33 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.1'
69
69
  - !ruby/object:Gem::Dependency
70
- name: process_lock
70
+ name: kamaze-version
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.1'
75
+ version: '1.0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.1'
82
+ version: '1.0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rake
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '12.3'
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '12.3'
97
- - !ruby/object:Gem::Dependency
98
- name: rugged
84
+ name: process_lock
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: '0.27'
89
+ version: '0.1'
104
90
  type: :runtime
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
94
  - - "~>"
109
95
  - !ruby/object:Gem::Version
110
- version: '0.27'
96
+ version: '0.1'
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: tenjin
113
99
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +114,14 @@ dependencies:
128
114
  requirements:
129
115
  - - "~>"
130
116
  - !ruby/object:Gem::Version
131
- version: '0.4'
117
+ version: '0.5'
132
118
  type: :runtime
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
122
  - - "~>"
137
123
  - !ruby/object:Gem::Version
138
- version: '0.4'
124
+ version: '0.5'
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: tty-screen
141
127
  requirement: !ruby/object:Gem::Requirement
@@ -145,7 +131,7 @@ dependencies:
145
131
  version: 0.6.2
146
132
  - - "~>"
147
133
  - !ruby/object:Gem::Version
148
- version: '0.6'
134
+ version: '0.7'
149
135
  type: :runtime
150
136
  prerelease: false
151
137
  version_requirements: !ruby/object:Gem::Requirement
@@ -155,47 +141,20 @@ dependencies:
155
141
  version: 0.6.2
156
142
  - - "~>"
157
143
  - !ruby/object:Gem::Version
158
- version: '0.6'
159
- - !ruby/object:Gem::Dependency
160
- name: rubocop
161
- requirement: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - "~>"
164
- - !ruby/object:Gem::Version
165
- version: '0.56'
166
- type: :runtime
167
- prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - "~>"
171
- - !ruby/object:Gem::Version
172
- version: '0.56'
173
- - !ruby/object:Gem::Dependency
174
- name: yard
175
- requirement: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - "~>"
178
- - !ruby/object:Gem::Version
179
- version: '0.9'
180
- type: :runtime
181
- prerelease: false
182
- version_requirements: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - "~>"
185
- - !ruby/object:Gem::Version
186
- version: '0.9'
187
- description: A bunch of (rake) tasks to automatize your development workflow.
144
+ version: '0.7'
145
+ description: A bunch of (rake) tasks to automatize development workflows.
188
146
  email: dimitri@arrigoni.me
189
147
  executables: []
190
148
  extensions: []
191
149
  extra_rdoc_files: []
192
150
  files:
193
151
  - ".yardopts"
194
- - bin/plop
195
152
  - lib/kamaze-project.rb
196
153
  - lib/kamaze/project.rb
154
+ - lib/kamaze/project/autoload.rb
197
155
  - lib/kamaze/project/boot/core_ext.rb
198
156
  - lib/kamaze/project/boot/listen.rb
157
+ - lib/kamaze/project/bundled.rb
199
158
  - lib/kamaze/project/concern.rb
200
159
  - lib/kamaze/project/concern/cli.rb
201
160
  - lib/kamaze/project/concern/cli/with_exit_on_failure.rb
@@ -217,6 +176,7 @@ files:
217
176
  - lib/kamaze/project/helper/inflector.rb
218
177
  - lib/kamaze/project/helper/project.rb
219
178
  - lib/kamaze/project/helper/project/config.rb
179
+ - lib/kamaze/project/inflector.rb
220
180
  - lib/kamaze/project/observable.rb
221
181
  - lib/kamaze/project/observer.rb
222
182
  - lib/kamaze/project/resources/Vagrantfile
@@ -306,16 +266,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
306
266
  requirements:
307
267
  - - ">="
308
268
  - !ruby/object:Gem::Version
309
- version: 2.3.0
269
+ version: 2.5.0
310
270
  required_rubygems_version: !ruby/object:Gem::Requirement
311
271
  requirements:
312
272
  - - ">="
313
273
  - !ruby/object:Gem::Version
314
274
  version: '0'
315
275
  requirements: []
316
- rubyforge_project:
317
- rubygems_version: 2.7.6
276
+ rubygems_version: 3.1.2
318
277
  signing_key:
319
278
  specification_version: 4
320
- summary: Automatize recurrent dev tasks with swag
279
+ summary: Automatize recurrent dev tasks
321
280
  test_files: []
data/bin/plop DELETED
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'pp'
4
-
5
- pp(ENV)