diff --git a/Makefile b/Makefile index 45545c8..94606a4 100644 --- a/Makefile +++ b/Makefile @@ -18,29 +18,35 @@ build: build.stamp venv: venv/touchfile -build.stamp: venv .init.stamp sources/config.yaml $(SOURCES) +venv-test: venv-test/touchfile + +customize: venv + . venv/bin/activate; python3 scripts/customize.py + +build.stamp: venv sources/config.yaml $(SOURCES) rm -rf fonts (for config in sources/config*.yaml; do . venv/bin/activate; gftools builder $$config; done) && touch build.stamp -.init.stamp: venv - . venv/bin/activate; python3 scripts/first-run.py - venv/touchfile: requirements.txt test -d venv || python3 -m venv venv . venv/bin/activate; pip install -Ur requirements.txt touch venv/touchfile -test: venv build.stamp - . venv/bin/activate; mkdir -p out/ out/fontbakery; fontbakery check-googlefonts -l WARN --full-lists --succinct --badges out/badges --html out/fontbakery/fontbakery-report.html --ghmarkdown out/fontbakery/fontbakery-report.md $(shell find fonts/ttf -type f) || echo '::warning file=sources/config.yaml,title=Fontbakery failures::The fontbakery QA check reported errors in your font. Please check the generated report.' +venv-test/touchfile: requirements-test.txt + test -d venv-test || python3 -m venv venv-test + . venv-test/bin/activate; pip install -Ur requirements-test.txt + touch venv-test/touchfile + +test: venv-test build.stamp + . venv-test/bin/activate; mkdir -p out/ out/fontbakery; fontbakery check-googlefonts -l WARN --full-lists --succinct --badges out/badges --html out/fontbakery/fontbakery-report.html --ghmarkdown out/fontbakery/fontbakery-report.md $(shell find fonts/ttf -type f) || echo '::warning file=sources/config.yaml,title=Fontbakery failures::The fontbakery QA check reported errors in your font. Please check the generated report.' proof: venv build.stamp . venv/bin/activate; mkdir -p out/ out/proof; diffenator2 proof $(shell find fonts/ttf -type f) -o out/proof -images: venv build.stamp $(DRAWBOT_OUTPUT) - git add documentation/*.png && git commit -m "Rebuild images" documentation/*.png +images: venv $(DRAWBOT_OUTPUT) %.png: %.py build.stamp - python3 $< --output $@ + . venv/bin/activate; python3 $< --output $@ clean: rm -rf venv diff --git a/requirements-test.txt b/requirements-test.txt new file mode 100644 index 0000000..d326066 --- /dev/null +++ b/requirements-test.txt @@ -0,0 +1,2 @@ +fontbakery[googlefonts]>=0.9.2 +gftools[qa]>=0.9.23 diff --git a/requirements.txt b/requirements.txt index ead5442..89e58c4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,111 +1,10 @@ -absl-py==2.0.0 -appdirs==1.4.4 -attrs==23.1.0 -axisregistry==0.4.3 -babelfont==3.0.1 -beziers==0.5.0 -blackrenderer==0.6.0 -booleanOperations==0.9.0 -Brotli==1.1.0 -bump2version==1.0.1 -bumpfontversion==0.4.1 -cattrs==23.1.2 -certifi==2023.7.22 -cffi==1.16.0 -cffsubr==0.2.9.post1 -charset-normalizer==3.2.0 -click==8.1.7 -cmarkgfm==2022.10.27 -colorlog==6.7.0 -compreffor==0.5.5 -cryptography==41.0.4 -cu2qu==1.6.7.post2 -defcon==0.10.3 -Deprecated==1.2.14 -diffenator2==0.2.13 -drawbot-skia==0.5.0 -exceptiongroup==1.1.3 -font-v==2.1.0 -fontbakery==0.9.2 -fontFeatures==1.8.0 -fontmake==3.7.1 -fontMath==0.9.3 -fonttools==4.42.1 -freetype-py==2.3.0 -fs==2.4.16 -gflanguages==0.5.7 -gftools==0.9.34 -gitdb==4.0.10 -GitPython==3.1.37 -glyphsets==0.6.4 -glyphsLib==6.4.0 -h11==0.14.0 -hyperglot==0.4.5 -idna==3.4 -Jinja2==3.1.2 -lxml==4.9.3 -markdown-it-py==3.0.0 -MarkupSafe==2.1.3 -mdurl==0.1.2 -munkres==1.1.4 -nanoemoji==0.15.1 -ninja==1.11.1 -numpy==1.26.0 -openstep-plist==0.3.1 -opentype-sanitizer==9.1.0 -opentypespec==1.9.1 -orjson==3.9.7 -outcome==1.2.0 -packaging==23.1 -picosvg==0.22.1 -Pillow==10.0.1 -pip-api==0.0.30 -pngquant-cli==2.17.0.post5 -protobuf==3.20.3 -pyahocorasick==2.0.0 -pybind11==2.11.1 -pyclipper==1.3.0.post5 -pycparser==2.21 -pygit2==1.13.1 -PyGithub==1.59.1 -Pygments==2.16.1 -PyJWT==2.8.0 -PyNaCl==1.5.0 -pyparsing==3.1.1 -PySocks==1.7.1 -python-bidi==0.4.2 -python-dateutil==2.8.2 -PyYAML==6.0.1 -regex==2023.8.8 -requests==2.31.0 -resvg-cli==0.22.0.post3 -rich==13.5.3 -selenium==4.13.0 -sh==2.0.6 -six==1.16.0 -skia-pathops==0.8.0.post1 -skia-python==87.5 -smmap==5.0.1 -sniffio==1.3.0 -sortedcontainers==2.4.0 -statmake==0.6.0 -strictyaml==1.7.3 -tabulate==0.9.0 -toml==0.10.2 -tqdm==4.66.1 -trio==0.22.2 -trio-websocket==0.11.1 -ttfautohint-py==0.5.1 -typing_extensions==4.8.0 -ufo2ft==2.33.4 -ufoLib2==0.16.0 -uharfbuzz==0.37.3 -unicodedata2==15.1.0 -Unidecode==1.3.7 -urllib3==2.0.5 -vharfbuzz==0.2.0 -vttLib==0.12.0 -wrapt==1.15.0 -wsproto==1.2.0 -youseedee==0.3.0 -zopfli==0.2.3 +fontmake>=2.4 +fontbakery>=0.8.11 +gftools @ git+https://github.com/googlefonts/gftools@builder2 +fontprimer @ git+https://github.com/simoncozens/fontprimer +gftools[qa]>=0.9.23 +drawbot-skia>=0.4.8 +sh>=1.14.2 +bumpfontversion>=0.2.0 +diffenator2>=0.2.5 +opentype-feature-freezer