reissue 0.4.11 → 0.4.13
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 +4 -4
- data/CHANGELOG.md +6 -14
- data/README.md +22 -0
- data/lib/hoe/reissue.rb +54 -0
- data/lib/reissue/rake.rb +29 -10
- data/lib/reissue/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9b4d46ca42d94ccf491e32974d657b0b799d1bc38dec50bfc422b324211c0dba
|
|
4
|
+
data.tar.gz: 0b9f9a2043e53cb0c534d1a2a96c9367a816fa44b49c6a6dce29586a6566ec8c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 543483500981a91880361b000cf9864c4ace92183d283ad25f0d849f574a5176e2c59349789c7e9852963d7513b790561012e7c42ebab8d69d2d81520ef520c5
|
|
7
|
+
data.tar.gz: c3c8da6ffbbe90a734b74c49922ec4acec0b1d1d9597ed3f496aee88336f932cb5fe8d631830abc6d131cefd10eaec61903696421f04c4935ed3428b23e615c3
|
data/CHANGELOG.md
CHANGED
|
@@ -5,23 +5,15 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
|
6
6
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
|
7
7
|
|
|
8
|
-
## [0.4.
|
|
8
|
+
## [0.4.13] - 2026-02-10
|
|
9
9
|
|
|
10
10
|
### Added
|
|
11
11
|
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
- Gem integration tests for checksums in updated_paths (16b801e)
|
|
12
|
+
- Hoe plugin for integrating Reissue into Hoe-based projects (f5dde22)
|
|
13
|
+
- Hoe plugin usage documentation in README and reissue:initialize task output (2bbd4ea)
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- Replace rubygems/release-gem action with explicit release steps (55dea65)
|
|
15
|
+
## [0.4.12] - 2026-02-09
|
|
19
16
|
|
|
20
|
-
###
|
|
21
|
-
|
|
22
|
-
- Finalize task fails when changelog is already committed (307939e)
|
|
23
|
-
- Checksums not staged during finalize task (307939e)
|
|
24
|
-
- Stage updated_paths fails when files do not exist (16b801e)
|
|
25
|
-
- Release workflow fails with working-directory command not found (9068f04)
|
|
17
|
+
### Changed
|
|
26
18
|
|
|
27
|
-
|
|
19
|
+
- reissue:bump now reads Version trailers regardless of whether the version file matches the last tag (98905d6)
|
data/README.md
CHANGED
|
@@ -60,6 +60,28 @@ Additional tasks (usually run automatically):
|
|
|
60
60
|
- `rake reissue:preview` - Preview changelog entries from fragments or git trailers
|
|
61
61
|
- `rake reissue:clear_fragments` - Clear changelog fragments after release
|
|
62
62
|
|
|
63
|
+
### Hoe Projects
|
|
64
|
+
|
|
65
|
+
If you use [Hoe](https://github.com/seattlerb/hoe) for project management:
|
|
66
|
+
|
|
67
|
+
```ruby
|
|
68
|
+
Hoe.plugin :reissue
|
|
69
|
+
|
|
70
|
+
Hoe.spec "my_gem" do
|
|
71
|
+
developer "Jane Doe", "jane@example.com"
|
|
72
|
+
|
|
73
|
+
self.reissue_version_file = "lib/my_gem/version.rb"
|
|
74
|
+
self.reissue_fragment = :git
|
|
75
|
+
self.reissue_push_finalize = :branch
|
|
76
|
+
end
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
This hooks into Hoe's release lifecycle:
|
|
80
|
+
- `prerelease` - Runs `reissue:bump` and `reissue:finalize` before release
|
|
81
|
+
- `postrelease` - Runs `reissue` to bump version for the next development cycle
|
|
82
|
+
|
|
83
|
+
All configuration options are available as `reissue_`-prefixed attributes (e.g., `reissue_version_file`, `reissue_changelog_file`). The version file defaults to `lib/#{name}/version.rb`.
|
|
84
|
+
|
|
63
85
|
### Non-Gem Projects
|
|
64
86
|
|
|
65
87
|
For non-gem Ruby projects, add to your Rakefile:
|
data/lib/hoe/reissue.rb
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "reissue/rake"
|
|
4
|
+
|
|
5
|
+
module Hoe::Reissue
|
|
6
|
+
attr_accessor :reissue_version_file, :reissue_changelog_file,
|
|
7
|
+
:reissue_version_limit, :reissue_version_redo_proc,
|
|
8
|
+
:reissue_fragment, :reissue_clear_fragments,
|
|
9
|
+
:reissue_retain_changelogs, :reissue_tag_pattern,
|
|
10
|
+
:reissue_commit, :reissue_commit_finalize,
|
|
11
|
+
:reissue_push_finalize, :reissue_push_reissue,
|
|
12
|
+
:reissue_updated_paths
|
|
13
|
+
|
|
14
|
+
def initialize_reissue
|
|
15
|
+
self.reissue_version_file = "lib/#{name}/version.rb"
|
|
16
|
+
self.reissue_changelog_file = "CHANGELOG.md"
|
|
17
|
+
self.reissue_version_limit = 2
|
|
18
|
+
self.reissue_version_redo_proc = nil
|
|
19
|
+
self.reissue_fragment = nil
|
|
20
|
+
self.reissue_clear_fragments = false
|
|
21
|
+
self.reissue_retain_changelogs = false
|
|
22
|
+
self.reissue_tag_pattern = nil
|
|
23
|
+
self.reissue_commit = true
|
|
24
|
+
self.reissue_commit_finalize = true
|
|
25
|
+
self.reissue_push_finalize = false
|
|
26
|
+
self.reissue_push_reissue = :branch
|
|
27
|
+
self.reissue_updated_paths = []
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def define_reissue_tasks
|
|
31
|
+
config = {
|
|
32
|
+
version_file: reissue_version_file,
|
|
33
|
+
changelog_file: reissue_changelog_file,
|
|
34
|
+
version_limit: reissue_version_limit,
|
|
35
|
+
version_redo_proc: reissue_version_redo_proc,
|
|
36
|
+
fragment: reissue_fragment,
|
|
37
|
+
clear_fragments: reissue_clear_fragments,
|
|
38
|
+
retain_changelogs: reissue_retain_changelogs,
|
|
39
|
+
tag_pattern: reissue_tag_pattern,
|
|
40
|
+
commit: reissue_commit,
|
|
41
|
+
commit_finalize: reissue_commit_finalize,
|
|
42
|
+
push_finalize: reissue_push_finalize,
|
|
43
|
+
push_reissue: reissue_push_reissue,
|
|
44
|
+
updated_paths: reissue_updated_paths
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
Reissue::Task.create :reissue do
|
|
48
|
+
config.each { |attr, value| send(:"#{attr}=", value) }
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
Rake::Task.define_task(prerelease: ["reissue:bump", "reissue:finalize"])
|
|
52
|
+
Rake::Task.define_task(postrelease: ["reissue"])
|
|
53
|
+
end
|
|
54
|
+
end
|
data/lib/reissue/rake.rb
CHANGED
|
@@ -366,26 +366,32 @@ module Reissue
|
|
|
366
366
|
# Get version from last git tag
|
|
367
367
|
tag_version = handler.last_tag_version
|
|
368
368
|
|
|
369
|
-
|
|
370
|
-
if tag_version && current_version == tag_version
|
|
371
|
-
bump = handler.read_version_bump
|
|
369
|
+
bump = handler.read_version_bump
|
|
372
370
|
|
|
371
|
+
if tag_version && current_version == tag_version
|
|
373
372
|
if bump
|
|
374
373
|
updater = Reissue::VersionUpdater.new(version_file, version_redo_proc: version_redo_proc)
|
|
375
374
|
updater.call(bump)
|
|
376
375
|
puts "Version bumped (#{bump}) to #{updater.instance_variable_get(:@new_version)}"
|
|
377
376
|
end
|
|
378
377
|
elsif tag_version && current_version != tag_version
|
|
379
|
-
puts "Version already bumped (#{tag_version} → #{current_version}), skipping"
|
|
380
|
-
else
|
|
381
|
-
# No tag exists, check for version trailers anyway
|
|
382
|
-
bump = handler.read_version_bump
|
|
383
|
-
|
|
384
378
|
if bump
|
|
385
379
|
updater = Reissue::VersionUpdater.new(version_file, version_redo_proc: version_redo_proc)
|
|
386
|
-
updater.
|
|
387
|
-
|
|
380
|
+
desired_version = updater.redo(tag_version, bump)
|
|
381
|
+
|
|
382
|
+
if desired_version > current_version
|
|
383
|
+
updater.call(bump)
|
|
384
|
+
puts "Version bumped (#{bump}) to #{updater.instance_variable_get(:@new_version)}"
|
|
385
|
+
else
|
|
386
|
+
puts "Version already bumped (#{tag_version} → #{current_version}), skipping"
|
|
387
|
+
end
|
|
388
|
+
else
|
|
389
|
+
puts "Version already bumped (#{tag_version} → #{current_version}), skipping"
|
|
388
390
|
end
|
|
391
|
+
elsif bump
|
|
392
|
+
updater = Reissue::VersionUpdater.new(version_file, version_redo_proc: version_redo_proc)
|
|
393
|
+
updater.call(bump)
|
|
394
|
+
puts "Version bumped (#{bump}) to #{updater.instance_variable_get(:@new_version)}"
|
|
389
395
|
end
|
|
390
396
|
end
|
|
391
397
|
end
|
|
@@ -460,6 +466,19 @@ namespace :reissue do
|
|
|
460
466
|
puts "This automatically runs reissue:bump and reissue:finalize before `rake build`"
|
|
461
467
|
puts "and runs reissue after `rake release`."
|
|
462
468
|
puts
|
|
469
|
+
puts "For Hoe-based projects, use the Hoe plugin:"
|
|
470
|
+
puts
|
|
471
|
+
puts <<~HOE_USAGE
|
|
472
|
+
Hoe.plugin :reissue
|
|
473
|
+
|
|
474
|
+
Hoe.spec "your_gem" do
|
|
475
|
+
self.reissue_version_file = "lib/your_gem/version.rb"
|
|
476
|
+
self.reissue_fragment = :git
|
|
477
|
+
end
|
|
478
|
+
HOE_USAGE
|
|
479
|
+
puts
|
|
480
|
+
puts "This hooks into Hoe's prerelease and postrelease tasks."
|
|
481
|
+
puts
|
|
463
482
|
puts "Run `rake -T reissue` to see all available tasks after configuration."
|
|
464
483
|
end
|
|
465
484
|
end
|
data/lib/reissue/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: reissue
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.13
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jim Gay
|
|
@@ -34,6 +34,7 @@ files:
|
|
|
34
34
|
- LICENSE.txt
|
|
35
35
|
- README.md
|
|
36
36
|
- Rakefile
|
|
37
|
+
- lib/hoe/reissue.rb
|
|
37
38
|
- lib/reissue.rb
|
|
38
39
|
- lib/reissue/changelog_updater.rb
|
|
39
40
|
- lib/reissue/fragment_handler.rb
|