1cb93a386Sopenharmony_cibuild:
2cb93a386Sopenharmony_ci	./compile.sh
3cb93a386Sopenharmony_ci
4cb93a386Sopenharmony_cinpm: npm-test npm-debug
5cb93a386Sopenharmony_ci	mkdir -p ./npm-wasm/bin
6cb93a386Sopenharmony_ci	mkdir -p ./npm-asmjs/bin
7cb93a386Sopenharmony_ci	./compile.sh
8cb93a386Sopenharmony_ci	cp ../../out/pathkit/pathkit.js   ./npm-wasm/bin
9cb93a386Sopenharmony_ci	cp ../../out/pathkit/pathkit.wasm ./npm-wasm/bin
10cb93a386Sopenharmony_ci	./compile.sh asm.js
11cb93a386Sopenharmony_ci	cp ../../out/pathkit/pathkit.js     ./npm-asmjs/bin/pathkit.js
12cb93a386Sopenharmony_ci	cp ../../out/pathkit/pathkit.js.mem ./npm-asmjs/bin/pathkit.js.mem
13cb93a386Sopenharmony_ci
14cb93a386Sopenharmony_cipublish:
15cb93a386Sopenharmony_ci	cd npm-wasm; npm publish
16cb93a386Sopenharmony_ci	cd npm-asmjs; npm publish
17cb93a386Sopenharmony_ci
18cb93a386Sopenharmony_ciupdate-major:
19cb93a386Sopenharmony_ci	cd npm-wasm; npm version major
20cb93a386Sopenharmony_ci	cd ../npm-asmjs; npm version major
21cb93a386Sopenharmony_ci	echo "Don't forget to publish."
22cb93a386Sopenharmony_ci
23cb93a386Sopenharmony_ciupdate-minor:
24cb93a386Sopenharmony_ci	cd npm-wasm; npm version minor
25cb93a386Sopenharmony_ci	cd npm-asmjs; npm version minor
26cb93a386Sopenharmony_ci	echo "Don't forget to publish."
27cb93a386Sopenharmony_ci
28cb93a386Sopenharmony_ciupdate-patch:
29cb93a386Sopenharmony_ci	cd npm-wasm; npm version patch
30cb93a386Sopenharmony_ci	cd npm-asmjs; npm version patch
31cb93a386Sopenharmony_ci	echo "Don't forget to publish."
32cb93a386Sopenharmony_ci
33cb93a386Sopenharmony_ci# Build the library and run the tests. If developing locally, test-continuous is better
34cb93a386Sopenharmony_ci# suited for that, although if you make changes to the C++/WASM code, you will need
35cb93a386Sopenharmony_ci# to manually call make npm-test to re-build.
36cb93a386Sopenharmony_citest: npm-test
37cb93a386Sopenharmony_ci	npm install
38cb93a386Sopenharmony_ci	npx karma start ./karma.conf.js --single-run
39cb93a386Sopenharmony_ci	ASM_JS=1 npx karma start ./karma.conf.js --single-run
40cb93a386Sopenharmony_ci
41cb93a386Sopenharmony_citest-continuous:
42cb93a386Sopenharmony_ci	echo "Assuming npm install has been run by user"
43cb93a386Sopenharmony_ci	echo "Also assuming make npm-test has also been run by a user (if needed)"
44cb93a386Sopenharmony_ci	npx karma start ./karma.conf.js --no-single-run --watch-poll
45cb93a386Sopenharmony_ci
46cb93a386Sopenharmony_citest-continuous-asmjs:
47cb93a386Sopenharmony_ci	echo "Assuming npm install has been run by user"
48cb93a386Sopenharmony_ci	echo "Also assuming make npm-test has also been run by a user (if needed)"
49cb93a386Sopenharmony_ci	ASM_JS=1 npx karma start ./karma.conf.js --no-single-run --watch-poll
50cb93a386Sopenharmony_ci
51cb93a386Sopenharmony_ci# Build the library and run the tests using the docker image.  If developing locally,
52cb93a386Sopenharmony_ci# test-docker-continuous is better, although if you make changes to the C++/WASM code,
53cb93a386Sopenharmony_ci# you will need to manually call make npm-test to re-build.
54cb93a386Sopenharmony_citest-docker:
55cb93a386Sopenharmony_ci	mkdir -p ./npm-wasm/bin/test
56cb93a386Sopenharmony_ci	mkdir -p ./npm-asmjs/bin/test
57cb93a386Sopenharmony_ci	mkdir -p $$SKIA_ROOT/out/dockerbuild
58cb93a386Sopenharmony_ci
59cb93a386Sopenharmony_ci	docker run --rm -v $$SKIA_ROOT:/SRC -v $$SKIA_ROOT/out/dockerbuild:/OUT \
60cb93a386Sopenharmony_cigcr.io/skia-public/emsdk-base:prod /SRC/infra/pathkit/build_pathkit.sh
61cb93a386Sopenharmony_ci	cp ../../out/dockerbuild/pathkit.js   ./npm-wasm/bin/test/pathkit.js
62cb93a386Sopenharmony_ci	cp ../../out/dockerbuild/pathkit.wasm ./npm-wasm/bin/test/pathkit.wasm
63cb93a386Sopenharmony_ci
64cb93a386Sopenharmony_ci	docker run --rm -v $$SKIA_ROOT:/SRC -v $$SKIA_ROOT/out/dockerbuild:/OUT \
65cb93a386Sopenharmony_cigcr.io/skia-public/emsdk-base:prod /SRC/infra/pathkit/build_pathkit.sh asm.js
66cb93a386Sopenharmony_ci	cp ../../out/dockerbuild/pathkit.js     ./npm-asmjs/bin/test/pathkit.js
67cb93a386Sopenharmony_ci	cp ../../out/dockerbuild/pathkit.js.mem ./npm-asmjs/bin/test/pathkit.js.mem
68cb93a386Sopenharmony_ci
69cb93a386Sopenharmony_ci	docker run --shm-size=2gb -v $$SKIA_ROOT:/SRC gcr.io/skia-public/karma-chrome-tests:72.0.3626.121_v1 \
70cb93a386Sopenharmony_cikarma start /SRC/modules/pathkit/karma.conf.js --single-run
71cb93a386Sopenharmony_ci	docker run --shm-size=2gb -v $$SKIA_ROOT:/SRC -e ASM_JS=1 gcr.io/skia-public/karma-chrome-tests:72.0.3626.121_v1 \
72cb93a386Sopenharmony_cikarma start /SRC/modules/pathkit/karma.conf.js --single-run
73cb93a386Sopenharmony_ci
74cb93a386Sopenharmony_citest-docker-continuous:
75cb93a386Sopenharmony_ci	echo "Assuming make npm-test has also been run by a user (if needed)"
76cb93a386Sopenharmony_ci	docker run --shm-size=2gb -v $$SKIA_ROOT:/SRC gcr.io/skia-public/karma-chrome-tests:72.0.3626.121_v1 \
77cb93a386Sopenharmony_cikarma start /SRC/modules/pathkit/karma.conf.js --no-single-run
78cb93a386Sopenharmony_ci
79cb93a386Sopenharmony_citest-docker-continuous-asmjs:
80cb93a386Sopenharmony_ci	echo "Assuming make npm-test has also been run by a user (if needed)"
81cb93a386Sopenharmony_ci	docker run --shm-size=2gb -v $$SKIA_ROOT:/SRC -e ASM_JS=1 gcr.io/skia-public/karma-chrome-tests:72.0.3626.121_v1 \
82cb93a386Sopenharmony_cikarma start /SRC/modules/pathkit/karma.conf.js --no-single-run
83cb93a386Sopenharmony_ci
84cb93a386Sopenharmony_cinpm-test:
85cb93a386Sopenharmony_ci	# This compile time is typically faster than release and good for use with
86cb93a386Sopenharmony_ci	# local-example-test
87cb93a386Sopenharmony_ci	mkdir -p ./npm-wasm/bin/test
88cb93a386Sopenharmony_ci	mkdir -p ./npm-asmjs/bin/test
89cb93a386Sopenharmony_ci	./compile.sh test
90cb93a386Sopenharmony_ci	cp ../../out/pathkit/pathkit.js   ./npm-wasm/bin/test/pathkit.js
91cb93a386Sopenharmony_ci	cp ../../out/pathkit/pathkit.wasm ./npm-wasm/bin/test/pathkit.wasm
92cb93a386Sopenharmony_ci	./compile.sh asm.js test
93cb93a386Sopenharmony_ci	cp ../../out/pathkit/pathkit.js     ./npm-asmjs/bin/test/pathkit.js
94cb93a386Sopenharmony_ci	cp ../../out/pathkit/pathkit.js.mem ./npm-asmjs/bin/test/pathkit.js.mem
95cb93a386Sopenharmony_ci
96cb93a386Sopenharmony_cinpm-debug:
97cb93a386Sopenharmony_ci	# This compile time is typically faster than release and good for use with
98cb93a386Sopenharmony_ci	# local-example-test
99cb93a386Sopenharmony_ci	mkdir -p ./npm-wasm/bin/debug
100cb93a386Sopenharmony_ci	mkdir -p ./npm-asmjs/bin/debug
101cb93a386Sopenharmony_ci	./compile.sh debug
102cb93a386Sopenharmony_ci	cp ../../out/pathkit/pathkit.js     ./npm-wasm/bin/debug/pathkit.js
103cb93a386Sopenharmony_ci	cp ../../out/pathkit/pathkit.wasm   ./npm-wasm/bin/debug/pathkit.wasm
104cb93a386Sopenharmony_ci
105cb93a386Sopenharmony_ci	./compile.sh asm.js debug
106cb93a386Sopenharmony_ci	cp ../../out/pathkit/pathkit.js     ./npm-asmjs/bin/debug/pathkit.js
107cb93a386Sopenharmony_ci
108cb93a386Sopenharmony_ci
109cb93a386Sopenharmony_ciexample:
110cb93a386Sopenharmony_ci	npm install pathkit-asmjs pathkit-wasm
111cb93a386Sopenharmony_ci	echo "Go check out localhost:8000/npm-wasm/example.html"
112cb93a386Sopenharmony_ci	python3 ../../tools/serve_wasm.py
113cb93a386Sopenharmony_ci
114cb93a386Sopenharmony_cilocal-example:
115cb93a386Sopenharmony_ci	rm -rf node_modules/pathkit-wasm
116cb93a386Sopenharmony_ci	rm -rf node_modules/pathkit-asmjs
117cb93a386Sopenharmony_ci	mkdir -p node_modules
118cb93a386Sopenharmony_ci	ln -s -T ../npm-wasm  node_modules/pathkit-wasm
119cb93a386Sopenharmony_ci	ln -s -T ../npm-asmjs node_modules/pathkit-asmjs
120cb93a386Sopenharmony_ci	echo "Go check out http://localhost:8000/npm-wasm/example.html"
121cb93a386Sopenharmony_ci	echo "or http://localhost:8000/npm-asmjs/example.html"
122cb93a386Sopenharmony_ci	python3 ../../tools/serve_wasm.py
123cb93a386Sopenharmony_ci
124cb93a386Sopenharmony_cilocal-example-test:
125cb93a386Sopenharmony_ci	rm -rf node_modules/pathkit-wasm
126cb93a386Sopenharmony_ci	rm -rf node_modules/pathkit-asmjs
127cb93a386Sopenharmony_ci	mkdir -p node_modules/pathkit-wasm
128cb93a386Sopenharmony_ci	mkdir -p node_modules/pathkit-asmjs
129cb93a386Sopenharmony_ci	ln -s -T ../../npm-wasm/bin/test node_modules/pathkit-wasm/bin
130cb93a386Sopenharmony_ci	ln -s -T ../../npm-asmjs/bin/test node_modules/pathkit-asmjs/bin
131cb93a386Sopenharmony_ci	echo "Go check out localhost:8000/npm-wasm/example.html"
132cb93a386Sopenharmony_ci	echo "or http://localhost:8000/npm-asmjs/example.html"
133cb93a386Sopenharmony_ci	python3 ../../tools/serve_wasm.py
134cb93a386Sopenharmony_ci
135cb93a386Sopenharmony_cilocal-example-debug:
136cb93a386Sopenharmony_ci	rm -rf node_modules/pathkit-wasm
137cb93a386Sopenharmony_ci	rm -rf node_modules/pathkit-asmjs
138cb93a386Sopenharmony_ci	mkdir -p node_modules/pathkit-wasm
139cb93a386Sopenharmony_ci	mkdir -p node_modules/pathkit-asmjs
140cb93a386Sopenharmony_ci	ln -s -T ../../npm-wasm/bin/debug node_modules/pathkit-wasm/bin
141cb93a386Sopenharmony_ci	ln -s -T ../../npm-asmjs/bin/debug node_modules/pathkit-asmjs/bin
142cb93a386Sopenharmony_ci	echo "Go check out localhost:8000/npm-wasm/example.html"
143cb93a386Sopenharmony_ci	echo "or http://localhost:8000/npm-asmjs/example.html"
144cb93a386Sopenharmony_ci	python3 ../../tools/serve_wasm.py
145cb93a386Sopenharmony_ci
146