8000 Use timestamp files to track test revision of bundled gems · ruby/ruby@216621c · GitHub
[go: up one dir, main page]

Skip to content

Commit 216621c

Browse files
committed
Use timestamp files to track test revision of bundled gems
1 parent e10d01f commit 216621c

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

defs/gmake.mk

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -326,18 +326,27 @@ $(srcdir)/.bundle/gems/%: $(srcdir)/gems/%.gem | .bundle/gems
326326
-Itool/lib -rbundled_gem \
327327
-e 'BundledGem.unpack("gems/$(@F).gem", ".bundle")'
328328

329+
$(srcdir)/.bundle/.timestamp:
330+
$(MAKEDIRS) $@
331+
329332
define build-gem
330-
$(srcdir)/gems/src/$(1): | $(srcdir)/gems/src
333+
$(srcdir)/gems/src/$(1)/$(1).gemspec: | $(srcdir)/gems/src
331334
$(ECHO) Cloning $(4)
332335
$(Q) $(GIT) clone $(4) $$(@)
333336

334-
.PHONY: $(srcdir)/gems/$(1)-$(2).gem
335-
$(srcdir)/gems/$(1)-$(2).gem: | $(srcdir)/gems/src/$(1)
336-
$(ECHO) Building $(1)@$(3) to $$(@F)
337+
$(srcdir)/.bundle/.timestamp/$(1).revision: $(srcdir)/gems/src/$(1)/$(1).gemspec \
338+
$(if $(if $(wildcard $$(@)),$(filter $(3),$(shell cat $$(@)))),,PHONY) \
339+
| $$(@D)
340+
$(ECHO) Update $(1) to $(3)
337341
$(Q) $(CHDIR) "$(srcdir)/gems/src/$(1)" && \
338342
$(GIT) fetch origin $(3) && \
339343
6C64 $(GIT) checkout --detach $(3) && \
340344
:
345+
echo $(3) | $(IFCHANGE) $$(@) -
346+
347+
$(srcdir)/gems/$(1)-$(2).gem: $(srcdir)/gems/src/$(1)/$(1).gemspec \
348+
$(srcdir)/.bundle/.timestamp/$(1).revision
349+
$(ECHO) Building $(1)@$(3) to $$(@)
341350
$(Q) $(BASERUBY) -C "$(srcdir)" \
342351
-Itool/lib -rbundled_gem \
343352
-e 'BundledGem.build("gems/src/$(1)/$(1).gemspec", "$(2)", "gems")'

0 commit comments

Comments
 (0)
0