Florian Dold
f56a563533
These don't seem to be the right location to compile packages. The newest version of pnpm runs all those scripts on "pnpm install", even if we filter for only one package. That results in a build performance issue.
127 lines
3.9 KiB
Makefile
127 lines
3.9 KiB
Makefile
# This Makefile has been placed in the public domain.
|
|
|
|
tsc = node_modules/typescript/bin/tsc
|
|
pogen = node_modules/@gnu-taler/pogen/bin/pogen.js
|
|
typedoc = node_modules/typedoc/bin/typedoc
|
|
ava = node_modules/.bin/ava
|
|
nyc = node_modules/nyc/bin/nyc.js
|
|
git-archive-all = ./build-system/taler-build-scripts/archive-with-submodules/git_archive_all.py
|
|
|
|
include .config.mk
|
|
|
|
.PHONY: compile
|
|
compile:
|
|
pnpm install -r --frozen-lockfile
|
|
pnpm run compile
|
|
|
|
|
|
.PHONY: dist
|
|
dist:
|
|
$(git-archive-all) \
|
|
--include ./configure \
|
|
--include ./packages/taler-wallet-cli/configure \
|
|
--include ./packages/demobank-ui/configure \
|
|
--include ./packages/taler-harness/configure \
|
|
--include ./packages/merchant-backoffice-ui/configure \
|
|
taler-wallet-$(shell git describe --tags --abbrev=0).tar.gz
|
|
|
|
# Create tarball with git hash prefix in name
|
|
.PHONY: dist-git
|
|
dist-git:
|
|
$(git-archive-all) --include ./configure taler-wallet-$(shell git describe --tags).tar.gz
|
|
|
|
.PHONY: publish
|
|
publish:
|
|
pnpm i -r --frozen-lockfile
|
|
pnpm run compile
|
|
pnpm publish -r --no-git-checks
|
|
|
|
.PHONY: backoffice-prebuilt
|
|
backoffice-prebuilt:
|
|
pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backoffice-ui...
|
|
pnpm run --filter @gnu-taler/merchant-backoffice-ui... build
|
|
./contrib/copy-backoffice-into-prebuilt.sh
|
|
|
|
.PHONY: backend-prebuilt
|
|
backend-prebuilt:
|
|
pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backend-ui...
|
|
pnpm run --filter @gnu-taler/merchant-backend... build
|
|
./contrib/copy-backend-into-prebuilt.sh
|
|
|
|
.PHONY: demobank-prebuilt
|
|
demobank-prebuilt:
|
|
pnpm install --frozen-lockfile --filter @gnu-taler/merchant-ba...
|
|
pnpm run --filter @gnu-taler/demobank-ui... build
|
|
./contrib/copy-demobank-into-prebuilt.sh
|
|
|
|
# make documentation from docstrings
|
|
.PHONY: typedoc
|
|
typedoc:
|
|
$(typedoc) --out dist/typedoc --readme README
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
pnpm run clean
|
|
|
|
.PHONY: submodules-update
|
|
submodules-update:
|
|
git submodule update --recursive --remote
|
|
|
|
.PHONY: check
|
|
check:
|
|
pnpm install -r --frozen-lockfile
|
|
pnpm run compile
|
|
pnpm run check
|
|
|
|
.PHONY: config-lib
|
|
config-lib:
|
|
pnpm install --frozen-lockfile --filter @gnu-taler/taler-config-lib...
|
|
cd ./packages/taler-config-lib/ && pnpm link -g
|
|
|
|
.PHONY: anastasis-webui
|
|
anastasis-webui:
|
|
pnpm install --frozen-lockfile --filter . --filter @gnu-taler/anastasis-webui...
|
|
pnpm run --filter @gnu-taler/anastasis-webui... build
|
|
|
|
.PHONY: anastasis-webui-dist
|
|
anastasis-webui-dist: anastasis-webui
|
|
(cd packages/anastasis-webui/dist && zip -r - fonts ui.html) > anastasis-webui.zip
|
|
|
|
|
|
.PHONY: anastasis-webui-dev
|
|
anastasis-webui-dev:
|
|
pnpm install --frozen-lockfile --filter @gnu-taler/anastasis-webui...
|
|
pnpm run --filter @gnu-taler/anastasis-webui... dev
|
|
|
|
.PHONY: webextension
|
|
webextension:
|
|
pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-webextension...
|
|
pnpm run --filter @gnu-taler/taler-wallet-webextension... compile
|
|
cd ./packages/taler-wallet-webextension/ && ./pack.sh prod
|
|
|
|
.PHONY: webextension-dev
|
|
webextension-dev:
|
|
pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-webextension...
|
|
pnpm run --filter @gnu-taler/taler-wallet-webextension... dev
|
|
|
|
.PHONY: embedded
|
|
embedded:
|
|
pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-embedded...
|
|
pnpm run --filter @gnu-taler/taler-wallet-embedded... compile
|
|
@echo built packages/taler-wallet-embedded/dist/taler-wallet-core-qjs.mjs
|
|
|
|
.PHONY: lint
|
|
lint:
|
|
./node_modules/.bin/eslint --ext '.js,.ts,.tsx' 'src'
|
|
|
|
|
|
install: compile
|
|
@echo Please run \'make install\' from one of the directories in packages/\'
|
|
|
|
# Install taler-wallet-cli and taler-harness
|
|
install-tools:
|
|
pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/taler-harness...
|
|
pnpm run --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/taler-harness... compile
|
|
make -C packages/taler-wallet-cli install-nodeps
|
|
make -C packages/taler-harness install-nodeps
|