rake-deveiate 0.10.0 → 0.11.0

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
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��ˮ�`