|
@@ -0,0 +1,44 @@
|
|
|
+_TS_PROTO_SRCS_FILES=
|
|
|
+_TS_PROTO_IMPL_CMD=$TOUCH_UNIT \
|
|
|
+ && $_TS_FILES_COPY_CMD \
|
|
|
+ && $NOTS_TOOL $NOTS_TOOL_BASE_ARGS build-ts-proto $NOTS_TOOL_COMMON_BUILDER_ARGS \
|
|
|
+ --protoc-bin $PROTOC \
|
|
|
+ --proto-srcs $_TS_PROTO_SRCS_FILES \
|
|
|
+ --proto-paths ./$PROTO_NAMESPACE $ARCADIA_ROOT/$PROTO_NAMESPACE $_PROTO__INCLUDE $ARCADIA_BUILD_ROOT $PROTOBUF_PATH \
|
|
|
+ $_NODE_MODULES_INOUTS \
|
|
|
+ ${input;hide:"package.json"} ${TS_CONFIG_FILES} $_AS_HIDDEN_INPUTS(IN $TS_INPUT_FILES) \
|
|
|
+ ${output;hide:"package.json"} \
|
|
|
+ ${hide:PROTO_FAKEID} \
|
|
|
+ ${kv;hide:"pc magenta"} ${kv;hide:"p TS_PRO"}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+module _TS_PROTO_IMPL: _TS_BASE_UNIT {
|
|
|
+ .CMD=_TS_PROTO_IMPL_CMD
|
|
|
+ .IGNORED=GENERATE_ENUM_SERIALIZATION GENERATE_ENUM_SERIALIZATION_WITH_HEADER USE_SKIFF CPP_PROTO_PLUGIN2 PY_PROTO_PLUGIN YMAPS_SPROTO RESOURCE
|
|
|
+ # We need to collect SRCS paths into list to pass to command
|
|
|
+ .ALIASES=SRCS=_TS_PROTO_SRCS
|
|
|
+
|
|
|
+ # PEERDIR should be resolved to DESC_PROTO submodule
|
|
|
+ SET(PEERDIR_TAGS DESC_PROTO)
|
|
|
+ # For users to add some conditional config for TS_PROTO, like
|
|
|
+ # IF (TS_PROTO)
|
|
|
+ # MESSAGE(Building TS_PROTO!!!)
|
|
|
+ ENABLE(TS_PROTO)
|
|
|
+ # Disable linting
|
|
|
+ NO_LINT()
|
|
|
+
|
|
|
+ _PEERDIR_TS_RESOURCE(typescript)
|
|
|
+
|
|
|
+ DISABLE(TS_CONFIG_DEDUCE_OUT)
|
|
|
+ ENABLE(TS_CONFIG_USE_OUTDIR)
|
|
|
+
|
|
|
+ _TS_CONFIGURE($TS_CONFIG_PATH)
|
|
|
+
|
|
|
+ SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS ${CURDIR}/package.json ${CURDIR}/pnpm-lock.yaml ${CURDIR}/${TS_CONFIG_PATH})
|
|
|
+ _TS_ADD_NODE_MODULES_FOR_BUILDER()
|
|
|
+}
|
|
|
+
|
|
|
+macro _TS_PROTO_SRCS(FILES...) {
|
|
|
+ _SET_APPEND_WITH_DIRECTIVE(_TS_PROTO_SRCS_FILES input $FILES)
|
|
|
+}
|