hoe-gemspec2 1.3.0 → 1.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.rdoc +12 -1
  3. data/lib/hoe/gemspec2.rb +35 -23
  4. metadata +5 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cefaeb9a03fd6b440d9c8a4d3513a43bdf8d0611bd5d4804d1c3055d20591628
4
- data.tar.gz: 995d01304b2acdd816d11f68a1ed2efc6ce6a1335de80ce98f5d538ac16d1b9c
3
+ metadata.gz: 7ea048fd72f37dd1c0d1b0e363f8936c3f8885e1d2c45f48d908fde54d66e0c4
4
+ data.tar.gz: 195c939582ac84986e4ba45b4ebbc13d4239a9d64f008ef2c0d40b457ef44835
5
5
  SHA512:
6
- metadata.gz: 4360cf0f9e2be46afa9bff3ae06e579e5c20e352313f26756817d357fd3ba3a7c6a3bfbaac8b480ee2270153a31d928cf60af13d22a37eab7afcdb90c460a450
7
- data.tar.gz: 315d46fb85fdacc2b4cc2ceecb5eb6cebb710d361b829f5654d40c90f83943de1b13915937c01ac57983ec5d3b0d14464fb3af9dcddb14da1afe736a41f3c71d
6
+ metadata.gz: 1a0d00cbde59e483a5fd1e84f0fa55f980f435fa13e458db44305f266b38a27ed9a0cb1292c76e5f9152e327b0ba9ce739f281cf3942bd536b37418e0db3882d
7
+ data.tar.gz: 9ecc451aed677df7c4e45c38c67124cee8018750c7e0453a2623b4cf5be32fb69385747141810d75537a89543465efd04560d4b64a14264f8cf108e4ddec1cea
data/CHANGELOG.rdoc CHANGED
@@ -1,7 +1,18 @@
1
+ === 1.4.0 / 2025-06-11
2
+
3
+ * Use YAML.safe_dump.
4
+
5
+ * Clear `spec.date` because a recent change to RubyGems to make builds
6
+ more reproducible set date to 1980. This makes builds using hoe-gemspec2
7
+ no longer strictly reproducible, but in recent (spring 2025) comments
8
+ on rubygems/rubygems it appears that `spec.date` will be deprecated in
9
+ the future.
10
+
1
11
  === 1.3.0 / 2022-03-25
2
12
 
3
13
  * Add compatibility with modern safe versions of YAML, which makes #load
4
- an alias for #safe_load.
14
+ an alias for #safe_load. Thanks to @nevesenin, Merten Falk, for the
15
+ contribution!
5
16
 
6
17
  === 1.2.0 / 2014-07-18
7
18
 
data/lib/hoe/gemspec2.rb CHANGED
@@ -1,39 +1,51 @@
1
1
  module Hoe::Gemspec2
2
- VERSION = '1.3.0'
2
+ VERSION = "1.4.0"
3
3
 
4
4
  def define_gemspec2_tasks
5
- gemspec = spec.name + '.gemspec'
5
+ gemspec = spec.name + ".gemspec"
6
6
 
7
7
  with_config do |config, _|
8
- unless config["exclude"] =~ '.gemspec'
8
+ unless ".gemspec".match?(config["exclude"])
9
9
  warn "WARNING You should add .gemspec to your .hoerc exclude list"
10
10
  end
11
11
  end
12
12
 
13
13
  file gemspec => %w[clobber Manifest.txt] + spec.files do
14
- open(gemspec, 'w') { |f|
15
- permitted_classes = %w[
16
- Symbol Time Date Gem::Dependency Gem::Platform Gem::Requirement
17
- Gem::Specification Gem::Version Gem::Version::Requirement
18
- YAML::Syck::DefaultKey Syck::DefaultKey
14
+ open(gemspec, "w") { |f|
15
+ permitted_classes = [
16
+ Symbol, Time, Date, Gem::Dependency, Gem::Platform, Gem::Requirement,
17
+ Gem::Specification, Gem::Version, Gem::Version::Requirement
19
18
  ]
20
- permitted_symbols = %w[development runtime]
19
+
20
+ permitted_symbols = %i[development runtime]
21
21
  spec2 = begin
22
- YAML.safe_load(
23
- YAML.dump(spec),
24
- :permitted_classes => permitted_classes,
25
- :permitted_symbols => permitted_symbols,
26
- :aliases => true
27
- )
28
- rescue
29
- YAML.safe_load(
30
- YAML.dump(spec), permitted_classes, permitted_symbols, true
31
- )
32
- end
22
+ YAML.safe_load(
23
+ YAML.safe_dump(
24
+ spec,
25
+ :permitted_classes => permitted_classes,
26
+ :permitted_symbols => permitted_symbols,
27
+ :aliases => true
28
+ ),
29
+ :permitted_classes => permitted_classes,
30
+ :permitted_symbols => permitted_symbols,
31
+ :aliases => true
32
+ )
33
+ rescue
34
+ YAML.safe_load(
35
+ YAML.dump(spec), permitted_classes, permitted_symbols, true
36
+ )
37
+ end
38
+
39
+ # - Point the first: in service of reproducible builds, the RubyGems team made
40
+ # a change that breaks hoe releases using this gemspec.
41
+ # - Point the second: the date field is going to be deprecated. We clear it if
42
+ # the date is settable. This should make this at least partially forwards-
43
+ # compatible.
44
+ spec2.date = nil if spec2.respond_to?(:date=)
33
45
 
34
46
  unless @include_all
35
- [ :signing_key, :cert_chain ].each { |name|
36
- spec2.send("#{name}=".to_sym, spec2.default_value(name))
47
+ [:signing_key, :cert_chain].each { |name|
48
+ spec2.send(:"#{name}=", spec2.default_value(name))
37
49
  }
38
50
  end
39
51
  f.write(spec2.to_ruby)
@@ -47,7 +59,7 @@ module Hoe::Gemspec2
47
59
  desc "Regenerate #{gemspec} with all keys"
48
60
  task :full do
49
61
  @include_all = true
50
- Rake::Task['gemspec'].invoke
62
+ Rake::Task["gemspec"].invoke
51
63
  end
52
64
  end
53
65
 
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hoe-gemspec2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - raggi
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2022-03-26 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: hoe
@@ -30,14 +29,14 @@ dependencies:
30
29
  requirements:
31
30
  - - "~>"
32
31
  - !ruby/object:Gem::Version
33
- version: '5.15'
32
+ version: '5.25'
34
33
  type: :development
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - "~>"
39
38
  - !ruby/object:Gem::Version
40
- version: '5.15'
39
+ version: '5.25'
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: hoe-doofus
43
42
  requirement: !ruby/object:Gem::Requirement
@@ -137,7 +136,6 @@ licenses:
137
136
  - MIT
138
137
  metadata:
139
138
  homepage_uri: http://rubygems.org/gems/hoe-gemspec2
140
- post_install_message:
141
139
  rdoc_options:
142
140
  - "--main"
143
141
  - README.rdoc
@@ -154,8 +152,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
152
  - !ruby/object:Gem::Version
155
153
  version: '0'
156
154
  requirements: []
157
- rubygems_version: 3.1.6
158
- signing_key:
155
+ rubygems_version: 3.6.9
159
156
  specification_version: 4
160
157
  summary: Adds support for generation of gemspec files to Hoe
161
158
  test_files: []