Sha256: 90c78f84f0ba5222a87e7d6c4647ca92af286c27b21bd90584e55c47ab9a111d

Contents?: true

Size: 1.33 KB

Versions: 182

Compression:

Stored size: 1.33 KB

Contents

EXERCISE ?= ""
IGNOREDIRS := "^(\.git|.crystal|docs|bin|img|script)$$"
EXERCISESDIR ?= "exercises"
GENERATORDIR ?= "src/generator"
EXERCISES = $(shell find exercises -maxdepth 1 -mindepth 1 -type d | cut -d'/' -f2 | sort | grep -Ev $(IGNOREDIRS))

FILEEXT = "cr"
SPECDIR = "spec"
EXERCISENAME := "$(subst -,_,$(EXERCISE))"
EXERCISEDIR := $(EXERCISESDIR)/$(EXERCISE)
EXERCISESPECDIR := $(EXERCISEDIR)/$(SPECDIR)
SPECFILE := "$(EXERCISENAME)_spec.$(FILEEXT)"
SUPERTMPSPECFILE := "$(SPECFILE).super.tmp"
TMPSPECFILE := "$(SPECFILE).tmp"

test-exercise:
	@echo "running formatting check for: $(EXERCISE)"
	@crystal tool format --check $(EXERCISESDIR)/$(EXERCISE)
	@sed 's/pending/it/g' $(EXERCISESPECDIR)/$(SPECFILE) > $(EXERCISESPECDIR)/$(TMPSPECFILE)
	@mv $(EXERCISESPECDIR)/$(SPECFILE) $(EXERCISESPECDIR)/$(SUPERTMPSPECFILE)
	@mv $(EXERCISESPECDIR)/$(TMPSPECFILE) $(EXERCISESPECDIR)/$(SPECFILE)
	@echo "running tests for: $(EXERCISE)"
	@cd $(EXERCISESDIR)/$(EXERCISE) && crystal spec
	@rm $(EXERCISESPECDIR)/$(SPECFILE)
	@mv $(EXERCISESPECDIR)/$(SUPERTMPSPECFILE) $(EXERCISESPECDIR)/$(SPECFILE)
	@printf "\n"

test:
	@for exercise in $(EXERCISES); do EXERCISE=$$exercise $(MAKE) -s test-exercise || exit 1; done
	@echo "running generator tests"
	@cd $(GENERATORDIR) && crystal spec

build_generator:
	@crystal build $(GENERATORDIR)/generate.$(FILEEXT) -o bin/generate

Version data entries

182 entries across 182 versions & 1 rubygems

Version Path
trackler-2.1.0.53 tracks/crystal/Makefile
trackler-2.1.0.52 tracks/crystal/Makefile
trackler-2.1.0.51 tracks/crystal/Makefile
trackler-2.1.0.50 tracks/crystal/Makefile
trackler-2.1.0.49 tracks/crystal/Makefile
trackler-2.1.0.48 tracks/crystal/Makefile
trackler-2.1.0.47 tracks/crystal/Makefile
trackler-2.1.0.46 tracks/crystal/Makefile
trackler-2.1.0.45 tracks/crystal/Makefile
trackler-2.1.0.44 tracks/crystal/Makefile
trackler-2.1.0.43 tracks/crystal/Makefile
trackler-2.1.0.42 tracks/crystal/Makefile
trackler-2.1.0.41 tracks/crystal/Makefile
trackler-2.1.0.40 tracks/crystal/Makefile
trackler-2.1.0.39 tracks/crystal/Makefile
trackler-2.1.0.38 tracks/crystal/Makefile
trackler-2.1.0.37 tracks/crystal/Makefile
trackler-2.1.0.36 tracks/crystal/Makefile
trackler-2.1.0.34 tracks/crystal/Makefile
trackler-2.1.0.33 tracks/crystal/Makefile