rake-deveiate 0.10.0 → 0.11.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bee3cef237145810a6484e8d4177523424197d0225c2ffce50c8c965c9b9fbdd
4
- data.tar.gz: 1874de0bcaffbee0f647b72b1401ca09b734f786e4f7979945932e9b040f548e
3
+ metadata.gz: f2ea1b2c13c4a64b66b4f9f70ed3fa8c253e38b8070fbbc2c9b6e2e05b2a34c2
4
+ data.tar.gz: 5d151b30f0a6e0f4e2ec550ef2fbb74981f3bba2c89561a2dc32ac52afea864a
5
5
  SHA512:
6
- metadata.gz: d64b90cfb788aec9af147c7f5c7c1862a7fb61e657dfc3fe687c423369e82ff652e609c42b8da94bc043a279fcc07ed4dba15af2411e025c5e6fe4e7f6c64b2f
7
- data.tar.gz: 9f22838336874b9fb461a9a66b682de78aa8e7113868fb5dd690ffad657080e7eaadbe88ecef90110c5de4808b5c067cab48bb23064f9b1e6c50389bd1dc7baf
6
+ metadata.gz: '08c1efed49f74b109300bb0362fa319faa49c3e4d0ba3191c48da5c4e49364ee559da560ab4fa3fb0081829e452c51981527763459972d5099a9ea08d0266b60'
7
+ data.tar.gz: 901f6960dbcc3d70a834dcb408f402c5ce298f9413fc1fe5acfe088d6f5439f5aa97031bec3fc4df5471bcde057b935340f27c2dd834566bc72974f1002160e3
checksums.yaml.gz.sig CHANGED
Binary file
data/History.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  ---
4
4
 
5
+ ## v0.11.0 [2020-02-26] Michael Granger <ged@FaerieMUD.org>
6
+
7
+ Improvements:
8
+
9
+ - Add metadata extraction.
10
+ - Try to strip markup from the gemspec description and summary
11
+
12
+ Bugfixes:
13
+
14
+ - Fix a bug in history file task when there's already an entry for the current version.
15
+
16
+
5
17
  ## v0.10.0 [2020-02-12] Michael Granger <ged@FaerieMUD.org>
6
18
 
7
19
  Improvements:
@@ -130,6 +130,8 @@ module Rake::DevEiate::Gemspec
130
130
  spec.licenses = self.licenses
131
131
  spec.date = Date.today
132
132
 
133
+ spec.metadata = self.make_gem_metadata
134
+
133
135
  spec.required_ruby_version = self.required_ruby_version if
134
136
  self.required_ruby_version
135
137
  spec.metadata['allowed_push_host'] = self.allowed_push_host if self.allowed_push_host
@@ -171,6 +173,73 @@ module Rake::DevEiate::Gemspec
171
173
  end
172
174
 
173
175
 
