@@ -3,17 +3,16 @@ version: "3"
33includes :
44 deps : " taskfiles/deps.yaml"
55 lint : " taskfiles/lint.yaml"
6+ node-modules : " taskfiles/node-modules.yaml"
67 test : " taskfiles/test.yaml"
8+ toolchains : " taskfiles/toolchains.yaml"
79 utils : " tools/yscope-dev-utils/exports/taskfiles/utils/utils.yaml"
810
911vars :
1012 G_BUILD_DIR : " {{.ROOT_DIR}}/build"
1113 G_CLP_FFI_JS_BUILD_DIR : " {{.G_BUILD_DIR}}/clp-ffi-js"
1214 G_DEPS_DIR : " {{.G_BUILD_DIR}}/deps"
1315 G_DIST_DIR : " {{.ROOT_DIR}}/dist"
14- G_EMSDK_DIR : " {{.G_BUILD_DIR}}/emsdk"
15- G_EMSCRIPTEN_CMAKE_TOOLCHAIN_FILE : >-
16- {{.G_EMSDK_DIR}}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
1716
1817 G_CLP_FFI_JS_ENV_NAMES : ["node", "worker"]
1918 G_CLP_FFI_JS_TARGET_PREFIX : " ClpFfiJs-"
@@ -23,39 +22,32 @@ vars:
2322 G_DEPS_CMAKE_SETTINGS_FILE : " {{.G_DEPS_CMAKE_SETTINGS_DIR}}/settings.cmake"
2423
2524 G_CLP_FFI_JS_CHECKSUM : " {{.G_BUILD_DIR}}/clp-ffi-js.md5"
26- G_EMSDK_CHECKSUM : " {{.G_BUILD_DIR}}/emsdk.md5"
2725
2826tasks :
2927 default :
30- deps : ["clp-ffi-js "]
28+ deps : ["package "]
3129
3230 clean :
31+ run : " once"
3332 cmds :
34- - task : " clean-emsdk"
35- - task : " clean-clp-ffi-js"
3633 - " rm -rf '{{.G_BUILD_DIR}}'"
37-
38- clean-emsdk :
39- cmds :
40- - " rm -rf '{{.G_EMSDK_DIR}}'"
41-
42- clean-clp-ffi-js :
43- cmds :
44- - " rm -rf '{{.G_CLP_FFI_JS_BUILD_DIR}}'"
34+ - " rm -rf '{{.G_DIST_DIR}}'"
4535
4636 clp-ffi-js :
4737 vars :
4838 CHECKSUM_FILE : " {{.G_CLP_FFI_JS_CHECKSUM}}"
4939 OUTPUT_DIR : " {{.G_CLP_FFI_JS_BUILD_DIR}}"
5040 sources :
5141 - " {{.G_CLP_FFI_JS_BUILD_DIR}}/CMakeCache.txt"
42+ - " {{.G_DEPS_CMAKE_SETTINGS_FILE}}"
5243 - " {{.G_EMSDK_CHECKSUM}}"
5344 - " {{.TASKFILE}}"
5445 - " CMakeLists.txt"
5546 - " src/**/*"
47+ - " taskfiles/**/*"
5648 generates : ["{{.CHECKSUM_FILE}}"]
49+ run : " once"
5750 deps :
58- - " emsdk"
5951 - task : " utils:checksum:validate"
6052 vars :
6153 CHECKSUM_FILE : " {{.CHECKSUM_FILE}}"
@@ -73,59 +65,19 @@ tasks:
7365 CHECKSUM_FILE : " {{.CHECKSUM_FILE}}"
7466 INCLUDE_PATTERNS : ["{{.OUTPUT_DIR}}"]
7567
76- emsdk :
77- vars :
78- CHECKSUM_FILE : " {{.G_EMSDK_CHECKSUM}}"
79- EMSDK_VERSION : " 4.0.10"
80- OUTPUT_DIR : " {{.G_EMSDK_DIR}}"
81- sources : ["{{.TASKFILE}}"]
82- generates : ["{{.CHECKSUM_FILE}}"]
83- run : " once"
84- deps :
85- - " init"
86- - task : " utils:checksum:validate"
87- vars :
88- CHECKSUM_FILE : " {{.CHECKSUM_FILE}}"
89- EXCLUDE_PATTERNS : &emsdk_checksum_exclude_paths
90- - " upstream/emscripten/__pycache__"
91- - " upstream/emscripten/cache/sanity.txt"
92- - " upstream/emscripten/cache/symbol_lists"
93- - " upstream/emscripten/cache/symbol_lists.lock"
94- - " upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/lto"
95- - " upstream/emscripten/third_party/leb128/__pycache__"
96- - " upstream/emscripten/tools/__pycache__"
97- - " upstream/emscripten/tools/ports/__pycache__"
98- - " upstream/emscripten/tools/ports/contrib/__pycache__"
99- INCLUDE_PATTERNS : ["{{.OUTPUT_DIR}}"]
100- cmds :
101- - task : " clean-emsdk"
102- - " git clone https://github.com/emscripten-core/emsdk.git '{{.G_EMSDK_DIR}}'"
103- - |-
104- cd "{{.G_EMSDK_DIR}}"
105- ./emsdk install {{.EMSDK_VERSION}}
106- ./emsdk activate {{.EMSDK_VERSION}}
107- - |-
108- cd "{{.G_EMSDK_DIR}}/upstream/emscripten"
109- PATH=$(echo {{.G_EMSDK_DIR}}/node/*/bin):$PATH npm install
110- # This command must be last
111- - task : " utils:checksum:compute"
112- vars :
113- CHECKSUM_FILE : " {{.CHECKSUM_FILE}}"
114- EXCLUDE_PATTERNS : *emsdk_checksum_exclude_paths
115- INCLUDE_PATTERNS : ["{{.OUTPUT_DIR}}"]
116-
11768 package :
11869 vars :
11970 CHECKSUM_FILE : " {{.G_BUILD_DIR}}/{{.TASK}}.md5"
12071 OUTPUT_DIR : " {{.G_DIST_DIR}}"
12172 sources :
73+ - " {{.G_CLP_FFI_JS_CHECKSUM}}"
74+ - " {{.TASKFILE}}"
12275 - " package.json"
12376 - " src/**/*.ts"
12477 - " tsconfig.build.json"
12578 - " tsconfig.json"
126- - " {{.G_CLP_FFI_JS_CHECKSUM}}"
127- - " {{.TASKFILE}}"
12879 generates : ["{{.CHECKSUM_FILE}}"]
80+ run : " once"
12981 deps :
13082 - " clp-ffi-js"
13183 - " node-modules"
@@ -134,15 +86,15 @@ tasks:
13486 CHECKSUM_FILE : " {{.CHECKSUM_FILE}}"
13587 INCLUDE_PATTERNS : ["{{.OUTPUT_DIR}}"]
13688 cmds :
137- - " rm -rf {{.OUTPUT_DIR}}"
89+ - " rm -rf ' {{.OUTPUT_DIR}}' "
13890 - for :
13991 var : " G_CLP_FFI_JS_ENV_NAMES"
14092 cmd : >-
14193 rsync -a
14294 "{{.G_CLP_FFI_JS_BUILD_DIR}}/{{.G_CLP_FFI_JS_TARGET_PREFIX}}{{.ITEM}}."{d.ts,js,wasm}
14395 "{{.OUTPUT_DIR}}/"
144- - " npx tsc -p tsconfig.build.json "
145- - " npm pack"
96+ - " npm run build:ts -- --outDir '{{.OUTPUT_DIR}}' "
97+ - " npm pack --pack-destination '{{.OUTPUT_DIR}}' "
14698 # This command must be last
14799 - task : " utils:checksum:compute"
148100 vars :
@@ -152,33 +104,23 @@ tasks:
152104 config-cmake-project :
153105 internal : true
154106 sources :
107+ - " {{.G_DEPS_CMAKE_SETTINGS_FILE}}"
155108 - " {{.G_EMSDK_CHECKSUM}}"
156109 - " {{.TASKFILE}}"
157110 - " CMakeLists.txt"
111+ - " taskfiles/**/*"
158112 generates :
159113 - " {{.G_CLP_FFI_JS_BUILD_DIR}}/CMakeCache.txt"
160114 - " {{.G_CLP_FFI_JS_BUILD_DIR}}/compile_commands.json"
161- deps :
162- - " deps"
163- - " emsdk"
115+ run : " once"
116+ deps : ["deps"]
164117 cmd : |-
165118 cmake \
166119 -DCLP_FFI_JS_SUPPORTED_ENVIRONMENTS="{{.G_CLP_FFI_JS_ENV_NAMES | join ";"}}" \
167120 -DCMAKE_TOOLCHAIN_FILE="{{.G_EMSCRIPTEN_CMAKE_TOOLCHAIN_FILE}}" \
168121 -S "{{.ROOT_DIR}}" \
169122 -B "{{.G_CLP_FFI_JS_BUILD_DIR}}"
170123
171- node-modules :
172- internal : true
173- sources :
174- - " {{.ROOT_DIR}}/package.json"
175- - " {{.ROOT_DIR}}/package-lock.json"
176- - " {{.TASKFILE}}"
177- generates :
178- - " {{.ROOT_DIR}}/node_modules/**/*"
179- cmds :
180- - " npm clean-install"
181-
182124 init :
183125 internal : true
184126 silent : true
0 commit comments