Fixes an issue with missing git hash in version metadata of built fonts. Closes #234
This commit is contained in:
parent
4519bffb7c
commit
cd4e4bca3a
5 changed files with 27 additions and 47 deletions
16
Makefile
16
Makefile
|
|
@ -46,9 +46,11 @@ web: all_web
|
|||
|
||||
all_const: all_otf all_ttf all_web
|
||||
all_const_hinted: all_ttf_hinted all_web_hinted
|
||||
var: \
|
||||
var: var_text var_display
|
||||
var_text: \
|
||||
$(FONTDIR)/var/Inter.var.woff2 \
|
||||
$(FONTDIR)/var/Inter.var.otf \
|
||||
$(FONTDIR)/var/Inter.var.otf
|
||||
var_display: \
|
||||
$(FONTDIR)/var/InterDisplay.var.woff2 \
|
||||
$(FONTDIR)/var/InterDisplay.var.otf
|
||||
all_var: \
|
||||
|
|
@ -73,7 +75,7 @@ all_var: \
|
|||
# all_var_hinted: $(FONTDIR)/var-hinted/Inter.var.otf $(FONTDIR)/var-hinted/Inter.var.woff2
|
||||
# .PHONY: all_var_hinted
|
||||
|
||||
.PHONY: all_const all_const_hinted var all_var
|
||||
.PHONY: all_const all_const_hinted var var_text var_display all_var
|
||||
|
||||
export PATH := $(PWD)/build/venv/bin:$(PATH)
|
||||
|
||||
|
|
@ -97,23 +99,23 @@ build/%.woff: build/%.ttf
|
|||
|
||||
|
||||
# VF OTF from UFO
|
||||
$(FONTDIR)/var/Inter.var.otf: $(all_ufo_masters) version.txt
|
||||
$(FONTDIR)/var/Inter.var.otf: $(all_ufo_masters_text) version.txt
|
||||
misc/fontbuild compile-var -o $@ $(FONTBUILD_FLAGS) build/ufo/Inter.designspace
|
||||
|
||||
$(FONTDIR)/var/Inter-V.var.otf: $(FONTDIR)/var/Inter.var.otf
|
||||
misc/fontbuild rename --family "Inter V" -o $@ $<
|
||||
|
||||
$(FONTDIR)/var/Inter-%.var.otf: build/ufo/Inter-%.designspace $(all_ufo_masters) version.txt
|
||||
$(FONTDIR)/var/Inter-%.var.otf: build/ufo/Inter-%.designspace $(all_ufo_masters_text) version.txt
|
||||
misc/fontbuild compile-var -o $@ $(FONTBUILD_FLAGS) $<
|
||||
misc/tools/fix-vf-meta.py $@
|
||||
|
||||
$(FONTDIR)/var/InterDisplay.var.otf: $(all_display_ufo_masters) version.txt
|
||||
$(FONTDIR)/var/InterDisplay.var.otf: $(all_ufo_masters_display) version.txt
|
||||
misc/fontbuild compile-var -o $@ $(FONTBUILD_FLAGS) build/ufo/InterDisplay.designspace
|
||||
|
||||
$(FONTDIR)/var/InterDisplay-V.var.otf: $(FONTDIR)/var/InterDisplay.var.otf
|
||||
misc/fontbuild rename --family "Inter Display V" -o $@ $<
|
||||
|
||||
$(FONTDIR)/var/InterDisplay-%.var.otf: build/ufo/InterDisplay-%.designspace $(all_display_ufo_masters) version.txt
|
||||
$(FONTDIR)/var/InterDisplay-%.var.otf: build/ufo/InterDisplay-%.designspace $(all_ufo_masters_display) version.txt
|
||||
misc/fontbuild compile-var -o $@ $(FONTBUILD_FLAGS) $<
|
||||
misc/tools/fix-vf-meta.py $@
|
||||
|
||||
|
|
|
|||
6
init.sh
6
init.sh
|
|
@ -454,9 +454,13 @@ else
|
|||
echo ")" >> "$GEN_MAKE_FILE"
|
||||
echo -e "\t@touch \"\$@\"" >> "$GEN_MAKE_FILE"
|
||||
done
|
||||
echo -n "all_ufo_masters :=" >> "$GEN_MAKE_FILE"
|
||||
echo -n "all_ufo_masters_text :=" >> "$GEN_MAKE_FILE"
|
||||
for style in "${master_styles[@]}"; do
|
||||
echo -n " build/ufo/Inter-${style}.ufo" >> "$GEN_MAKE_FILE"
|
||||
done
|
||||
echo "" >> "$GEN_MAKE_FILE"
|
||||
echo -n "all_ufo_masters_display :=" >> "$GEN_MAKE_FILE"
|
||||
for style in "${master_styles[@]}"; do
|
||||
echo -n " build/ufo/InterDisplay-${style}.ufo" >> "$GEN_MAKE_FILE"
|
||||
done
|
||||
echo "" >> "$GEN_MAKE_FILE"
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ from glyphsLib.interpolation import apply_instance_data
|
|||
|
||||
from fontbuildlib import FontBuilder
|
||||
from fontbuildlib.util import mkdirs, loadTTFont
|
||||
from fontbuildlib.info import setFontInfo, updateFontVersion
|
||||
from fontbuildlib.info import setFontInfo
|
||||
from fontbuildlib.name import setFamilyName, renameStylesGoogleFonts
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
|
|||
|
|
@ -1,39 +1,11 @@
|
|||
import subprocess
|
||||
import re
|
||||
import sys
|
||||
from datetime import datetime
|
||||
from common import getGitHash, getVersion
|
||||
from .util import readTextFile, BASEDIR, pjoin
|
||||
|
||||
|
||||
_gitHash = None
|
||||
def getGitHash():
|
||||
global _gitHash
|
||||
if _gitHash is None:
|
||||
_gitHash = ''
|
||||
try:
|
||||
_gitHash = subprocess.check_output(
|
||||
['git', '-C', BASEDIR, 'rev-parse', '--short', 'HEAD'],
|
||||
stderr=subprocess.STDOUT,
|
||||
**_enc_kwargs
|
||||
).strip()
|
||||
except:
|
||||
try:
|
||||
# git rev-parse --short HEAD > githash.txt
|
||||
_gitHash = readTextFile(pjoin(BASEDIR, 'githash.txt')).strip()
|
||||
except:
|
||||
pass
|
||||
return _gitHash
|
||||
|
||||
|
||||
_version = None
|
||||
def getVersion():
|
||||
global _version
|
||||
if _version is None:
|
||||
_version = readTextFile(pjoin(BASEDIR, 'version.txt')).strip()
|
||||
return _version
|
||||
|
||||
|
||||
|
||||
def updateFontVersion(font, dummy, isVF):
|
||||
if dummy:
|
||||
version = "1.0"
|
||||
|
|
@ -41,8 +13,11 @@ def updateFontVersion(font, dummy, isVF):
|
|||
now = datetime(2016, 1, 1, 0, 0, 0, 0)
|
||||
else:
|
||||
version = getVersion()
|
||||
buildtag = getGitHash()
|
||||
buildtag, buildtagErrs = getGitHash()
|
||||
now = datetime.utcnow()
|
||||
if buildtag == "" or len(buildtagErrs) > 0:
|
||||
buildtag = "src"
|
||||
print("warning: getGitHash() failed: %r" % buildtagErrs, file=sys.stderr)
|
||||
versionMajor, versionMinor = [int(num) for num in version.split(".")]
|
||||
font.info.version = version
|
||||
font.info.versionMajor = versionMajor
|
||||
|
|
|
|||
|
|
@ -36,23 +36,22 @@ def readTextFile(filename):
|
|||
|
||||
|
||||
_gitHash = None
|
||||
def getGitHash():
|
||||
_gitHashErrs = []
|
||||
def getGitHash(): # returns tuple (hash :string, errors :string[])
|
||||
global _gitHash
|
||||
if _gitHash is None:
|
||||
_gitHash = ''
|
||||
args = ['git', '-C', BASEDIR, 'rev-parse', '--short', 'HEAD']
|
||||
try:
|
||||
_gitHash = subprocess.check_output(
|
||||
['git', '-C', BASEDIR, 'rev-parse', '--short', 'HEAD'],
|
||||
stderr=subprocess.STDOUT,
|
||||
**_enc_kwargs
|
||||
).strip()
|
||||
_gitHash = subprocess.check_output(args, stderr=subprocess.STDOUT, **_enc_kwargs).strip()
|
||||
except:
|
||||
_gitHashErrs.append(sys.exc_info()[0])
|
||||
try:
|
||||
# git rev-parse --short HEAD > githash.txt
|
||||
_gitHash = readTextFile(pjoin(BASEDIR, 'githash.txt')).strip()
|
||||
except:
|
||||
pass
|
||||
return _gitHash
|
||||
_gitHashErrs.append(sys.exc_info()[0])
|
||||
return (_gitHash, _gitHashErrs)
|
||||
|
||||
|
||||
_version = None
|
||||
|
|
|
|||
Reference in a new issue