diff options
| author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2025-11-01 13:47:59 +0900 |
|---|---|---|
| committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2025-11-01 18:58:32 +0900 |
| commit | 5ce27bef014d394e1c478de78165edaf9af122aa (patch) | |
| tree | 8b4685d8239ef0da64d1b521d83acfd6e518b658 | |
| parent | bca8fce78f588c1119c56945b99dd29d95a67a0c (diff) | |
Flush NEWS.md only when NEW is not given
Split flushing NEWS and bumping up versions
| -rw-r--r-- | defs/gmake.mk | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/defs/gmake.mk b/defs/gmake.mk index c7eaca91a5..4069a4b8c9 100644 --- a/defs/gmake.mk +++ b/defs/gmake.mk @@ -538,34 +538,53 @@ spec/%/ spec/%_spec.rb: programs exts PHONY ruby.pc: $(filter-out ruby.pc,$(ruby_pc)) matz: up - $(eval OLD := $(MAJOR).$(MINOR).0) + +matz: OLD := $(MAJOR).$(MINOR).0 ifdef NEW - $(eval MAJOR := $(word 1,$(subst ., ,$(NEW)))) - $(eval MINOR := $(word 2,$(subst ., ,$(NEW)))) +matz: MAJOR := $(word 1,$(subst ., ,$(NEW))) +matz: MINOR := $(word 2,$(subst ., ,$(NEW))) +matz: .WAIT bump_news else - $(eval MINOR := $(shell expr $(MINOR) + 1)) +matz: MINOR := $(shell expr $(MINOR) + 1) +matz: .WAIT reset_news endif - $(eval override NEW := $(MAJOR).$(MINOR).0) - $(eval message := Development of $(NEW) started.) - $(eval files := include/ruby/version.h include/ruby/internal/abi.h) + +matz: .WAIT bump_headers +matz: override NEW := $(MAJOR).$(MINOR).0 +matz: files := include/ruby/version.h include/ruby/internal/abi.h +matz: message := Development of $(NEW) started. + +flush_news: $(GIT_IN_SRC) mv -f NEWS.md doc/NEWS/NEWS-$(OLD).md $(GIT_IN_SRC) commit -m "[DOC] Flush NEWS.md" + +.PHONY: flush_news reset_news bump_news bump_headers + +bump_headers: sed -i~ \ -e "s/^\(#define RUBY_API_VERSION_MAJOR\) .*/\1 $(MAJOR)/" \ -e "s/^\(#define RUBY_API_VERSION_MINOR\) .*/\1 $(MINOR)/" \ -e "s/^\(#define RUBY_ABI_VERSION\) .*/\1 0/" \ $(files:%=$(srcdir)/%) - $(GIT_IN_SRC) add $(files) + +reset_news: flush_news $(BASERUBY) -C $(srcdir) -p -00 \ - -e 'BEGIN {old, new = ARGV.shift(2); STDOUT.reopen("NEWS.md")}' \ + -e 'BEGIN {old, new = ARGV.shift(2); STDOUT.reopen(ARGV.shift)}' \ -e 'case $$.' \ -e 'when 1; $$_.sub!(/Ruby \K[0-9.]+/, new)' \ -e 'when 2; $$_.sub!(/\*\*\K[0-9.]+(?=\*\*)/, old)' \ -e 'end' \ -e 'next if /^[\[ *]/ =~ $$_' \ -e '$$_.sub!(/\n{2,}\z/, "\n\n")' \ - $(OLD) $(NEW) doc/NEWS/NEWS-$(OLD).md - $(GIT_IN_SRC) add NEWS.md + $(OLD) $(NEW) NEWS.md doc/NEWS/NEWS-$(OLD).md + +bump_news: + $(BASERUBY) -C $(srcdir) -p -i \ + -e 'BEGIN {new = ARGV.shift; print gets("").sub(/Ruby \K[0-9.]+/, new)}' \ + $(NEW) NEWS.md + +matz: + $(GIT_IN_SRC) add NEWS.md $(files) $(GIT_IN_SRC) commit -m "$(message)" tags: |
