From 7a4f7fc14d8331f90177a8ba47fb682fecd684b1 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Thu, 19 Jan 2023 21:55:44 +0900 Subject: Use timestamp files to track test revision of bundled gems --- defs/gmake.mk | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'defs') diff --git a/defs/gmake.mk b/defs/gmake.mk index 3970409f39..ad39733635 100644 --- a/defs/gmake.mk +++ b/defs/gmake.mk @@ -326,18 +326,27 @@ $(srcdir)/.bundle/gems/%: $(srcdir)/gems/%.gem | .bundle/gems -Itool/lib -rbundled_gem \ -e 'BundledGem.unpack("gems/$(@F).gem", ".bundle")' +$(srcdir)/.bundle/.timestamp: + $(MAKEDIRS) $@ + define build-gem -$(srcdir)/gems/src/$(1): | $(srcdir)/gems/src +$(srcdir)/gems/src/$(1)/$(1).gemspec: | $(srcdir)/gems/src $(ECHO) Cloning $(4) $(Q) $(GIT) clone $(4) $$(@) -.PHONY: $(srcdir)/gems/$(1)-$(2).gem -$(srcdir)/gems/$(1)-$(2).gem: | $(srcdir)/gems/src/$(1) - $(ECHO) Building $(1)@$(3) to $$(@F) +$(srcdir)/.bundle/.timestamp/$(1).revision: $(srcdir)/gems/src/$(1)/$(1).gemspec \ + $(if $(if $(wildcard $$(@)),$(filter $(3),$(shell cat $$(@)))),,PHONY) \ + | $$(@D) + $(ECHO) Update $(1) to $(3) $(Q) $(CHDIR) "$(srcdir)/gems/src/$(1)" && \ $(GIT) fetch origin $(3) && \ $(GIT) checkout --detach $(3) && \ : + echo $(3) | $(IFCHANGE) $$(@) - + +$(srcdir)/gems/$(1)-$(2).gem: $(srcdir)/gems/src/$(1)/$(1).gemspec \ + $(srcdir)/.bundle/.timestamp/$(1).revision + $(ECHO) Building $(1)@$(3) to $$(@) $(Q) $(BASERUBY) -C "$(srcdir)" \ -Itool/lib -rbundled_gem \ -e 'BundledGem.build("gems/src/$(1)/$(1).gemspec", "$(2)", "gems")' -- cgit v1.2.3