OLD | NEW |
1 # Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 # Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
2 # for details. All rights reserved. Use of this source code is governed by a | 2 # for details. All rights reserved. Use of this source code is governed by a |
3 # BSD-style license that can be found in the LICENSE file. | 3 # BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 # This GN file contains build rules for assembling the Dart SDK. There are | 5 # This GN file contains build rules for assembling the Dart SDK. There are |
6 # two possible variants: the "Full" SDK, and the "Platform" SDK. If you want | 6 # two possible variants: the "Full" SDK, and the "Platform" SDK. If you want |
7 # to make a new subset of the Full SDK, make it the same way we make | 7 # to make a new subset of the Full SDK, make it the same way we make |
8 # the Platform SDK. | 8 # the Platform SDK. |
9 # | 9 # |
10 # Warning: | 10 # Warning: |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 ] | 203 ] |
204 | 204 |
205 # Package sources copied to lib/ | 205 # Package sources copied to lib/ |
206 _analyzer_source_dirs = [ | 206 _analyzer_source_dirs = [ |
207 "analyzer", | 207 "analyzer", |
208 "analysis_server", | 208 "analysis_server", |
209 "front_end", | 209 "front_end", |
210 "kernel", | 210 "kernel", |
211 ] | 211 ] |
212 | 212 |
| 213 # From here down to the copy_trees() invocation, we collect all the information |
| 214 # about trees that need to be copied in the list of scopes, copy_tree_specs. |
| 215 copy_tree_specs = [] |
| 216 |
| 217 # This loop generates rules for copying analyzer sources into lib/ |
| 218 foreach(analyzer_source_dir, _analyzer_source_dirs) { |
| 219 copy_tree_specs += [{ |
| 220 target = "copy_${analyzer_source_dir}_source_dir" |
| 221 visibility = [ ":copy_analyzer_sources" ] |
| 222 source = "../pkg/$analyzer_source_dir" |
| 223 dest = "$root_out_dir/dart-sdk/lib/$analyzer_source_dir" |
| 224 ignore_patterns = "*.svn,doc,*.py,*.gypi,*.sh,.gitignore,packages,test,testc
ases" |
| 225 }] |
| 226 } |
| 227 |
| 228 # This rule copies dartdoc templates to |
| 229 # bin/snapshots/resources/dartdoc/templates |
| 230 copy_tree_specs += [{ |
| 231 target = "copy_dartdoc_templates" |
| 232 visibility = [ ":copy_dartdoc_files" ] |
| 233 source = "../third_party/pkg/dartdoc/lib/templates" |
| 234 dest = "$root_out_dir/dart-sdk/bin/snapshots/resources/dartdoc/templates" |
| 235 ignore_patterns = "{}" |
| 236 }] |
| 237 |
| 238 # This rule copies dartdoc resources to |
| 239 # bin/snapshots/resources/dartdoc/resources |
| 240 copy_tree_specs += [{ |
| 241 target = "copy_dartdoc_resources" |
| 242 visibility = [ ":copy_dartdoc_files" ] |
| 243 source = "../third_party/pkg/dartdoc/lib/resources" |
| 244 dest = "$root_out_dir/dart-sdk/bin/snapshots/resources/dartdoc/resources" |
| 245 ignore_patterns = "{}" |
| 246 }] |
| 247 |
| 248 # This rule copies js needed by ddc to lib/dev_compiler |
| 249 copy_tree_specs += [{ |
| 250 target = "copy_dev_compiler_js" |
| 251 visibility = [ |
| 252 ":copy_dev_compiler_sdk", |
| 253 ":copy_dev_compiler_require_js", |
| 254 ":copy_dev_compiler_tools", |
| 255 ] |
| 256 source = "../pkg/dev_compiler/lib/js" |
| 257 dest = "$root_out_dir/dart-sdk/lib/dev_compiler" |
| 258 ignore_patterns = "{}" |
| 259 }] |
| 260 |
| 261 # This rule copies pub assets to lib/_internal/pub/asset |
| 262 copy_tree_specs += [{ |
| 263 target = "copy_pub_assets" |
| 264 visibility = [ |
| 265 ":create_common_sdk", |
| 266 ":copy_7zip", |
| 267 ] |
| 268 deps = [ |
| 269 ":copy_libraries", |
| 270 ] |
| 271 source = "../third_party/pkg/pub/lib/src/asset" |
| 272 dest = "$root_out_dir/dart-sdk/lib/_internal/pub/asset" |
| 273 ignore_patterns = "{}" |
| 274 }] |
| 275 |
| 276 # This loop generates rules to copy libraries to lib/ |
| 277 foreach(library, _full_sdk_libraries) { |
| 278 copy_tree_specs += [{ |
| 279 target = "copy_${library}_library" |
| 280 visibility = [ |
| 281 ":copy_platform_sdk_libraries", |
| 282 ":copy_full_sdk_libraries", |
| 283 ] |
| 284 source = "lib/$library" |
| 285 dest = "$root_out_dir/dart-sdk/lib/$library" |
| 286 ignore_patterns = "*.svn,doc,*.py,*.gypi,*.sh,.gitignore" |
| 287 }] |
| 288 } |
| 289 |
| 290 if (is_win) { |
| 291 copy_tree_specs += [{ |
| 292 target = "copy_7zip" |
| 293 visibility = [ ":create_common_sdk" ] |
| 294 deps = [ |
| 295 ":copy_libraries", |
| 296 ":copy_pub_assets", |
| 297 ] |
| 298 source = "../third_party/7zip" |
| 299 dest = "$root_out_dir/dart-sdk/lib/_internal/pub/asset/7zip" |
| 300 ignore_patterns = ".svn" |
| 301 }] |
| 302 } |
| 303 |
| 304 # This generates targets for everything in copy_tree_specs. The targets have the |
| 305 # same name as the "target" fields in the scopes of copy_tree_specs. |
| 306 copy_trees("copy_trees") { |
| 307 sources = copy_tree_specs |
| 308 } |
| 309 |
213 # Copies the Dart VM binary into bin/ | 310 # Copies the Dart VM binary into bin/ |
214 copy("copy_dart") { | 311 copy("copy_dart") { |
215 visibility = [ ":create_common_sdk" ] | 312 visibility = [ ":create_common_sdk" ] |
216 deps = [ | 313 deps = [ |
217 "../runtime/bin:dart", | 314 "../runtime/bin:dart", |
218 ] | 315 ] |
219 dart_out = get_label_info("../runtime/bin:dart", "root_out_dir") | 316 dart_out = get_label_info("../runtime/bin:dart", "root_out_dir") |
220 if (is_win) { | 317 if (is_win) { |
221 sources = [ | 318 sources = [ |
222 "$dart_out/dart.exe", | 319 "$dart_out/dart.exe", |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 # This is the main rule for copying snapshots from _full_sdk_snapshots to | 462 # This is the main rule for copying snapshots from _full_sdk_snapshots to |
366 # bin/snapshots | 463 # bin/snapshots |
367 group("copy_full_sdk_snapshots") { | 464 group("copy_full_sdk_snapshots") { |
368 visibility = [ ":create_full_sdk" ] | 465 visibility = [ ":create_full_sdk" ] |
369 deps = [] | 466 deps = [] |
370 foreach(snapshot, _full_sdk_snapshots) { | 467 foreach(snapshot, _full_sdk_snapshots) { |
371 deps += [ ":copy_${snapshot[0]}_snapshot" ] | 468 deps += [ ":copy_${snapshot[0]}_snapshot" ] |
372 } | 469 } |
373 } | 470 } |
374 | 471 |
375 # This loop generates rules for copying analyzer sources into lib/ | |
376 foreach(analyzer_source_dir, _analyzer_source_dirs) { | |
377 copy_tree("copy_${analyzer_source_dir}_source_dir") { | |
378 visibility = [ ":copy_analyzer_sources" ] | |
379 source = "../pkg/$analyzer_source_dir" | |
380 dest = "$root_out_dir/dart-sdk/lib/$analyzer_source_dir" | |
381 exclude = "*.svn,doc,*.py,*.gypi,*.sh,.gitignore,packages,test,testcases" | |
382 } | |
383 } | |
384 | |
385 # This is the main rule for copying analyzer sources to lib/ | 472 # This is the main rule for copying analyzer sources to lib/ |
386 group("copy_analyzer_sources") { | 473 group("copy_analyzer_sources") { |
387 visibility = [ ":create_common_sdk" ] | 474 visibility = [ ":create_common_sdk" ] |
388 deps = [] | 475 deps = [] |
389 foreach(analyzer_source_dir, _analyzer_source_dirs) { | 476 foreach(analyzer_source_dir, _analyzer_source_dirs) { |
390 deps += [ ":copy_${analyzer_source_dir}_source_dir" ] | 477 deps += [ ":copy_${analyzer_source_dir}_source_dir" ] |
391 } | 478 } |
392 } | 479 } |
393 | 480 |
394 # This rule copies dartdoc templates to | |
395 # bin/snapshots/resources/dartdoc/templates | |
396 copy_tree("copy_dartdoc_templates") { | |
397 visibility = [ ":copy_dartdoc_files" ] | |
398 source = "../third_party/pkg/dartdoc/lib/templates" | |
399 dest = "$root_out_dir/dart-sdk/bin/snapshots/resources/dartdoc/templates" | |
400 } | |
401 | |
402 # This rule copies dartdoc resources to | |
403 # bin/snapshots/resources/dartdoc/resources | |
404 copy_tree("copy_dartdoc_resources") { | |
405 visibility = [ ":copy_dartdoc_files" ] | |
406 source = "../third_party/pkg/dartdoc/lib/resources" | |
407 dest = "$root_out_dir/dart-sdk/bin/snapshots/resources/dartdoc/resources" | |
408 } | |
409 | |
410 # This rule writes the .packages file for dartdoc resources. | 481 # This rule writes the .packages file for dartdoc resources. |
411 write_file("$root_out_dir/dart-sdk/bin/snapshots/resources/dartdoc/.packages", | 482 write_file("$root_out_dir/dart-sdk/bin/snapshots/resources/dartdoc/.packages", |
412 "dartdoc:.") | 483 "dartdoc:.") |
413 | 484 |
414 # This is the main rule for copying the files that dartdoc needs. | 485 # This is the main rule for copying the files that dartdoc needs. |
415 group("copy_dartdoc_files") { | 486 group("copy_dartdoc_files") { |
416 visibility = [ ":create_common_sdk" ] | 487 visibility = [ ":create_common_sdk" ] |
417 deps = [ | 488 deps = [ |
418 ":copy_dartdoc_resources", | 489 ":copy_dartdoc_resources", |
419 ":copy_dartdoc_templates", | 490 ":copy_dartdoc_templates", |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
474 ":copy_libraries", | 545 ":copy_libraries", |
475 ] | 546 ] |
476 sources = [ | 547 sources = [ |
477 "../pkg/dev_compiler/lib/sdk/ddc_sdk.sum", | 548 "../pkg/dev_compiler/lib/sdk/ddc_sdk.sum", |
478 ] | 549 ] |
479 outputs = [ | 550 outputs = [ |
480 "$root_out_dir/dart-sdk/lib/_internal/{{source_file_part}}", | 551 "$root_out_dir/dart-sdk/lib/_internal/{{source_file_part}}", |
481 ] | 552 ] |
482 } | 553 } |
483 | 554 |
484 # This rule copies js needed by ddc to lib/dev_compiler | |
485 copy_tree("copy_dev_compiler_js") { | |
486 visibility = [ | |
487 ":copy_dev_compiler_sdk", | |
488 ":copy_dev_compiler_require_js", | |
489 ":copy_dev_compiler_tools", | |
490 ] | |
491 source = "../pkg/dev_compiler/lib/js" | |
492 dest = "$root_out_dir/dart-sdk/lib/dev_compiler" | |
493 } | |
494 | |
495 # This rule copies require.js to lib/dev_compiler/amd | 555 # This rule copies require.js to lib/dev_compiler/amd |
496 copy("copy_dev_compiler_require_js") { | 556 copy("copy_dev_compiler_require_js") { |
497 visibility = [ ":copy_dev_compiler_sdk" ] | 557 visibility = [ ":copy_dev_compiler_sdk" ] |
498 deps = [ | 558 deps = [ |
499 ":copy_dev_compiler_js", | 559 ":copy_dev_compiler_js", |
500 ] | 560 ] |
501 sources = [ | 561 sources = [ |
502 "../third_party/requirejs/require.js", | 562 "../third_party/requirejs/require.js", |
503 ] | 563 ] |
504 outputs = [ | 564 outputs = [ |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
555 sources = [ | 615 sources = [ |
556 "lib/dart_client.platform", | 616 "lib/dart_client.platform", |
557 "lib/dart_server.platform", | 617 "lib/dart_server.platform", |
558 "lib/dart_shared.platform", | 618 "lib/dart_shared.platform", |
559 ] | 619 ] |
560 outputs = [ | 620 outputs = [ |
561 "$root_out_dir/dart-sdk/lib/{{source_file_part}}", | 621 "$root_out_dir/dart-sdk/lib/{{source_file_part}}", |
562 ] | 622 ] |
563 } | 623 } |
564 | 624 |
565 # This rule copies pub assets to lib/_internal/pub/asset | |
566 copy_tree("copy_pub_assets") { | |
567 visibility = [ | |
568 ":create_common_sdk", | |
569 ":copy_7zip", | |
570 ] | |
571 deps = [ | |
572 ":copy_libraries", | |
573 ] | |
574 source = "../third_party/pkg/pub/lib/src/asset" | |
575 dest = "$root_out_dir/dart-sdk/lib/_internal/pub/asset" | |
576 } | |
577 | |
578 # This loop generates rules to copy libraries to lib/ | |
579 foreach(library, _full_sdk_libraries) { | |
580 copy_tree("copy_${library}_library") { | |
581 visibility = [ | |
582 ":copy_platform_sdk_libraries", | |
583 ":copy_full_sdk_libraries", | |
584 ] | |
585 source = "lib/$library" | |
586 dest = "$root_out_dir/dart-sdk/lib/$library" | |
587 exclude = "*.svn,doc,*.py,*.gypi,*.sh,.gitignore" | |
588 } | |
589 } | |
590 | |
591 # This is the main rule to copy libraries in _platform_sdk_libraries to lib/ | 625 # This is the main rule to copy libraries in _platform_sdk_libraries to lib/ |
592 group("copy_platform_sdk_libraries") { | 626 group("copy_platform_sdk_libraries") { |
593 visibility = [ | 627 visibility = [ |
594 ":create_platform_sdk", | 628 ":create_platform_sdk", |
595 ":copy_libraries", | 629 ":copy_libraries", |
596 ] | 630 ] |
597 deps = [] | 631 deps = [] |
598 foreach(library, _platform_sdk_libraries) { | 632 foreach(library, _platform_sdk_libraries) { |
599 deps += [ ":copy_${library}_library" ] | 633 deps += [ ":copy_${library}_library" ] |
600 } | 634 } |
(...skipping 16 matching lines...) Expand all Loading... |
617 deps = [ | 651 deps = [ |
618 ":copy_platform_sdk_libraries", | 652 ":copy_platform_sdk_libraries", |
619 ] | 653 ] |
620 } else { | 654 } else { |
621 deps = [ | 655 deps = [ |
622 ":copy_full_sdk_libraries", | 656 ":copy_full_sdk_libraries", |
623 ] | 657 ] |
624 } | 658 } |
625 } | 659 } |
626 | 660 |
627 if (is_win) { | |
628 copy_tree("copy_7zip") { | |
629 visibility = [ ":create_common_sdk" ] | |
630 deps = [ | |
631 ":copy_libraries", | |
632 ":copy_pub_assets", | |
633 ] | |
634 source = "../third_party/7zip" | |
635 dest = "$root_out_dir/dart-sdk/lib/_internal/pub/asset/7zip" | |
636 exclude = ".svn" | |
637 } | |
638 } | |
639 | |
640 # This rule writes the version file. | 661 # This rule writes the version file. |
641 action("write_version_file") { | 662 action("write_version_file") { |
642 visibility = [ ":create_common_sdk" ] | 663 visibility = [ ":create_common_sdk" ] |
643 output = "$root_out_dir/dart-sdk/version" | 664 output = "$root_out_dir/dart-sdk/version" |
644 outputs = [ | 665 outputs = [ |
645 output, | 666 output, |
646 ] | 667 ] |
647 script = "../tools/write_version_file.py" | 668 script = "../tools/write_version_file.py" |
648 args = [ | 669 args = [ |
649 "--output", | 670 "--output", |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
774 group("create_sdk") { | 795 group("create_sdk") { |
775 deps = [ | 796 deps = [ |
776 ":create_common_sdk", | 797 ":create_common_sdk", |
777 ] | 798 ] |
778 if (dart_platform_sdk) { | 799 if (dart_platform_sdk) { |
779 deps += [ ":create_platform_sdk" ] | 800 deps += [ ":create_platform_sdk" ] |
780 } else { | 801 } else { |
781 deps += [ ":create_full_sdk" ] | 802 deps += [ ":create_full_sdk" ] |
782 } | 803 } |
783 } | 804 } |
OLD | NEW |