1# Copyright 2010-2018, Google Inc. 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are 6# met: 7# 8# * Redistributions of source code must retain the above copyright 9# notice, this list of conditions and the following disclaimer. 10# * Redistributions in binary form must reproduce the above 11# copyright notice, this list of conditions and the following disclaimer 12# in the documentation and/or other materials provided with the 13# distribution. 14# * Neither the name of Google Inc. nor the names of its 15# contributors may be used to endorse or promote products derived from 16# this software without specific prior written permission. 17# 18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 30# Template gypi to generate embedded data build rules. 31# 32# To use this gypi, define the following variables and include this file. 33# See mozc/data_manager/oss/oss_data_manager.gyp for example. 34# 35# - current_dir: Should be '.', which is the relative path where the file that 36# includes this gypi exists. 37# - mozc_dir: Relatieve path to mozc top directory from the file that includes 38# this gypi. 39# - common_data_dir: Should be '<(mozc_dir)/data', which contains common data 40# files for all data set. 41# - platform_data_dir: Relative path to data directory containing dictionary and 42# other required data. For example, '<(mozc_dir)/data/dictionary_oss'. 43# - boundary_def: Relative path to boundary rule definition file. 44# - dataset_tag: Unique data set tag name. 45# - use_1byte_cost_for_connection_data: 46# Set to '1' or 'true' to compress connection data. 47# Typically this variable is set by build_mozc.py as gyp's parameter. 48# - dictionary_files: A list of dictionary source files. 49# - magic_number: Magic number to be embedded in a data set file. 50# - out_mozc_data: Output file name for mozc data set. 51# - out_mozc_data_header: Output C++ header file of the embedded version of 52# mozc data set file. 53# - mozc_data_vername: C++ variable name for the embedded mozc data set file. 54# This variable is defined in out_mozc_data_header. 55{ 56 'targets': [ 57 { 58 'target_name': '<(dataset_tag)_data_manager', 59 'type': 'static_library', 60 'sources': [ 61 '<(dataset_tag)_data_manager.cc', 62 ], 63 'dependencies': [ 64 '<(mozc_dir)/base/base.gyp:base', 65 '<(mozc_dir)/data_manager/data_manager_base.gyp:data_manager', 66 'gen_embedded_mozc_dataset_for_<(dataset_tag)#host', 67 ], 68 'defines': [ 69 'MOZC_DATASET_MAGIC_NUMBER="<(magic_number)"', 70 ], 71 }, 72 { 73 'target_name': 'gen_embedded_mozc_dataset_for_<(dataset_tag)', 74 'type': 'none', 75 'toolsets': ['host'], 76 'dependencies': [ 77 'gen_mozc_dataset_for_<(dataset_tag)', 78 ], 79 'actions': [ 80 { 81 'action_name': 'gen_embedded_mozc_dataset_for_<(dataset_tag)', 82 'variables': { 83 'mozc_data': '<(gen_out_dir)/<(out_mozc_data)', 84 }, 85 'inputs': [ 86 '<(mozc_data)', 87 ], 88 'outputs': [ 89 '<(gen_out_dir)/<(out_mozc_data_header)', 90 ], 91 'action': [ 92 '/usr/local/bin/python3.8', '<(mozc_dir)/build_tools/embed_file.py', 93 '--input=<(gen_out_dir)/<(out_mozc_data)', 94 '--name=<(mozc_data_varname)', 95 '--output=<(gen_out_dir)/<(out_mozc_data_header)', 96 ], 97 }, 98 ], 99 }, 100 { 101 'target_name': 'gen_mozc_dataset_for_<(dataset_tag)', 102 'type': 'none', 103 'toolsets': ['host'], 104 'dependencies': [ 105 '../data_manager_base.gyp:dataset_writer_main', 106 '../../rewriter/rewriter_base.gyp:gen_rewriter_files#host', 107 '<(dataset_tag)_data_manager_base.gyp:gen_separate_pos_matcher_data_for_<(dataset_tag)#host', 108 '<(dataset_tag)_data_manager_base.gyp:gen_separate_user_pos_data_for_<(dataset_tag)#host', 109 'gen_separate_connection_data_for_<(dataset_tag)#host', 110 'gen_separate_dictionary_data_for_<(dataset_tag)#host', 111 'gen_separate_collocation_data_for_<(dataset_tag)#host', 112 'gen_separate_collocation_suppression_data_for_<(dataset_tag)#host', 113 'gen_separate_suggestion_filter_data_for_<(dataset_tag)#host', 114 'gen_separate_pos_group_data_for_<(dataset_tag)#host', 115 'gen_separate_boundary_data_for_<(dataset_tag)#host', 116 'gen_separate_counter_suffix_data_for_<(dataset_tag)#host', 117 'gen_separate_suffix_data_for_<(dataset_tag)#host', 118 'gen_separate_reading_correction_data_for_<(dataset_tag)#host', 119 'gen_separate_symbol_rewriter_data_for_<(dataset_tag)#host', 120 'gen_separate_emoticon_rewriter_data_for_<(dataset_tag)#host', 121 'gen_separate_emoji_rewriter_data_for_<(dataset_tag)#host', 122 'gen_separate_single_kanji_rewriter_data_for_<(dataset_tag)#host', 123 'gen_separate_zero_query_data_for_<(dataset_tag)#host', 124 'gen_separate_version_data_for_<(dataset_tag)#host', 125 'gen_typing_model_for_<(dataset_tag)#host', 126 ], 127 'actions': [ 128 { 129 'action_name': 'gen_mozc_dataset_for_<(dataset_tag)', 130 'variables': { 131 'generator': '<(PRODUCT_DIR)/dataset_writer_main<(EXECUTABLE_SUFFIX)', 132 'pos_matcher': '<(gen_out_dir)/pos_matcher.data', 133 'user_pos_token': '<(gen_out_dir)/user_pos_token_array.data', 134 'user_pos_string': '<(gen_out_dir)/user_pos_string_array.data', 135 'dictionary': '<(gen_out_dir)/system.dictionary', 136 'connection': '<(gen_out_dir)/connection.data', 137 'collocation': '<(gen_out_dir)/collocation_data.data', 138 'collocation_supp': '<(gen_out_dir)/collocation_suppression_data.data', 139 'suggestion_filter': '<(gen_out_dir)/suggestion_filter_data.data', 140 'pos_group': '<(gen_out_dir)/pos_group.data', 141 'boundary': '<(gen_out_dir)/boundary.data', 142 'segmenter_sizeinfo': '<(gen_out_dir)/segmenter_sizeinfo.data', 143 'segmenter_ltable': '<(gen_out_dir)/segmenter_ltable.data', 144 'segmenter_rtable': '<(gen_out_dir)/segmenter_rtable.data', 145 'segmenter_bitarray': '<(gen_out_dir)/segmenter_bitarray.data', 146 'counter_suffix': '<(gen_out_dir)/counter_suffix.data', 147 'suffix_key': '<(gen_out_dir)/suffix_key.data', 148 'suffix_value': '<(gen_out_dir)/suffix_value.data', 149 'suffix_token': '<(gen_out_dir)/suffix_token.data', 150 'reading_correction_value': '<(gen_out_dir)/reading_correction_value.data', 151 'reading_correction_error': '<(gen_out_dir)/reading_correction_error.data', 152 'reading_correction_correction': '<(gen_out_dir)/reading_correction_correction.data', 153 'symbol_token': '<(gen_out_dir)/symbol_token.data', 154 'symbol_string': '<(gen_out_dir)/symbol_string.data', 155 'emoticon_token': '<(gen_out_dir)/emoticon_token.data', 156 'emoticon_string': '<(gen_out_dir)/emoticon_string.data', 157 'emoji_token': '<(gen_out_dir)/emoji_token.data', 158 'emoji_string': '<(gen_out_dir)/emoji_string.data', 159 'single_kanji_token': '<(gen_out_dir)/single_kanji_token.data', 160 'single_kanji_string': '<(gen_out_dir)/single_kanji_string.data', 161 'single_kanji_variant_type': '<(gen_out_dir)/single_kanji_variant_type.data', 162 'single_kanji_variant_token': '<(gen_out_dir)/single_kanji_variant_token.data', 163 'single_kanji_variant_string': '<(gen_out_dir)/single_kanji_variant_string.data', 164 'single_kanji_noun_prefix_token': '<(gen_out_dir)/single_kanji_noun_prefix_token.data', 165 'single_kanji_noun_prefix_string': '<(gen_out_dir)/single_kanji_noun_prefix_string.data', 166 'zero_query_token_array': '<(gen_out_dir)/zero_query_token.data', 167 'zero_query_string_array': '<(gen_out_dir)/zero_query_string.data', 168 'zero_query_number_token_array': '<(gen_out_dir)/zero_query_number_token.data', 169 'zero_query_number_string_array': '<(gen_out_dir)/zero_query_number_string.data', 170 'version': '<(gen_out_dir)/version.data', 171 }, 172 'inputs': [ 173 '<(pos_matcher)', 174 '<(user_pos_token)', 175 '<(user_pos_string)', 176 '<(dictionary)', 177 '<(connection)', 178 '<(collocation)', 179 '<(collocation_supp)', 180 '<(suggestion_filter)', 181 '<(pos_group)', 182 '<(boundary)', 183 '<(segmenter_sizeinfo)', 184 '<(segmenter_ltable)', 185 '<(segmenter_rtable)', 186 '<(segmenter_bitarray)', 187 '<(counter_suffix)', 188 '<(suffix_key)', 189 '<(suffix_value)', 190 '<(suffix_token)', 191 '<(reading_correction_value)', 192 '<(reading_correction_error)', 193 '<(reading_correction_correction)', 194 '<(symbol_token)', 195 '<(symbol_string)', 196 '<(emoticon_token)', 197 '<(emoticon_string)', 198 '<(emoji_token)', 199 '<(emoji_string)', 200 '<(single_kanji_token)', 201 '<(single_kanji_string)', 202 '<(single_kanji_variant_type)', 203 '<(single_kanji_variant_token)', 204 '<(single_kanji_variant_string)', 205 '<(single_kanji_noun_prefix_token)', 206 '<(single_kanji_noun_prefix_string)', 207 '<(zero_query_token_array)', 208 '<(zero_query_string_array)', 209 '<(zero_query_number_token_array)', 210 '<(zero_query_number_string_array)', 211 '<(version)', 212 ], 213 'outputs': [ 214 '<(gen_out_dir)/<(out_mozc_data)', 215 ], 216 'action': [ 217 '<(generator)', 218 '--magic=<(magic_number)', 219 '--output=<(gen_out_dir)/<(out_mozc_data)', 220 'pos_matcher:32:<(pos_matcher)', 221 'user_pos_token:32:<(user_pos_token)', 222 'user_pos_string:32:<(user_pos_string)', 223 'coll:32:<(gen_out_dir)/collocation_data.data', 224 'cols:32:<(gen_out_dir)/collocation_suppression_data.data', 225 'conn:32:<(gen_out_dir)/connection.data', 226 'dict:32:<(gen_out_dir)/system.dictionary', 227 'sugg:32:<(gen_out_dir)/suggestion_filter_data.data', 228 'posg:32:<(gen_out_dir)/pos_group.data', 229 'bdry:32:<(gen_out_dir)/boundary.data', 230 'segmenter_sizeinfo:32:<(gen_out_dir)/segmenter_sizeinfo.data', 231 'segmenter_ltable:32:<(gen_out_dir)/segmenter_ltable.data', 232 'segmenter_rtable:32:<(gen_out_dir)/segmenter_rtable.data', 233 'segmenter_bitarray:32:<(gen_out_dir)/segmenter_bitarray.data', 234 'counter_suffix:32:<(gen_out_dir)/counter_suffix.data', 235 'suffix_key:32:<(gen_out_dir)/suffix_key.data', 236 'suffix_value:32:<(gen_out_dir)/suffix_value.data', 237 'suffix_token:32:<(gen_out_dir)/suffix_token.data', 238 'reading_correction_value:32:<(gen_out_dir)/reading_correction_value.data', 239 'reading_correction_error:32:<(gen_out_dir)/reading_correction_error.data', 240 'reading_correction_correction:32:<(gen_out_dir)/reading_correction_correction.data', 241 'symbol_token:32:<(gen_out_dir)/symbol_token.data', 242 'symbol_string:32:<(gen_out_dir)/symbol_string.data', 243 'emoticon_token:32:<(gen_out_dir)/emoticon_token.data', 244 'emoticon_string:32:<(gen_out_dir)/emoticon_string.data', 245 'emoji_token:32:<(gen_out_dir)/emoji_token.data', 246 'emoji_string:32:<(gen_out_dir)/emoji_string.data', 247 'single_kanji_token:32:<(gen_out_dir)/single_kanji_token.data', 248 'single_kanji_string:32:<(gen_out_dir)/single_kanji_string.data', 249 'single_kanji_variant_type:32:<(gen_out_dir)/single_kanji_variant_type.data', 250 'single_kanji_variant_token:32:<(gen_out_dir)/single_kanji_variant_token.data', 251 'single_kanji_variant_string:32:<(gen_out_dir)/single_kanji_variant_string.data', 252 'single_kanji_noun_prefix_token:32:<(gen_out_dir)/single_kanji_noun_prefix_token.data', 253 'single_kanji_noun_prefix_string:32:<(gen_out_dir)/single_kanji_noun_prefix_string.data', 254 'zero_query_token_array:32:<(gen_out_dir)/zero_query_token.data', 255 'zero_query_string_array:32:<(gen_out_dir)/zero_query_string.data', 256 'zero_query_number_token_array:32:<(gen_out_dir)/zero_query_number_token.data', 257 'zero_query_number_string_array:32:<(gen_out_dir)/zero_query_number_string.data', 258 'version:32:<(gen_out_dir)/version.data', 259 ], 260 'conditions': [ 261 ['target_platform!="Android"', { 262 'variables': { 263 'usage_base_conj_suffix': '<(SHARED_INTERMEDIATE_DIR)/rewriter/usage_base_conj_suffix.data', 264 'usage_conj_index': '<(SHARED_INTERMEDIATE_DIR)/rewriter/usage_conj_index.data', 265 'usage_conj_suffix': '<(SHARED_INTERMEDIATE_DIR)/rewriter/usage_conj_suffix.data', 266 'usage_item_array': '<(SHARED_INTERMEDIATE_DIR)/rewriter/usage_item_array.data', 267 'usage_string_array': '<(SHARED_INTERMEDIATE_DIR)/rewriter/usage_string_array.data', 268 }, 269 'inputs': [ 270 '<(usage_base_conj_suffix)', 271 '<(usage_conj_index)', 272 '<(usage_conj_suffix)', 273 '<(usage_item_array)', 274 '<(usage_string_array)', 275 ], 276 'action': [ 277 'usage_base_conjugation_suffix:32:<(usage_base_conj_suffix)', 278 'usage_conjugation_suffix:32:<(usage_conj_suffix)', 279 'usage_conjugation_index:32:<(usage_conj_index)', 280 'usage_item_array:32:<(usage_item_array)', 281 'usage_string_array:32:<(usage_string_array)', 282 ], 283 }], 284 ['target_platform=="Android" or "<(dataset_tag)"=="mock"', { 285 'variables': { 286 'typing_model_qwerty_mobile-hiragana': '<(gen_out_dir)/typing_model_qwerty_mobile-hiragana.data', 287 'typing_model_12keys-hiragana': '<(gen_out_dir)/typing_model_12keys-hiragana.data', 288 'typing_model_flick-hiragana': '<(gen_out_dir)/typing_model_flick-hiragana.data', 289 'typing_model_godan-hiragana': '<(gen_out_dir)/typing_model_godan-hiragana.data', 290 'typing_model_toggle_flick-hiragana': '<(gen_out_dir)/typing_model_toggle_flick-hiragana.data', 291 }, 292 'inputs': [ 293 '<(typing_model_qwerty_mobile-hiragana)', 294 '<(typing_model_12keys-hiragana)', 295 '<(typing_model_flick-hiragana)', 296 '<(typing_model_godan-hiragana)', 297 '<(typing_model_toggle_flick-hiragana)', 298 ], 299 'action': [ 300 'typing_model_qwerty_mobile-hiragana.tsv:32:<(gen_out_dir)/typing_model_qwerty_mobile-hiragana.data', 301 'typing_model_12keys-hiragana.tsv:32:<(gen_out_dir)/typing_model_12keys-hiragana.data', 302 'typing_model_flick-hiragana.tsv:32:<(gen_out_dir)/typing_model_flick-hiragana.data', 303 'typing_model_godan-hiragana.tsv:32:<(gen_out_dir)/typing_model_godan-hiragana.data', 304 'typing_model_toggle_flick-hiragana.tsv:32:<(gen_out_dir)/typing_model_toggle_flick-hiragana.data', 305 ], 306 }], 307 ], 308 }, 309 ], 310 }, 311 { 312 'target_name': 'gen_separate_pos_group_data_for_<(dataset_tag)', 313 'type': 'none', 314 'toolsets': ['host'], 315 'actions': [ 316 { 317 'action_name': 'gen_separate_pos_group_data_for_<(dataset_tag)', 318 'variables': { 319 'id_def': '<(platform_data_dir)/id.def', 320 'special_pos': '<(common_data_dir)/rules/special_pos.def', 321 'pos_group_def': '<(common_data_dir)/rules/user_segment_history_pos_group.def', 322 }, 323 'inputs': [ 324 '<(mozc_dir)/dictionary/gen_pos_rewrite_rule.py', 325 '<(id_def)', 326 '<(special_pos)', 327 '<(pos_group_def)', 328 ], 329 'outputs': [ 330 '<(gen_out_dir)/pos_group.data', 331 ], 332 'action': [ 333 '/usr/local/bin/python3.8', 334 '<(mozc_dir)/dictionary/gen_pos_rewrite_rule.py', 335 '--id_def=<(platform_data_dir)/id.def', 336 '--special_pos=<(common_data_dir)/rules/special_pos.def', 337 '--pos_group_def=<(common_data_dir)/rules/user_segment_history_pos_group.def', 338 '--output=<(gen_out_dir)/pos_group.data', 339 ], 340 }, 341 ], 342 }, 343 { 344 'target_name': 'gen_connection_single_column_txt_for_<(dataset_tag)', 345 'type': 'none', 346 'toolsets': ['host'], 347 'sources': [ 348 '<(mozc_dir)/build_tools/zlib_util.py', 349 ], 350 'actions': [ 351 { 352 'action_name': 'gen_connection_single_column_txt_for_<(dataset_tag)', 353 'variables': { 354 'connection_deflate': '<(platform_data_dir)/connection.deflate', 355 }, 356 'inputs': [ 357 '<(connection_deflate)', 358 ], 359 'outputs': [ 360 '<(gen_out_dir)/connection_single_column.txt', 361 ], 362 'action': [ 363 '/usr/local/bin/python3.8', '<(mozc_dir)/build_tools/zlib_util.py', 'decompress', 364 '<(connection_deflate)', 365 '<(gen_out_dir)/connection_single_column.txt', 366 ], 367 'message': ('[<(dataset_tag)] Decompressing ' + 368 '<(connection_deflate)'), 369 }, 370 ], 371 }, 372 { 373 'target_name': 'gen_separate_connection_data_for_<(dataset_tag)', 374 'type': 'none', 375 'toolsets': ['host'], 376 'sources': [ 377 '<(mozc_dir)/build_tools/code_generator_util.py', 378 '<(mozc_dir)/data_manager/gen_connection_data.py', 379 ], 380 'dependencies': [ 381 'gen_connection_single_column_txt_for_<(dataset_tag)#host', 382 ], 383 'actions': [ 384 { 385 'action_name': 'gen_separate_connection_data_for_<(dataset_tag)', 386 'variables': { 387 'text_connection_file': '<(gen_out_dir)/connection_single_column.txt', 388 'id_file': '<(platform_data_dir)/id.def', 389 'special_pos_file': '<(common_data_dir)/rules/special_pos.def', 390 'use_1byte_cost_flag': '<(use_1byte_cost_for_connection_data)', 391 }, 392 'inputs': [ 393 '<(text_connection_file)', 394 '<(id_file)', 395 '<(special_pos_file)', 396 ], 397 'outputs': [ 398 '<(gen_out_dir)/connection.data', 399 ], 400 'action': [ 401 '/usr/local/bin/python3.8', '<(mozc_dir)/data_manager/gen_connection_data.py', 402 '--text_connection_file', 403 '<(text_connection_file)', 404 '--id_file', 405 '<(id_file)', 406 '--special_pos_file', 407 '<(special_pos_file)', 408 '--binary_output_file', 409 '<@(_outputs)', 410 '--target_compiler', 411 '<(compiler_target)', 412 '--use_1byte_cost', 413 '<(use_1byte_cost_flag)', 414 ], 415 'message': ('[<(dataset_tag)] Generating ' + 416 '<(gen_out_dir)/connection.data'), 417 }, 418 ], 419 }, 420 { 421 'target_name': 'gen_separate_dictionary_data_for_<(dataset_tag)', 422 'type': 'none', 423 'toolsets': ['host'], 424 'dependencies': [ 425 '<(DEPTH)/dictionary/dictionary.gyp:gen_system_dictionary_data_main#host', 426 '<(dataset_tag)_data_manager_base.gyp:gen_user_pos_manager_data_for_<(dataset_tag)#host', 427 ], 428 'actions': [ 429 { 430 'action_name': 'gen_separate_dictionary_data', 431 'variables': { 432 'generator': '<(PRODUCT_DIR)/gen_system_dictionary_data_main<(EXECUTABLE_SUFFIX)', 433 'input_files': '<(dictionary_files)', 434 'user_pos_manager_data': '<(gen_out_dir)/user_pos_manager.data', 435 }, 436 'inputs': [ 437 '<@(input_files)', 438 ], 439 'outputs': [ 440 '<(gen_out_dir)/system.dictionary', 441 ], 442 'action': [ 443 '<(generator)', 444 '--input=<(input_files)', 445 '--user_pos_manager_data=<(user_pos_manager_data)', 446 '--output=<(gen_out_dir)/system.dictionary', 447 ], 448 'message': 'Generating <(gen_out_dir)/system.dictionary.', 449 }, 450 ], 451 }, 452 { 453 'target_name': 'gen_<(dataset_tag)_segmenter_inl_header', 454 'type': 'none', 455 'toolsets': ['host'], 456 'actions': [ 457 { 458 'action_name': 'gen_<(dataset_tag)_segmenter_inl_header', 459 'variables': { 460 'input_files': [ 461 # Order is important; files are passed to argv in this order. 462 '<(platform_data_dir)/id.def', 463 '<(common_data_dir)/rules/special_pos.def', 464 '<(common_data_dir)/rules/segmenter.def', 465 ], 466 }, 467 'inputs': [ 468 '<(mozc_dir)/converter/gen_segmenter_code.py', 469 '<@(input_files)', 470 ], 471 'outputs': [ 472 '<(gen_out_dir)/segmenter_inl.inc', 473 ], 474 'action': [ 475 '/usr/local/bin/python3.8', '<(mozc_dir)/build_tools/redirect.py', 476 '<(gen_out_dir)/segmenter_inl.inc', 477 '<(mozc_dir)/converter/gen_segmenter_code.py', 478 '<@(input_files)', 479 ], 480 'message': ('[<(dataset_tag)] Generating ' + 481 '<(gen_out_dir)/segmenter_inl.inc.'), 482 }, 483 ], 484 }, 485 { 486 # We abbreviate the target name because, in some build environment on 487 # Windows, the temporary file name generated by GYP exceeds the path 488 # length limit. 489 'target_name': 'gen_<(dataset_tag)_sbm', 490 'type': 'executable', 491 'toolsets': ['host'], 492 'sources': [ 493 '<(current_dir)/gen_<(dataset_tag)_segmenter_bitarray_main.cc', 494 ], 495 'dependencies': [ 496 '<(mozc_dir)/converter/converter_base.gyp:gen_segmenter_bitarray', 497 'gen_<(dataset_tag)_segmenter_inl_header', 498 ], 499 }, 500 { 501 'target_name': 'gen_separate_segmenter_data_for_<(dataset_tag)', 502 'type': 'none', 503 'toolsets': ['host'], 504 'dependencies': [ 505 'gen_<(dataset_tag)_sbm#host', 506 ], 507 'actions': [ 508 { 509 'action_name': 'gen_separate_segmenter_data_for_<(dataset_tag)', 510 'variables': { 511 'generator': '<(PRODUCT_DIR)/gen_<(dataset_tag)_sbm<(EXECUTABLE_SUFFIX)' 512 }, 513 'inputs': [ 514 '<(generator)', 515 ], 516 'outputs': [ 517 '<(gen_out_dir)/segmenter_sizeinfo.data', 518 '<(gen_out_dir)/segmenter_ltable.data', 519 '<(gen_out_dir)/segmenter_rtable.data', 520 '<(gen_out_dir)/segmenter_bitarray.data', 521 ], 522 'action': [ 523 '<(generator)', 524 '--output_size_info=<(gen_out_dir)/segmenter_sizeinfo.data', 525 '--output_ltable=<(gen_out_dir)/segmenter_ltable.data', 526 '--output_rtable=<(gen_out_dir)/segmenter_rtable.data', 527 '--output_bitarray=<(gen_out_dir)/segmenter_bitarray.data', 528 ], 529 'message': ('[<(dataset_tag)] Generating segmenter data files'), 530 }, 531 ], 532 }, 533 { 534 'target_name': 'gen_separate_boundary_data_for_<(dataset_tag)', 535 'type': 'none', 536 'toolsets': ['host'], 537 'actions': [ 538 { 539 'action_name': 'gen_separate_boundary_data_for_<(dataset_tag)', 540 'variables': { 541 'boundary_def_var': '<(boundary_def)', 542 'id_def': '<(platform_data_dir)/id.def', 543 'special_pos': '<(common_data_dir)/rules/special_pos.def', 544 }, 545 'inputs': [ 546 '<(mozc_dir)/converter/gen_boundary_data.py', 547 '<(boundary_def_var)', 548 '<(id_def)', 549 '<(special_pos)', 550 ], 551 'outputs': [ 552 '<(gen_out_dir)/boundary.data', 553 ], 554 'action': [ 555 '/usr/local/bin/python3.8', 556 '<(mozc_dir)/converter/gen_boundary_data.py', 557 '--boundary_def=<(boundary_def)', 558 '--id_def=<(platform_data_dir)/id.def', 559 '--special_pos=<(common_data_dir)/rules/special_pos.def', 560 '--output=<(gen_out_dir)/boundary.data', 561 ], 562 'message': ('[<(dataset_tag)] Generating ' + 563 '<(gen_out_dir)/boundary.data'), 564 }, 565 ], 566 }, 567 { 568 'target_name': 'gen_separate_suffix_data_for_<(dataset_tag)', 569 'type': 'none', 570 'toolsets': ['host'], 571 'actions': [ 572 { 573 'action_name': 'gen_separate_suffix_data_for_<(dataset_tag)', 574 'variables': { 575 'input_files': [ 576 '<(platform_data_dir)/suffix.txt', 577 ], 578 }, 579 'inputs': [ 580 '<(mozc_dir)/dictionary/gen_suffix_data.py', 581 '<@(input_files)', 582 ], 583 'outputs': [ 584 '<(gen_out_dir)/suffix_key.data', 585 '<(gen_out_dir)/suffix_value.data', 586 '<(gen_out_dir)/suffix_token.data', 587 ], 588 'action': [ 589 '/usr/local/bin/python3.8', 590 '<(mozc_dir)/dictionary/gen_suffix_data.py', 591 '--input=<(platform_data_dir)/suffix.txt', 592 '--output_key_array=<(gen_out_dir)/suffix_key.data', 593 '--output_value_array=<(gen_out_dir)/suffix_value.data', 594 '--output_token_array=<(gen_out_dir)/suffix_token.data', 595 '<@(input_files)', 596 ], 597 'message': ('[<(dataset_tag)] Generating ' + 598 '<(gen_out_dir)/suffix_{key,value,token}.data'), 599 }, 600 ], 601 }, 602 { 603 'target_name': 'gen_separate_reading_correction_data_for_<(dataset_tag)', 604 'type': 'none', 605 'toolsets': ['host'], 606 'actions': [ 607 { 608 'action_name': 'gen_reading_correction_data', 609 'variables': { 610 'input_files%': [ 611 '<(platform_data_dir)/reading_correction.tsv', 612 ], 613 }, 614 'inputs': [ 615 '<(platform_data_dir)/reading_correction.tsv', 616 ], 617 'outputs': [ 618 '<(gen_out_dir)/reading_correction_value.data', 619 '<(gen_out_dir)/reading_correction_error.data', 620 '<(gen_out_dir)/reading_correction_correction.data', 621 ], 622 'action': [ 623 '/usr/local/bin/python3.8', '<(mozc_dir)/rewriter/gen_reading_correction_data.py', 624 '--input=<@(input_files)', 625 '--output_value_array=<(gen_out_dir)/reading_correction_value.data', 626 '--output_error_array=<(gen_out_dir)/reading_correction_error.data', 627 '--output_correction_array=<(gen_out_dir)/reading_correction_correction.data', 628 ], 629 'message': ('[<(dataset_tag)] Generating ' + 630 '<(gen_out_dir)/reading_correction*'), 631 }, 632 ], 633 }, 634 { 635 'target_name': 'gen_separate_collocation_data_for_<(dataset_tag)', 636 'type': 'none', 637 'toolsets': ['host'], 638 'dependencies': [ 639 '../../rewriter/rewriter_base.gyp:gen_collocation_data_main#host', 640 ], 641 'actions': [ 642 { 643 'action_name': 'gen_separate_collocation_data', 644 'variables': { 645 'generator' : '<(PRODUCT_DIR)/gen_collocation_data_main<(EXECUTABLE_SUFFIX)', 646 'input_files%': [ 647 '<(platform_data_dir)/collocation.txt', 648 ], 649 }, 650 'inputs': [ 651 '<(generator)', 652 '<@(input_files)', 653 ], 654 'outputs': [ 655 '<(gen_out_dir)/collocation_data.data', 656 ], 657 'action': [ 658 '<(generator)', 659 '--collocation_data=<@(input_files)', 660 '--output=<(gen_out_dir)/collocation_data.data', 661 '--binary_mode', 662 ], 663 'message': ('[<(dataset_tag)] Generating ' + 664 '<(gen_out_dir)/collocation_data.data'), 665 }, 666 ], 667 }, 668 { 669 'target_name': 'gen_separate_collocation_suppression_data_for_<(dataset_tag)', 670 'type': 'none', 671 'toolsets': ['host'], 672 'dependencies': [ 673 '../../rewriter/rewriter_base.gyp:gen_collocation_suppression_data_main#host', 674 ], 675 'actions': [ 676 { 677 'action_name': 'gen_separate_collocation_suppression_data', 678 'variables': { 679 'generator' : '<(PRODUCT_DIR)/gen_collocation_suppression_data_main<(EXECUTABLE_SUFFIX)', 680 'input_files%': [ 681 '<(platform_data_dir)/collocation_suppression.txt', 682 ], 683 }, 684 'inputs': [ 685 '<(generator)', 686 '<@(input_files)', 687 ], 688 'outputs': [ 689 '<(gen_out_dir)/collocation_suppression_data.data', 690 ], 691 'action': [ 692 '<(generator)', 693 '--suppression_data=<@(input_files)', 694 '--binary_mode', 695 '--output=<(gen_out_dir)/collocation_suppression_data.data', 696 ], 697 'message': ('[<(dataset_tag)] Generating ' + 698 '<(gen_out_dir)/collocation_suppression_data.data'), 699 }, 700 ], 701 }, 702 { 703 'target_name': 'gen_separate_suggestion_filter_data_for_<(dataset_tag)', 704 'type': 'none', 705 'toolsets': ['host'], 706 'dependencies': [ 707 '../../prediction/prediction_base.gyp:gen_suggestion_filter_main#host', 708 ], 709 'actions': [ 710 { 711 'action_name': 'gen_separate_suggestion_filter_data', 712 'variables': { 713 'generator' : '<(PRODUCT_DIR)/gen_suggestion_filter_main<(EXECUTABLE_SUFFIX)', 714 'input_files%': [ 715 '<(platform_data_dir)/suggestion_filter.txt', 716 ], 717 }, 718 'inputs': [ 719 '<(generator)', 720 '<@(input_files)', 721 ], 722 'outputs': [ 723 '<(gen_out_dir)/suggestion_filter_data.data', 724 ], 725 'action': [ 726 '<(generator)', 727 '--input=<@(input_files)', 728 '--header=false', 729 '--output=<(gen_out_dir)/suggestion_filter_data.data', 730 ], 731 'message': ('[<(dataset_tag)] Generating ' + 732 '<(gen_out_dir)/suggestion_filter_data.data'), 733 }, 734 ], 735 }, 736 { 737 'target_name': 'gen_separate_symbol_rewriter_data_for_<(dataset_tag)', 738 'type': 'none', 739 'toolsets': ['host'], 740 'dependencies': [ 741 '../../rewriter/rewriter_base.gyp:gen_symbol_rewriter_dictionary_main#host', 742 ], 743 'actions': [ 744 { 745 'action_name': 'gen_separate_symbol_rewriter_data_for_<(dataset_tag)', 746 'variables': { 747 'generator' : '<(PRODUCT_DIR)/gen_symbol_rewriter_dictionary_main<(EXECUTABLE_SUFFIX)', 748 'input_files': [ 749 '<(mozc_dir)/data/symbol/symbol.tsv', 750 '<(mozc_dir)/data/rules/sorting_map.tsv', 751 '<(mozc_dir)/data/symbol/ordering_rule.txt', 752 '<(gen_out_dir)/user_pos_manager.data', 753 ], 754 }, 755 'inputs': [ 756 '<(generator)', 757 '<@(input_files)', 758 ], 759 'outputs': [ 760 '<(gen_out_dir)/symbol_token.data', 761 '<(gen_out_dir)/symbol_string.data', 762 ], 763 'action': [ 764 '<(generator)', 765 '--input=<(mozc_dir)/data/symbol/symbol.tsv', 766 '--user_pos_manager_data=<(gen_out_dir)/user_pos_manager.data', 767 '--sorting_table=<(mozc_dir)/data/rules/sorting_map.tsv', 768 '--ordering_rule=<(mozc_dir)/data/symbol/ordering_rule.txt', 769 '--output_token_array=<(gen_out_dir)/symbol_token.data', 770 '--output_string_array=<(gen_out_dir)/symbol_string.data', 771 ], 772 'message': ('[<(dataset_tag)] Generating ' + 773 '<(gen_out_dir)/symbol*'), 774 }, 775 ], 776 }, 777 { 778 'target_name': 'gen_separate_emoticon_rewriter_data_for_<(dataset_tag)', 779 'type': 'none', 780 'toolsets': ['host'], 781 'dependencies': [ 782 '../../rewriter/rewriter_base.gyp:gen_emoticon_rewriter_data_main', 783 ], 784 'actions': [ 785 { 786 'action_name': 'gen_separate_emoticon_rewriter_data_for_<(dataset_tag)', 787 'variables': { 788 'generator': '<(PRODUCT_DIR)/gen_emoticon_rewriter_data_main<(EXECUTABLE_SUFFIX)', 789 'input_files': [ 790 '<(mozc_dir)/data/emoticon/emoticon.tsv', 791 ], 792 }, 793 'inputs': [ 794 '<(generator)', 795 '<@(input_files)', 796 ], 797 'outputs': [ 798 '<(gen_out_dir)/emoticon_token.data', 799 '<(gen_out_dir)/emoticon_string.data', 800 ], 801 'action': [ 802 '<(generator)', 803 '--input=<(mozc_dir)/data/emoticon/emoticon.tsv', 804 '--output_token_array=<(gen_out_dir)/emoticon_token.data', 805 '--output_string_array=<(gen_out_dir)/emoticon_string.data', 806 ], 807 'message': '[<(dataset_tag)] Generating emoticon data', 808 }, 809 ], 810 }, 811 { 812 'target_name': 'gen_separate_emoji_rewriter_data_for_<(dataset_tag)', 813 'type': 'none', 814 'toolsets': ['host'], 815 'actions': [ 816 { 817 'action_name': 'gen_separate_emoji_rewriter_data_for_<(dataset_tag)', 818 'variables': { 819 'generator': '<(mozc_dir)/rewriter/gen_emoji_rewriter_data.py', 820 'input_files': [ 821 '<(mozc_dir)/data/emoji/emoji_data.tsv', 822 ], 823 }, 824 'inputs': [ 825 '<(generator)', 826 '<@(input_files)', 827 ], 828 'outputs': [ 829 '<(gen_out_dir)/emoji_token.data', 830 '<(gen_out_dir)/emoji_string.data', 831 ], 832 'action': [ 833 '/usr/local/bin/python3.8', '<(generator)', 834 '--input=<(mozc_dir)/data/emoji/emoji_data.tsv', 835 '--output_token_array=<(gen_out_dir)/emoji_token.data', 836 '--output_string_array=<(gen_out_dir)/emoji_string.data', 837 ], 838 'message': '[<(dataset_tag)] Generating emoji data', 839 }, 840 ], 841 }, 842 { 843 'target_name': 'gen_separate_single_kanji_rewriter_data_for_<(dataset_tag)', 844 'type': 'none', 845 'toolsets': ['host'], 846 'dependencies': [ 847 '../../rewriter/rewriter_base.gyp:gen_single_kanji_noun_prefix_data_main', 848 ], 849 'actions': [ 850 { 851 'action_name': 'gen_single_kanji_data_for_<(dataset_tag)', 852 'variables': { 853 'generator': '<(mozc_dir)/rewriter/gen_single_kanji_rewriter_data.py', 854 'single_kanji_file': '<(mozc_dir)/data/single_kanji/single_kanji.tsv', 855 'variant_file': '<(mozc_dir)/data/single_kanji/variant_rule.txt', 856 }, 857 'inputs': [ 858 '<(generator)', 859 '<(single_kanji_file)', 860 '<(variant_file)', 861 ], 862 'outputs': [ 863 '<(gen_out_dir)/single_kanji_string.data', 864 '<(gen_out_dir)/single_kanji_token.data', 865 '<(gen_out_dir)/single_kanji_variant_type.data', 866 '<(gen_out_dir)/single_kanji_variant_token.data', 867 '<(gen_out_dir)/single_kanji_variant_string.data', 868 ], 869 'action': [ 870 '/usr/local/bin/python3.8', '<(generator)', 871 '--single_kanji_file=<(single_kanji_file)', 872 '--variant_file=<(variant_file)', 873 '--output_single_kanji_token=<(gen_out_dir)/single_kanji_token.data', 874 '--output_single_kanji_string=<(gen_out_dir)/single_kanji_string.data', 875 '--output_variant_types=<(gen_out_dir)/single_kanji_variant_type.data', 876 '--output_variant_tokens=<(gen_out_dir)/single_kanji_variant_token.data', 877 '--output_variant_strings=<(gen_out_dir)/single_kanji_variant_string.data', 878 ], 879 'message': '[<(dataset_tag)] Generating single kanji data', 880 }, 881 { 882 'action_name': 'gen_noun_prefix_data_for_<(dataset_tag)', 883 'variables': { 884 'generator': '<(PRODUCT_DIR)/gen_single_kanji_noun_prefix_data_main<(EXECUTABLE_SUFFIX)', 885 }, 886 'inputs': [ 887 '<(generator)', 888 ], 889 'outputs': [ 890 '<(gen_out_dir)/single_kanji_noun_prefix_token.data', 891 '<(gen_out_dir)/single_kanji_noun_prefix_string.data', 892 ], 893 'action': [ 894 '<(generator)', 895 '--output_token_array=<(gen_out_dir)/single_kanji_noun_prefix_token.data', 896 '--output_string_array=<(gen_out_dir)/single_kanji_noun_prefix_string.data', 897 ], 898 'message': '[<(dataset_tag)] Generating noun prefix data', 899 }, 900 ], 901 }, 902 { 903 'target_name': 'gen_separate_counter_suffix_data_for_<(dataset_tag)', 904 'type': 'none', 905 'toolsets': ['host'], 906 'actions': [ 907 { 908 'action_name': 'gen_separate_counter_suffix_data_for_<(dataset_tag)', 909 'variables': { 910 'id_file': '<(platform_data_dir)/id.def', 911 'input_files%': '<(dictionary_files)', 912 }, 913 'inputs': [ 914 '<(id_file)', 915 '<@(input_files)', 916 ], 917 'outputs': [ 918 '<(gen_out_dir)/counter_suffix.data', 919 ], 920 'action': [ 921 '/usr/local/bin/python3.8', '<(mozc_dir)/rewriter/gen_counter_suffix_array.py', 922 '--id_file=<(id_file)', 923 '--output=<(gen_out_dir)/counter_suffix.data', 924 '<@(input_files)', 925 ], 926 'message': ('[<(dataset_tag)] Generating ' + 927 '<(gen_out_dir)/counter_suffix.data'), 928 }, 929 ], 930 }, 931 { 932 'target_name': 'gen_separate_zero_query_data_for_<(dataset_tag)', 933 'type': 'none', 934 'toolsets': ['host'], 935 'actions': [ 936 { 937 'action_name': 'gen_separate_zero_query_data_for_<(dataset_tag)', 938 'variables': { 939 'generator': '<(mozc_dir)/prediction/gen_zero_query_data.py', 940 'input_files': [ 941 '<(mozc_dir)/data/emoji/emoji_data.tsv', 942 '<(mozc_dir)/data/emoticon/categorized.tsv', 943 '<(mozc_dir)/data/symbol/symbol.tsv', 944 '<(mozc_dir)/data/zero_query/zero_query.def', 945 ], 946 }, 947 'inputs': [ 948 '<(generator)', 949 '<@(input_files)', 950 ], 951 'outputs': [ 952 '<(gen_out_dir)/zero_query_token.data', 953 '<(gen_out_dir)/zero_query_string.data', 954 ], 955 'action': [ 956 '/usr/local/bin/python3.8', '<(generator)', 957 '--input_rule=<(mozc_dir)/data/zero_query/zero_query.def', 958 '--input_symbol=<(mozc_dir)/data/symbol/symbol.tsv', 959 '--input_emoji=<(mozc_dir)/data/emoji/emoji_data.tsv', 960 '--input_emoticon=<(mozc_dir)/data/emoticon/categorized.tsv', 961 '--output_token_array=<(gen_out_dir)/zero_query_token.data', 962 '--output_string_array=<(gen_out_dir)/zero_query_string.data', 963 ], 964 }, 965 { 966 'action_name': 'gen_separate_zero_query_number_data_for_<(dataset_tag)', 967 'variables': { 968 'generator': '<(mozc_dir)/prediction/gen_zero_query_number_data.py', 969 'input_files': [ 970 '<(mozc_dir)/data/zero_query/zero_query_number.def', 971 ], 972 }, 973 'inputs': [ 974 '<(generator)', 975 '<@(input_files)', 976 ], 977 'outputs': [ 978 '<(gen_out_dir)/zero_query_number_token.data', 979 '<(gen_out_dir)/zero_query_number_string.data', 980 ], 981 'action': [ 982 '/usr/local/bin/python3.8', '<(generator)', 983 '--input=<(mozc_dir)/data/zero_query/zero_query_number.def', 984 '--output_token_array=<(gen_out_dir)/zero_query_number_token.data', 985 '--output_string_array=<(gen_out_dir)/zero_query_number_string.data', 986 ], 987 }, 988 ], 989 }, 990 { 991 'target_name': 'gen_typing_model_for_<(dataset_tag)', 992 'type': 'none', 993 'toolsets': ['host'], 994 'actions': [ 995 { 996 'action_name': 'gen_qwerty_mobile-hiragana_typing_model_<(dataset_tag)', 997 'variables': { 998 'input_files': [ 999 '<(mozc_dir)/data/typing/typing_model_qwerty_mobile-hiragana.tsv', 1000 ], 1001 }, 1002 'inputs': [ 1003 '<(mozc_dir)/composer/internal/gen_typing_model.py', 1004 '<@(input_files)', 1005 ], 1006 'outputs': [ 1007 '<(gen_out_dir)/typing_model_qwerty_mobile-hiragana.data', 1008 ], 1009 'action': [ 1010 '/usr/local/bin/python3.8', 1011 '<(mozc_dir)/composer/internal/gen_typing_model.py', 1012 '--input_path', 1013 '<@(input_files)', 1014 '--output_path', 1015 '<@(_outputs)', 1016 ], 1017 }, 1018 { 1019 'action_name': 'gen_12keys-hiragana_typing_model_<(dataset_tag)', 1020 'variables': { 1021 'input_files': [ 1022 '<(mozc_dir)/data/typing/typing_model_12keys-hiragana.tsv', 1023 ], 1024 }, 1025 'inputs': [ 1026 '<(mozc_dir)/composer/internal/gen_typing_model.py', 1027 '<@(input_files)', 1028 ], 1029 'outputs': [ 1030 '<(gen_out_dir)/typing_model_12keys-hiragana.data', 1031 ], 1032 'action': [ 1033 '/usr/local/bin/python3.8', 1034 '<(mozc_dir)/composer/internal/gen_typing_model.py', 1035 '--input_path', 1036 '<@(input_files)', 1037 '--output_path', 1038 '<@(_outputs)', 1039 ], 1040 }, 1041 { 1042 'action_name': 'gen_flick-hiragana_typing_model_<(dataset_tag)', 1043 'variables': { 1044 'input_files': [ 1045 '<(mozc_dir)/data/typing/typing_model_flick-hiragana.tsv', 1046 ], 1047 }, 1048 'inputs': [ 1049 '<(mozc_dir)/composer/internal/gen_typing_model.py', 1050 '<@(input_files)', 1051 ], 1052 'outputs': [ 1053 '<(gen_out_dir)/typing_model_flick-hiragana.data', 1054 ], 1055 'action': [ 1056 '/usr/local/bin/python3.8', 1057 '<(mozc_dir)/composer/internal/gen_typing_model.py', 1058 '--input_path', 1059 '<@(input_files)', 1060 '--output_path', 1061 '<@(_outputs)', 1062 ], 1063 }, 1064 { 1065 'action_name': 'gen_godan-hiragana_typing_model_<(dataset_tag)', 1066 'variables': { 1067 'input_files': [ 1068 '<(mozc_dir)/data/typing/typing_model_godan-hiragana.tsv', 1069 ], 1070 }, 1071 'inputs': [ 1072 '<(mozc_dir)/composer/internal/gen_typing_model.py', 1073 '<@(input_files)', 1074 ], 1075 'outputs': [ 1076 '<(gen_out_dir)/typing_model_godan-hiragana.data', 1077 ], 1078 'action': [ 1079 '/usr/local/bin/python3.8', 1080 '<(mozc_dir)/composer/internal/gen_typing_model.py', 1081 '--input_path', 1082 '<@(input_files)', 1083 '--output_path', 1084 '<@(_outputs)', 1085 ], 1086 }, 1087 { 1088 'action_name': 'gen_toggle_flick-hiragana_typing_model_<(dataset_tag)', 1089 'variables': { 1090 'input_files': [ 1091 '<(mozc_dir)/data/typing/typing_model_toggle_flick-hiragana.tsv', 1092 ], 1093 }, 1094 'inputs': [ 1095 '<(mozc_dir)/composer/internal/gen_typing_model.py', 1096 '<@(input_files)', 1097 ], 1098 'outputs': [ 1099 '<(gen_out_dir)/typing_model_toggle_flick-hiragana.data', 1100 ], 1101 'action': [ 1102 '/usr/local/bin/python3.8', 1103 '<(mozc_dir)/composer/internal/gen_typing_model.py', 1104 '--input_path', 1105 '<@(input_files)', 1106 '--output_path', 1107 '<@(_outputs)', 1108 ], 1109 }, 1110 ], 1111 }, 1112 { 1113 'target_name': 'gen_separate_version_data_for_<(dataset_tag)', 1114 'type': 'none', 1115 'toolsets': ['host'], 1116 'actions': [ 1117 { 1118 'action_name': 'gen_separate_version_data_for_<(dataset_tag)', 1119 'variables': { 1120 'generator': '<(mozc_dir)/data_manager/gen_data_version.py', 1121 'version_file': '<(mozc_dir)/data/version/mozc_version_template.bzl', 1122 }, 1123 'inputs': [ 1124 '<(generator)', 1125 '<(version_file)', 1126 ], 1127 'outputs': [ 1128 '<(gen_out_dir)/version.data', 1129 ], 1130 'action': [ 1131 '/usr/local/bin/python3.8', '<(generator)', 1132 '--tag=<(dataset_tag)', 1133 '--mozc_version_template=<(version_file)', 1134 '--output=<(gen_out_dir)/version.data', 1135 ], 1136 'message': '[<(dataset_tag)] Generating version.data', 1137 }, 1138 ], 1139 }, 1140 ], 1141} 1142