rake-deveiate 0.3.0 → 0.4.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: 411dba3c0a85a488b5cc196c1cc431914baa1e8a361a338518a7c6d90997a86e
4
- data.tar.gz: 6261595cce321454eb95f6ecd775ca294b732cde735997a17ed4e7d436701033
3
+ metadata.gz: 53d2d65094f33a266aaf7338ffd4e33178effaafa636f3115ebd8630a782d27c
4
+ data.tar.gz: ed8012a605d3e2b65dc913e74fd15135fc182de4ae1bfa999f764df997546e53
5
5
  SHA512:
6
- metadata.gz: 1862a49ef4b0966deaddaec18e4ac0b2b217a9ece1f06129e5e26b374c34ba09f0416f596d76e3eb2c52fbebee933033816e13fb98f60afe706e9cba63b8028c
7
- data.tar.gz: 4e6bf0717bf50f656709890b2e50ad8b761a7c768549365c36cb88675dc72a9e4201c5d09e909f4a4cbc0ed2e0d59c3b9fae4316931acc4dbfc5934a4da03b03
6
+ metadata.gz: babb3715b2eb746f6080fd488633d488568d5591dd1a75877bfc2c6b12312ff42dc26ec9826d2d44fcc56cfa1bb5a5fd906586e5b7647974913ff0bab953888f
7
+ data.tar.gz: 78960238a8b42a80d6253be560ab4231491d006987a02d0fd8d3c1e0756e12b19484b46fc76d2de7cf2b5df18e3688fd052357631f7bbbdd3126baefb3cd2f80
checksums.yaml.gz.sig CHANGED
Binary file
data/History.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  ---
4
4
 
5
+ ## v0.4.0 [2019-10-16] Michael Granger <ged@FaerieMUD.org>
6
+
7
+ Improvements:
8
+
9
+ - Offer to clear the current topic on release
10
+ - Add support for the `allowed_push_host` gem attribute
11
+
12
+ Bugfixes:
13
+
14
+ - Only try to sign if the gpg extension is loaded
15
+
16
+
5
17
  ## v0.3.0 [2019-10-14] Michael Granger <ged@FaerieMUD.org>
6
18
 
7
19
  Improvements:
@@ -27,7 +27,6 @@ module Rake::DevEiate::Docs
27
27
  rdoc.rdoc_dir = Rake::DevEiate::DOCS_DIR.to_s
28
28
  end
29
29
 
30
-
31
30
  if self.publish_to
32
31
  target = self.publish_to
33
32
 
@@ -38,6 +37,20 @@ module Rake::DevEiate::Docs
38
37
  end
39
38
  end
40
39
 
40
+ task :debug => :docs_debug
41
+ task( :docs_debug, &method(:do_docs_debug) )
42
+ end
43
+
44
+
45
+ ### Task body for the :docs_debug task
46
+ def do_docs_debug( task, args )
47
+ self.prompt.say( "Docs are published to:", color: :bright_green )
48
+ if ( publish_url = self.publish_to )
49
+ self.prompt.say( self.indent(publish_url, 4) )
50
+ else
51
+ self.prompt.say( self.indent("n/a"), color: :bright_yellow )
52
+ end
53
+ self.prompt.say( "\n" )
41
54
  end
42
55
 
43
56
  end # module Rake::DevEiate::Docs
@@ -79,7 +79,7 @@ module Rake::DevEiate::Gemspec
79
79
  gemspec_src = gemspec.to_yaml
80
80
 
81
81
  self.prompt.say( "Gemspec:", color: :bright_green )
82
- self.prompt.say( indent(gemspec_src, 4) )
82
+ self.prompt.say( self.indent(gemspec_src, 4) )
83
83
  self.prompt.say( "\n" )
84
84
  end
85
85
 
@@ -112,6 +112,8 @@ module Rake::DevEiate::Gemspec
112
112
  spec.licenses = self.licenses
113
113
  spec.date = Date.today
114
114
 
115
+ spec.allowed_push_host = self.allowed_push_host if self.allowed_push_host
116
+
115
117
  self.authors.each do |author|
116
118
  if ( m = author.match(AUTHOR_PATTERN) )
117
119
  spec.authors ||= []
@@ -161,17 +163,6 @@ module Rake::DevEiate::Gemspec
161
163
  return path
162
164
  end
163
165
 
164
-
165
- #######
166
- private
167
- #######
168
-
169
- ### Return a copy of the given text prefixed by +spaces+ number of spaces.
170
- def indent( text, spaces=4 )
171
- prefix = ' ' * spaces
172
- return text.gsub( /(?<=\A|\n)/m, prefix )
173
- end
174
-
175
166
  end # module Rake::DevEiate::Gemspec
176
167
 
177
168
 
@@ -41,7 +41,6 @@ module Rake::DevEiate::Hg
41
41
  super if defined?( super )
42
42
 
43
43
  @release_tag_prefix = options[:release_tag_prefix] || DEFAULT_RELEASE_TAG_PREFIX
44
- @sign_tags = options[:sign_tags] || true
45
44
  end
46
45
 
47
46
 
@@ -49,10 +48,6 @@ module Rake::DevEiate::Hg
49
48
  # The prefix to use for version tags
50
49
  attr_accessor :release_tag_prefix
51
50
 
52
- ##
53
- # Boolean: if true, sign tags after creating them
54
- attr_accessor :sign_tags
55
-
56
51
 
57
52
  ### Define version-control tasks
58
53
  def define_tasks
@@ -164,15 +159,17 @@ module Rake::DevEiate::Hg
164
159
  fail
