taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

Makefile (4946B)


      1 # This Makefile has been placed in the public domain.
      2 
      3 archive = ./build-system/archive.py
      4 version = $(shell node ./build-system/version-cli.mjs)
      5 configurable-packages = $(patsubst %/,%,$(dir $(wildcard packages/*/Makefile)))
      6 configure-files = configure $(addsuffix /configure,$(configurable-packages))
      7 archive-includes = $(addprefix --include ,$(configure-files))
      8 
      9 include .config.mk
     10 
     11 # Let recursive Makefiles know that they're being invoked
     12 # from the top-level makefile.
     13 export TOPLEVEL := yes
     14 export TOP_DESTDIR := $(abspath $(DESTDIR))
     15 
     16 .PHONY: build
     17 build:
     18 	pnpm install -r --frozen-lockfile --filter '!@gnu-taler/qa-tooling'
     19 	pnpm run build
     20 
     21 
     22 .PHONY: dist
     23 dist:
     24 	$(archive) $(archive-includes) \
     25 		taler-typescript-core-$(version).tar.gz
     26 
     27 # Compatibility target; both archive targets retain the full build version.
     28 .PHONY: dist-git
     29 dist-git:
     30 	$(archive) $(archive-includes) \
     31 		taler-typescript-core-$(version).tar.gz
     32 
     33 .PHONY: clean
     34 clean:
     35 	pnpm run clean
     36 
     37 .PHONY: submodules-update
     38 submodules-update:
     39 	git submodule update --recursive --remote
     40 
     41 .PHONY: check
     42 check:
     43 	pnpm install -r --frozen-lockfile
     44 	pnpm run clean
     45 	pnpm run build
     46 	pnpm run check
     47 
     48 .PHONY: check-release-fast
     49 check-release-fast: check
     50 	$(MAKE) lint
     51 	./contrib/codespell.sh
     52 	pnpm run i18n:source2po
     53 	pnpm run i18n:po2strings
     54 	pnpm run i18n:check
     55 	@if test -n "$$(git status --porcelain --untracked-files=all -- packages/*/src/i18n)"; then \
     56 	  echo "generated i18n files are not up to date:"; \
     57 	  git status --short --untracked-files=all -- packages/*/src/i18n; \
     58 	  exit 1; \
     59 	fi
     60 
     61 .PHONY: check-release
     62 check-release: check-release-fast
     63 	./packages/taler-harness/bin/taler-harness.mjs run-integrationtests
     64 
     65 .PHONY: config-lib
     66 config-lib:
     67 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/taler-config-lib...
     68 	cd ./packages/taler-config-lib/ && pnpm link -g
     69 
     70 .PHONY: anastasis-webui
     71 anastasis-webui:
     72 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter . --filter @gnu-taler/anastasis-webui...
     73 	pnpm run --filter @gnu-taler/anastasis-webui... build
     74 
     75 .PHONY: anastasis-webui-dist
     76 anastasis-webui-dist: anastasis-webui
     77 	(cd packages/anastasis-webui/dist/prod && zip -r - ./*) > anastasis-webui.zip
     78 
     79 
     80 .PHONY: anastasis-webui-dev
     81 anastasis-webui-dev:
     82 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/anastasis-webui...
     83 	pnpm run --filter @gnu-taler/anastasis-webui... dev
     84 
     85 .PHONY: webextension
     86 webextension:
     87 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/wallet-webui...
     88 	pnpm run --filter @gnu-taler/wallet-webui build:store
     89 
     90 .PHONY: webextension-dev
     91 webextension-dev:
     92 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/wallet-webui...
     93 	pnpm run --filter @gnu-taler/wallet-webui dev
     94 
     95 .PHONY: embedded
     96 embedded:
     97 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/taler-wallet-embedded...
     98 	pnpm run --filter @gnu-taler/taler-wallet-embedded... build
     99 	@echo built packages/taler-wallet-embedded/dist/taler-wallet-core-qjs.mjs
    100 
    101 .PHONY: lint
    102 lint:
    103 	# (cd packages/qa-tooling && pnpm install)
    104 	./packages/qa-tooling/bin/eslint.mjs .
    105 
    106 .PHONY: ast-grep
    107 ast-grep:
    108 	ast-grep scan -c contrib/sgconfig.yml
    109 
    110 .PHONY: install
    111 # Build and install everything
    112 install:
    113 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling'
    114 	pnpm run build
    115 	pnpm run --filter @gnu-taler/wallet-webui build:harness
    116 	$(MAKE) -C packages/taler-wallet-cli install-nodeps
    117 	$(MAKE) -C packages/anastasis-cli install-nodeps
    118 	$(MAKE) -C packages/taler-harness install-nodeps
    119 	$(MAKE) -C packages/wallet-webui install-nodeps
    120 	$(MAKE) -C packages/libeufin-bank-webui install-nodeps
    121 	$(MAKE) -C packages/taler-merchant-webui install-nodeps
    122 	$(MAKE) -C packages/taler-auditor-webui install-nodeps
    123 	$(MAKE) -C packages/challenger-webui install-nodeps
    124 	$(MAKE) -C packages/taler-exchange-kyc-webui install-nodeps
    125 	$(MAKE) -C packages/taler-exchange-aml-webui install-nodeps
    126 
    127 
    128 .PHONY: install-tools
    129 # Install taler-wallet-cli, anastasis-cli and taler-harness
    130 install-tools:
    131 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/anastasis-cli... --filter @gnu-taler/taler-harness...
    132 	pnpm run --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/anastasis-cli... --filter @gnu-taler/taler-harness... build
    133 	$(MAKE) -C packages/taler-wallet-cli install-nodeps
    134 	$(MAKE) -C packages/anastasis-cli install-nodeps
    135 	$(MAKE) -C packages/taler-harness install-nodeps
    136 
    137 .PHONY: gana
    138 gana:
    139 	./contrib/gana_update.sh
    140 
    141 # The recorded databases are replayed twice: as they are, and through the
    142 # in-place migration to the native schema, which has to produce a wallet that
    143 # answers identically.
    144 .PHONY: check-migration
    145 check-migration:
    146 	taler-harness advanced wallet-dbcheck --native-migration contrib/wallet-testdata/wallet-dbgen-0.9.4-dev.8