2016-11-18 22:08:59 +01:00
|
|
|
src = src
|
2016-03-18 17:35:52 +01:00
|
|
|
poname = taler-wallet-webex
|
2016-02-22 19:08:16 +01:00
|
|
|
|
|
|
|
gulp = node_modules/gulp/bin/gulp.js
|
|
|
|
tsc = node_modules/typescript/bin/tsc
|
2019-05-07 23:46:50 +02:00
|
|
|
pogen = node_modules/pogen/bin/pogen.js
|
2017-05-24 15:10:37 +02:00
|
|
|
typedoc = node_modules/typedoc/bin/typedoc
|
2017-05-27 18:05:10 +02:00
|
|
|
ava = node_modules/ava/cli.js
|
|
|
|
nyc = node_modules/nyc/bin/nyc.js
|
2017-05-28 00:38:50 +02:00
|
|
|
tslint = node_modules/tslint/bin/tslint
|
2016-02-22 19:08:16 +01:00
|
|
|
|
2019-08-19 14:08:14 +02:00
|
|
|
-include config.mk
|
2016-02-22 19:08:16 +01:00
|
|
|
|
2017-05-27 18:05:10 +02:00
|
|
|
.PHONY: tsc
|
2017-05-24 14:31:13 +02:00
|
|
|
tsc: tsconfig.json yarn-install
|
2016-02-22 19:08:16 +01:00
|
|
|
$(tsc)
|
|
|
|
|
2019-08-19 14:10:51 +02:00
|
|
|
.PHONY: webex-stable
|
|
|
|
webex-stable: i18n
|
|
|
|
$(gulp) stable
|
|
|
|
|
|
|
|
.PHONY: webex-unstable
|
|
|
|
webex-unstable: i18n
|
|
|
|
$(gulp) unstable
|
2016-11-23 01:29:34 +01:00
|
|
|
|
|
|
|
tsconfig.json: gulpfile.js yarn-install
|
2016-02-22 19:08:16 +01:00
|
|
|
$(gulp) tsconfig
|
|
|
|
|
2017-05-27 18:05:10 +02:00
|
|
|
.PHONY: dist
|
2017-05-24 14:31:13 +02:00
|
|
|
dist:
|
|
|
|
$(gulp) srcdist
|
2016-02-23 15:58:05 +01:00
|
|
|
|
2017-05-24 15:10:37 +02:00
|
|
|
# make documentation from docstrings
|
2017-05-27 18:05:10 +02:00
|
|
|
.PHONY: typedoc
|
2017-05-24 15:10:37 +02:00
|
|
|
typedoc:
|
|
|
|
$(typedoc) --out build/typedoc --readme README
|
|
|
|
|
2017-05-27 18:05:10 +02:00
|
|
|
.PHONY: clean
|
2017-05-24 15:10:37 +02:00
|
|
|
clean:
|
2019-08-19 14:10:51 +02:00
|
|
|
rm -rf dist/ config.mk
|
2017-05-24 15:10:37 +02:00
|
|
|
|
2017-05-27 18:05:10 +02:00
|
|
|
.PHONY: check
|
|
|
|
check: tsc yarn-install
|
2019-08-19 14:12:14 +02:00
|
|
|
$(ava) 'dist/node/**/*-test.js'
|
2017-05-24 15:10:37 +02:00
|
|
|
|
2017-05-27 18:05:10 +02:00
|
|
|
.PHONY: coverage
|
|
|
|
coverage: tsc yarn-install
|
2017-05-28 00:09:17 +02:00
|
|
|
$(nyc) --all $(ava) 'build/**/*-test.js'
|
2017-05-27 18:05:10 +02:00
|
|
|
|
2017-05-28 00:38:50 +02:00
|
|
|
.PHONY: lint
|
|
|
|
lint: tsc yarn-install
|
2018-01-03 13:20:29 +01:00
|
|
|
$(tslint) -e src/i18n/strings.ts --project tsconfig.json -t verbose 'src/**/*.ts' 'src/**/*.tsx'
|
2017-05-27 18:05:10 +02:00
|
|
|
|
|
|
|
.PHONY: yarn-install
|
2019-08-20 16:05:38 +02:00
|
|
|
yarn-install:
|
|
|
|
yarn install
|
|
|
|
|
|
|
|
|
|
|
|
.PHONY: i18n
|
2017-05-24 14:31:13 +02:00
|
|
|
i18n: yarn-install
|
|
|
|
# extract translatable strings
|
2016-03-18 17:35:52 +01:00
|
|
|
find $(src) \( -name '*.ts' -or -name '*.tsx' \) ! -name '*.d.ts' \
|
2017-05-24 14:31:13 +02:00
|
|
|
| xargs node $(pogen) \
|
2016-03-18 17:35:52 +01:00
|
|
|
| msguniq \
|
2016-11-18 22:08:59 +01:00
|
|
|
| msgmerge src/i18n/poheader - \
|
|
|
|
> src/i18n/$(poname).pot
|
2017-05-24 14:31:13 +02:00
|
|
|
# merge existing translations
|
2016-11-18 22:08:59 +01:00
|
|
|
@for pofile in src/i18n/*.po; do \
|
2016-03-18 17:35:52 +01:00
|
|
|
echo merging $$pofile; \
|
2016-11-18 22:08:59 +01:00
|
|
|
msgmerge -o $$pofile $$pofile src/i18n/$(poname).pot; \
|
2017-05-24 14:31:13 +02:00
|
|
|
done;
|
|
|
|
# generate .ts file containing all translations
|
|
|
|
$(gulp) po2js
|
2019-08-19 14:08:14 +02:00
|
|
|
|
2019-08-19 14:20:32 +02:00
|
|
|
# Some commands are only available when ./configure has been run
|
2019-08-19 14:08:14 +02:00
|
|
|
|
|
|
|
ifndef prefix
|
2019-08-19 14:20:32 +02:00
|
|
|
.PHONY: warn-noprefix install
|
|
|
|
warn-noprefix:
|
2019-08-19 14:08:14 +02:00
|
|
|
@echo "no prefix configured, did you run ./configure?"
|
2019-08-19 14:20:32 +02:00
|
|
|
install: warn-noprefix
|
2019-08-19 14:08:14 +02:00
|
|
|
else
|
|
|
|
.PHONY: install
|
2019-08-19 14:16:42 +02:00
|
|
|
install: tsc
|
2019-08-19 14:08:14 +02:00
|
|
|
@echo "installing to" $(prefix)
|
|
|
|
npm install -g --prefix $(prefix) .
|
|
|
|
endif
|
|
|
|
|
2019-09-05 16:10:53 +02:00
|
|
|
.PHONY: watch
|
|
|
|
watch: tsconfig.json
|
|
|
|
|
|
|
|
./node_modules/.bin/webpack --watch
|