165
160
  end
166
161
 
167
- if self.sign_tags
168
- message = "Signing %s" % [ rev ]
169
- self.prompt.ok( message )
170
- self.hg.sign( rev, message: message )
171
- end
172
-
173
162
  # Tag the current rev
174
163
  self.prompt.ok "Tagging rev %s as %s" % [ rev, pkg_version_tag ]
175
164
  self.hg.tag( pkg_version_tag, rev: rev )
165
+
166
+ # Sign the tag
167
+ if self.hg.extension_enabled?( :gpg )
168
+ message = "Sign %s?" % [ pkg_version_tag ]
169
+ if self.prompt.yes?( message )
170
+ self.hg.sign( pkg_version_tag, message: message )
171
+ end
172
+ end
176
173
  end
177
174
 
178
175
 
@@ -189,6 +186,13 @@ module Rake::DevEiate::Hg
189
186
  self.hg.phase( public: true )
190
187
  end
191
188
 
189
+ if self.hg.extension_enabled?( :topic )
190
+ current_topic = self.hg.topic
191
+ if current_topic && self.prompt.yes?( "Clear the current topic (%s)?" %[current_topic] )
192
+ self.hg.topic( clear: true )
193
+ end
194
+ end
195
+
192
196
  Rake::Task['hg:push'].invoke
193
197
  end
194
198
 
@@ -21,10 +21,10 @@ module Rake::DevEiate::Releases
21
21
  file( checksum_path => [self.gem_path, checksum_dir], &method(:do_make_release_checksum) )
22
22
  task :add_release_checksum => checksum_path
23
23
 
24
- task :release_gem => :add_release_checksum do
25
- sh( Gem.ruby, "-S", "gem", "push", self.gem_path.to_s )
26
- end
24
+ task( :release_gem => :add_release_checksum, &method(:do_release_gem) )
27
25
 
26
+ task :debug => :release_debug
27
+ task( :release_debug, &method(:do_release_debug) )
28
28
  end
29
29
 
30
30
 
@@ -36,5 +36,25 @@ module Rake::DevEiate::Releases
36
36
  end
37
37
  end
38
38
 
39
+
40
+ ### Body of the release_gem task.
41
+ def do_release_gem( task, args )
42
+ gemserver = self.allowed_push_host || Rake::DevEiate::DEFAULT_GEMSERVER
43
+
44
+ if self.prompt.yes?( "Push a new gem to #{gemserver}?" ) {|q| q.default = false }
45
+ sh( Gem.ruby, "-S", "gem", "push", self.gem_path.to_s )
46
+ end
47
+ end
48
+
49
+
50
+ ### Body of the release_debug task.
51
+ def do_release_debug( task, args )
52
+ gemserver = self.allowed_push_host || Rake::DevEiate::DEFAULT_GEMSERVER
53
+
54
+ self.prompt.say( "Releases will be pushed to:", color: :bright_green )
55
+ self.prompt.say( self.indent(gemserver, 4) )
56
+ self.prompt.say( "\n" )
57
+ end
58
+
39
59
  end # module Rake::DevEiate::Releases
40
60
 
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.3.0'
37
+ VERSION = '0.4.0'
38
38
 
39
39
  # The server to release to by default
40
40
  DEFAULT_GEMSERVER = 'https://rubygems.org/'
@@ -147,8 +147,6 @@ class Rake::DevEiate < Rake::TaskLib
147
147
  @summary = nil
148
148
  @dependencies = self.find_dependencies
149
149
 
150
- @gemserver = DEFAULT_GEMSERVER
151
-
152
150
  @publish_to = nil
153
151
 
154
152
  super()
@@ -241,7 +239,7 @@ class Rake::DevEiate < Rake::TaskLib
241
239
 
242
240
  ##
243
241
  # The gemserver to push gems to
244
- attr_accessor :gemserver
242
+ attr_accessor :allowed_push_host
245
243
 
246
244
  ##
247
245
  # The rsync-compatible target to publish documentation to.
@@ -326,7 +324,6 @@ class Rake::DevEiate < Rake::TaskLib
326
324
  self.output_documentation_debugging
327
325
  self.output_project_files_debugging
328
326
  self.output_dependency_debugging
329
- self.output_release_debugging
330
327
  end
331
328
 
332
329
  task :debug => :base_debug
@@ -666,11 +663,10 @@ class Rake::DevEiate < Rake::TaskLib
666
663
  end
667
664
 
668
665
 
669
- ### Output debugging regarding where releases will be posted.
670
- def output_release_debugging
671
- self.prompt.say( "Will push releases to:", color: :bright_green )
672
- self.prompt.say( " #{self.gemserver}" )
673
- self.prompt.say( "\n" )
666
+ ### Return a copy of the given text prefixed by +spaces+ number of spaces.
667
+ def indent( text, spaces=4 )
668
+ prefix = ' ' * spaces
669
+ return text.gsub( /(?<=\A|\n)/m, prefix )
674
670
  end
675
671
 
676
672
 
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.3.0
4
+ version: 0.4.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: 2019-10-14 00:00:00.000000000 Z
37
+ date: 2019-10-16 00:00:00.000000000 Z
38
38
  dependencies:
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: rake
@@ -206,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
206
206
  - !ruby/object:Gem::Version
207
207
  version: '0'
208
208
  requirements: []
209
- rubygems_version: 3.0.3
209
+ rubygems_version: 3.0.6
210
210
  signing_key:
211
211
  specification_version: 4
212
212
  summary: This is a collection of Rake tasks I use for development.
metadata.gz.sig CHANGED
Binary file