taler-typescript-core

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

Makefile (4571B)


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