hoe-gemspec2 1.2.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 (5) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.rdoc +16 -0
  3. data/README.rdoc +1 -1
  4. data/lib/hoe/gemspec2.rb +37 -8
  5. metadata +27 -24
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: dc68895491ef45bdf754ad599f9d89cca3ede9bf
4
- data.tar.gz: 2d7c1d0699b7c8dca6baa284fef7a6196ed4ddb0
2
+ SHA256:
3
+ metadata.gz: 7ea048fd72f37dd1c0d1b0e363f8936c3f8885e1d2c45f48d908fde54d66e0c4
4
+ data.tar.gz: 195c939582ac84986e4ba45b4ebbc13d4239a9d64f008ef2c0d40b457ef44835
5
5
  SHA512:
6
- metadata.gz: 895f48e654794328be6f1b15c1e41ff4180b2b8cd3e7b5ac650bc8f151f8b9e79c56eda1461abdd6ac6dadb913ffcac6278bb4849725252f27be48c5be3a061f
7
- data.tar.gz: 6d03d4853d51541fc8d96bb84cb1d90be1d5f1f42b1e725ddcc7782791d3248b01524e362d039b491da6d0c972319c559523d1c342cd816c086bb6e4fc39f877
6
+ metadata.gz: 1a0d00cbde59e483a5fd1e84f0fa55f980f435fa13e458db44305f266b38a27ed9a0cb1292c76e5f9152e327b0ba9ce739f281cf3942bd536b37418e0db3882d
7
+ data.tar.gz: 9ecc451aed677df7c4e45c38c67124cee8018750c7e0453a2623b4cf5be32fb69385747141810d75537a89543465efd04560d4b64a14264f8cf108e4ddec1cea
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,19 @@
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
+
11
+ === 1.3.0 / 2022-03-25
12
+
13
+ * Add compatibility with modern safe versions of YAML, which makes #load
14
+ an alias for #safe_load. Thanks to @nevesenin, Merten Falk, for the
15
+ contribution!
16
+
1
17
  === 1.2.0 / 2014-07-18
2
18
 
3
19
  * Automatically exclude +cert_chain+ and +signing_key+, unless called as
data/README.rdoc CHANGED
@@ -1,6 +1,6 @@
1
1
  = hoe-gemspec2
2
2
 
3
- http://rubygems.org/gems/hoe-gemspec2
3
+ home :: http://rubygems.org/gems/hoe-gemspec2
4
4
 
5
5
  {Project}[http://rubygems.org/gems/hoe-gemspec2]
6
6
  {Documentation}[http://rubydoc.info/github/raggi/hoe-gemspec2]
data/lib/hoe/gemspec2.rb CHANGED
@@ -1,22 +1,51 @@
1
1
  module Hoe::Gemspec2
2
- VERSION = '1.2.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
- spec2 = YAML.load(YAML.dump(spec))
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
18
+ ]
19
+
20
+ permitted_symbols = %i[development runtime]
21
+ spec2 = begin
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=)
16
45
 
17
46
  unless @include_all
18
- [ :signing_key, :cert_chain ].each { |name|
19
- spec2.send("#{name}=".to_sym, spec2.default_value(name))
47
+ [:signing_key, :cert_chain].each { |name|
48
+ spec2.send(:"#{name}=", spec2.default_value(name))
20
49
  }
21
50
  end
22
51
  f.write(spec2.to_ruby)
@@ -30,7 +59,7 @@ module Hoe::Gemspec2
30
59
  desc "Regenerate #{gemspec} with all keys"
31
60
  task :full do
32
61
  @include_all = true
33
- Rake::Task['gemspec'].invoke
62
+ Rake::Task["gemspec"].invoke
34
63
  end
35
64
  end
36
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.2.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: 2014-07-18 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,28 +29,14 @@ dependencies:
30
29
  requirements:
31
30
  - - "~>"
32
31
  - !ruby/object:Gem::Version
33
- version: '5.3'
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.3'
41
- - !ruby/object:Gem::Dependency
42
- name: rdoc
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '4.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '4.0'
39
+ version: '5.25'
55
40
  - !ruby/object:Gem::Dependency
56
41
  name: hoe-doofus
57
42
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +93,26 @@ dependencies:
108
93
  - - ">="
109
94
  - !ruby/object:Gem::Version
110
95
  version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: rdoc
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '4.0'
103
+ - - "<"
104
+ - !ruby/object:Gem::Version
105
+ version: '7'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '4.0'
113
+ - - "<"
114
+ - !ruby/object:Gem::Version
115
+ version: '7'
111
116
  description: |-
112
117
  Adds support for generation of gemspec files to Hoe. By default, excludes the
113
118
  signing key and certificate chain. Use <tt>rake gemspec:full</tt> to include
@@ -129,8 +134,8 @@ files:
129
134
  homepage: http://rubygems.org/gems/hoe-gemspec2
130
135
  licenses:
131
136
  - MIT
132
- metadata: {}
133
- post_install_message:
137
+ metadata:
138
+ homepage_uri: http://rubygems.org/gems/hoe-gemspec2
134
139
  rdoc_options:
135
140
  - "--main"
136
141
  - README.rdoc
@@ -147,9 +152,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
152
  - !ruby/object:Gem::Version
148
153
  version: '0'
149
154
  requirements: []
150
- rubyforge_project:
151
- rubygems_version: 2.2.0
152
- signing_key:
155
+ rubygems_version: 3.6.9
153
156
  specification_version: 4
154
157
  summary: Adds support for generation of gemspec files to Hoe
155
158
  test_files: []