176
+ ### Build the hash of metadata that should be attached to the gem.
177
+ def make_gem_metadata
178
+ # "bug_tracker_uri" => "https://example.com/user/bestgemever/issues",
179
+ # "changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md",
180
+ # "documentation_uri" => "https://www.example.info/gems/bestgemever/0.0.1",
181
+ # "homepage_uri" => "https://bestgemever.example.io",
182
+ # "mailing_list_uri" => "https://groups.example.com/bestgemever",
183
+ # "source_code_uri" => "https://example.com/user/bestgemever",
184
+ # "wiki_uri" => "https://example.com/user/bestgemever/wiki"
185
+
186
+ metadata = {
187
+ "homepage_uri" => self.homepage
188
+ }
189
+
190
+ if docs_uri = self.extract_documentation_uri
191
+ metadata['documentation_uri'] = docs_uri.to_s
192
+ if docs_uri.path.end_with?( '/', self.name )
193
+ cl_uri = docs_uri.dup
194
+ cl_uri.path = File.join( cl_uri.path, 'History_md.html' )
195
+ metadata['changelog_uri'] = cl_uri.to_s
196
+ end
197
+ end
198
+
199
+ if source_uri = self.extract_source_uri
200
+ metadata['source_uri'] = source_uri.to_s
201
+ case source_uri.host
202
+ when /\.sr\.ht/
203
+ bt_uri = source_uri.dup
204
+ bt_uri.host = 'todo.sr.ht'
205
+ metadata['bug_tracker_uri'] = bt_uri.to_s
206
+ else
207
+ self.trace "No idea what bug tracker URIs for %s look like!" % [ source_uri.host ]
208
+ end
209
+ end
210
+
211
+ return metadata
212
+ end
213
+
214
+
215
+ ### Extract the documentation URI from the `docs` item of the first NOTE-type
216
+ ### list in the README. Returns +nil+ if no such URI could be found.
217
+ def extract_documentation_uri
218
+ return fail_extraction( :documentation, "no README" ) unless self.readme
219
+
220
+ list = self.readme.parts.find {|part| RDoc::Markup::List === part && part.type == :NOTE } or
221
+ return fail_extraction(:documentation, "No NOTE list")
222
+ item = list.items.find {|item| item.label.include?('docs') } or
223
+ return fail_extraction(:documentation, "No `docs` item")
224
+
225
+ return URI( item.parts.first.text )
226
+ end
227
+
228
+
229
+ ### Extract the source URI from the `docs` item of the first NOTE-type
230
+ ### list in the README. Returns +nil+ if no such URI could be found.
231
+ def extract_source_uri
232
+ return fail_extraction( :source, "no README" ) unless self.readme
233
+
234
+ list = self.readme.parts.find {|part| RDoc::Markup::List === part && part.type == :NOTE } or
235
+ return fail_extraction(:code, "No NOTE list")
236
+ item = list.items.find {|item| item.label.include?('code') } or
237
+ return fail_extraction(:code, "No `code` item")
238
+
239
+ return URI( item.parts.first.text )
240
+ end
241
+
242
+
174
243
  ### Return a version string
175
244
  def prerelease_version
176
245
  return "#{self.version.bump}.0.pre.#{Time.now.strftime("%Y%m%d%H%M%S")}"
@@ -348,7 +348,7 @@ module Rake::DevEiate::Hg
348
348
  self.prompt.say "Updating history for %s..." % [ version_tag ]
349
349
 
350
350
  if self.get_history_file_versions.include?( version_tag )
351
- self.log.ok "History file already includes a section for %s" % [ version_tag ]
351
+ self.trace "History file already includes a section for %s" % [ version_tag ]
352
352
  abort
353
353
  end
354
354
 
