rake-deveiate 0.3.0 → 0.4.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: 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