data/lib/rake/deveiate.rb CHANGED
@@ -34,7 +34,7 @@ class Rake::DevEiate < Rake::TaskLib
34
34
  VERSION_PATTERN = /VERSION\s*=\s*(?<quote>['"])(?<version>\d+(\.\d+){2}.*)\k<quote>/
35
35
 
36
36
  # The version of this library
37
- VERSION = '0.10.0'
37
+ VERSION = '0.11.0'
38
38
 
39
39
  # The server to release to by default
40
40
  DEFAULT_GEMSERVER = 'https://rubygems.org/'
@@ -88,6 +88,10 @@ class Rake::DevEiate < Rake::TaskLib
88
88
  .md
89
89
  .rdoc
90
90
  .txt
91
+ .png
92
+ .jpg
93
+ .gif
94
+ .svg
91
95
  ]
92
96
 
93
97
  # The path to the data directory for the Prestigio library.
@@ -316,7 +320,7 @@ class Rake::DevEiate < Rake::TaskLib
316
320
  task :update_history
317
321
 
318
322
  desc "Package up and push a release"
319
- task :release => [ :prerelease, :release_gem, :postrelease ]
323
+ task :release => [ :prerelease, :gem, :release_gem, :postrelease ]
320
324
  task :prerelease
321
325
  task :release_gem
322
326
  task :postrelease
@@ -398,7 +402,11 @@ class Rake::DevEiate < Rake::TaskLib
398
402
  ### Extract a description from the README if possible. Returns +nil+ if not.
399
403
  def extract_description
400
404
  parts = self.readme&.parts or return nil
401
- return parts.find {|part| part.is_a?(RDoc::Markup::Paragraph) }&.text
405
+ desc_para = parts.find {|part| part.is_a?(RDoc::Markup::Paragraph) }&.text or return nil
406
+ formatter = RDoc::Markup::ToHtmlSnippet.new( RDoc::Options.new )
407
+ html = formatter.convert( desc_para )
408
+
409
+ return html.gsub( /<.*?>/, '' ).strip
402
410
  end
403
411
 
404
412
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake-deveiate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -34,7 +34,7 @@ cert_chain:
34
34
  jBZSA+N+xUTgUWpXjjwsLZjzJkhWATJWq+krNXcqpwXo6HsjmdUxoFMt63RBb+sI
35
35
  XrxOxp8o0uOkU7FdLSGsyqJ2LzsR4obN
36
36
  -----END CERTIFICATE-----
37
- date: 2020-02-12 00:00:00.000000000 Z
37
+ date: 2020-02-26 00:00:00.000000000 Z
38
38
  dependencies:
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: rake
@@ -162,11 +162,8 @@ dependencies:
162
162
  - - "~>"
163
163
  - !ruby/object:Gem::Version
164
164
  version: '0.4'
165
- description: |-
166
- This is a collection of Rake tasks I use for development. I distribute them as
167
- a gem mostly so people who wish to contribute to the other Open Source
168
- libraries I maintain can do so easily, but of course you're welcome to use them
169
- yourself if you find them useful.
165
+ description: This is a collection of Rake tasks I use for development. I distribute
166
+ them as a gem mostly so people
170
167
  email:
171
168
  - ged@FaerieMUD.org
172
169
  executables: []
@@ -190,7 +187,10 @@ files:
190
187
  homepage: https://hg.sr.ht/~ged/rake-deveiate
191
188
  licenses:
192
189
  - BSD-3-Clause
193
- metadata: {}
190
+ metadata:
191
+ homepage_uri: https://hg.sr.ht/~ged/rake-deveiate
192
+ documentation_uri: https://deveiate.org/code/rake-deveiate/
193
+ changelog_uri: https://deveiate.org/code/rake-deveiate/History_md.html
194
194
  post_install_message:
195
195
  rdoc_options: []
196
196
  require_paths:
metadata.gz.sig CHANGED
@@ -1,3 +1,2 @@
1
- �*I5ܘh4�����ms~nr�c��5|~���@iN����y�@��x|��ط:��n.�ǃ9���
2
- ѳ�&,��.$���ZĮ/R�e�ܳRlAs�FW96�~b���ڇ�����-I};���7
3
- +V(�ox ��c�N;�b�P9��=| ���n��B:����i�m�zB�,�J��^�?��G����317,����M��v`���i�ש#Y\�q���Q.m S$�Y�H�]���Y���?���3��p�v��f��`��E�Y��e��t��G�K���u%'� ���H�ga���|��x�5�j�@��'��6�H�0�`�&����N/�|3��Z��R�FhK�"�F�p��W�oj�
1
+ 0U���Hw!g�A]�'n[�ܳ0�{������3���3���uk���0�4��@��`�'�)D��cއk_?�:�@��B�&Q��]������J�����#Y��� W�ɨq�����_���F�Dj�Ђ"F��"��z��K 9�FO��ig���,���)�>+7����u�ʸye��y�f$e����:�k歪����]xԽ�����(Є�J|􆙇[�*�0]^��Lץ� ���.�؞�Af�Q�2$��U� �����~�Fp�r�l;E�Pjk�/�jM��.m=×X���a��
2
+ ������,��V549���HΘ ��ޑ��)���a)�zDZ���8@X�*q"�K7D���w��ˮ�`