# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file # for details. All rights reserved. Use of this source code is governed by a # BSD-style license that can be found in the LICENSE file. # This GN file contains build rules for assembling the Dart SDK. There are # two possible variants: the "Full" SDK, and the "Platform" SDK. If you want # to make a new subset of the Full SDK, make it the same way we make # the Platform SDK. # # Warning: # If you need to copy something into dart-sdk/lib/foo in addition to the stuff # copied there by :copy_libraries, then you must depend on ":copy_libraries", # or ":copy_libraries" may delete/overwrite your addition, and the build will # fail. import("../build/copy_tree.gni") declare_args() { # Build a SDK with less stuff. It excludes dart2js, ddc, and web libraries. dart_platform_sdk = true # Path to stripped dart binary relative to build output directory. dart_stripped_binary = "dart" } # The directory layout of the SDK is as follows: # # ..dart-sdk/ # ....bin/ # ......dart or dart.exe (executable) # ......dart.lib (import library for VM native extensions on Windows) # ......dartdoc # ......dartfmt # ......dart2js # ......dartanalyzer # ......dartdevc # ......dartdevk # ......pub # ......snapshots/ # ........analysis_server.dart.snapshot # ........dart2js.dart.snapshot # ........dartanalyzer.dart.snapshot # ........dartdoc.dart.snapshot # ........dartfmt.dart.snapshot # ........dartdevc.dart.snapshot # ........dartdevk.dart.snapshot # ........kernel_summary_worker.dart.snapshot # ........pub.dart.snapshot #.........resources/ #...........dartdoc/ #..............packages #.............resources/ #.............templates/ # ....include/ # ......dart_api.h # ......dart_mirrors_api.h # ......dart_native_api.h # ......dart_tools_api.h # ....lib/ # ......dart_client.platform # ......dart_server.platform # ......dart_shared.platform # ......_internal/ #.........spec.sum #.........strong.sum #.........dart2js_platform.dill #.........vm_outline.dill #.........vm_outline_strong.dill #.........vm_platform.dill #.........vm_platform_strong.dill #.........dev_compiler/ # ......analysis_server/ # ......analyzer/ # ......async/ # ......collection/ # ......convert/ # ......core/ # ......front_end/ # ......html/ # ......_http/ # ......internal/ # ......io/ # ......isolate/ # ......js/ # ......js_util/ # ......kernel/ # ......math/ # ......mirrors/ # ......typed_data/ # ......api_readme.md # Scripts that go under bin/ _platform_sdk_scripts = [ "dartanalyzer", "dartfmt", "pub", ] _full_sdk_scripts = [ "dart2js", "dartanalyzer", "dartdevc", "dartdevk", "dartfmt", "pub", ] # Scripts not ending in _sdk that go under bin/ _scripts = [ "dartdoc" ] # Snapshots that go under bin/snapshots _platform_sdk_snapshots = [ [ "analysis_server", "../utils/analysis_server", ], [ "dartanalyzer", "../utils/dartanalyzer:generate_dartanalyzer_snapshot", ], [ "dartdoc", "../utils/dartdoc", ], [ "dartfmt", "../utils/dartfmt", ], [ "pub", "../utils/pub", ], ] _full_sdk_snapshots = [ [ "analysis_server", "../utils/analysis_server", ], [ "dart2js", "../utils/compiler:dart2js", ], [ "dartanalyzer", "../utils/dartanalyzer:generate_dartanalyzer_snapshot", ], [ "dartdevc", "../utils/dartdevc", ], [ "dartdevk", "../utils/dartdevc:dartdevk", ], [ "dartdoc", "../utils/dartdoc", ], [ "dartfmt", "../utils/dartfmt", ], [ "kernel_summary_worker", "../utils/bazel:kernel_summary_worker", ], [ "pub", "../utils/pub", ], [ "kernel-service", "../utils/kernel-service", ], ] # Libraries that go under lib/ _platform_sdk_libraries = [ "_internal", "async", "collection", "convert", "core", "developer", "html", "_http", "internal", "io", "isolate", "math", "mirrors", "profiler", "typed_data", ] _full_sdk_libraries = [ "_chrome", "_internal", "async", "collection", "convert", "core", "developer", "html", "_http", "indexed_db", "internal", "io", "isolate", "js", "js_util", "math", "mirrors", "profiler", "svg", "typed_data", "web_audio", "web_gl", "web_sql", ] # Package sources copied to lib/ _analyzer_source_dirs = [ "analyzer", "analysis_server", "front_end", "kernel", ] # From here down to the copy_trees() invocation, we collect all the information # about trees that need to be copied in the list of scopes, copy_tree_specs. copy_tree_specs = [] # This loop generates rules for copying analyzer sources into lib/ foreach(analyzer_source_dir, _analyzer_source_dirs) { copy_tree_specs += [ { target = "copy_${analyzer_source_dir}_source_dir" visibility = [ ":copy_analyzer_sources" ] source = "../pkg/$analyzer_source_dir" dest = "$root_out_dir/dart-sdk/lib/$analyzer_source_dir" ignore_patterns = "*.svn,doc,*.py,*.gypi,*.sh,.gitignore,packages,test,testcases" } ] } # This rule copies dartdoc templates to # bin/snapshots/resources/dartdoc/templates copy_tree_specs += [ { target = "copy_dartdoc_templates" visibility = [ ":copy_dartdoc_files" ] source = "../third_party/pkg/dartdoc/lib/templates" dest = "$root_out_dir/dart-sdk/bin/snapshots/resources/dartdoc/templates" ignore_patterns = "{}" } ] # This rule copies dartdoc resources to # bin/snapshots/resources/dartdoc/resources copy_tree_specs += [ { target = "copy_dartdoc_resources" visibility = [ ":copy_dartdoc_files" ] source = "../third_party/pkg/dartdoc/lib/resources" dest = "$root_out_dir/dart-sdk/bin/snapshots/resources/dartdoc/resources" ignore_patterns = "{}" } ] # This rule copies pub assets to lib/_internal/pub/asset copy_tree_specs += [ { target = "copy_pub_assets" visibility = [ ":create_common_sdk", ":copy_7zip", ] deps = [ ":copy_libraries", ] source = "../third_party/pkg/pub/lib/src/asset" dest = "$root_out_dir/dart-sdk/lib/_internal/pub/asset" ignore_patterns = "{}" } ] # This loop generates rules to copy libraries to lib/ foreach(library, _full_sdk_libraries) { copy_tree_specs += [ { target = "copy_${library}_library" visibility = [ ":copy_platform_sdk_libraries", ":copy_full_sdk_libraries", ] source = "lib/$library" dest = "$root_out_dir/dart-sdk/lib/$library" ignore_patterns = "*.svn,doc,*.py,*.gypi,*.sh,.gitignore" } ] } if (is_win) { copy_tree_specs += [ { target = "copy_7zip" visibility = [ ":create_common_sdk" ] deps = [ ":copy_libraries", ":copy_pub_assets", ] source = "../third_party/7zip" dest = "$root_out_dir/dart-sdk/lib/_internal/pub/asset/7zip" ignore_patterns = ".svn" } ] } # This generates targets for everything in copy_tree_specs. The targets have the # same name as the "target" fields in the scopes of copy_tree_specs. copy_trees("copy_trees") { sources = copy_tree_specs } # Copies the Dart VM binary into bin/ if (target_os != current_os && target_os == "fuchsia") { # In the Fuchsia build, this has to use a symlink for two reasons. # First, it makes the lookup of shared libraries relative to $ORIGIN # (Linux) or @loader_path (macOS) find the libraries where they are, # since those lookups use the directory of the symlink target rather # than of the link itself (as they would for a copy or hard link). # Second, when the dart binary is built as a "variant" (e.g. with a # sanitizer), then $root_out_dir/dart is itself a symlink to the real # binary in the selected variant toolchain's $root_out_dir and since # the "copy" tool is actually a hard link rather than a copy, it will # make a link to the symlink rather than the symlink's target, and the # relative symlink interpreted from a different containing directory # will not find the actual binary. action("copy_dart") { visibility = [ ":create_common_sdk" ] dart_label = "../runtime/bin:dart" deps = [ dart_label, ] dart_out = get_label_info(dart_label, "root_out_dir") sources = [ "$dart_out/$dart_stripped_binary", ] outputs = [ "$root_out_dir/dart-sdk/bin/$dart_stripped_binary", ] script = "/bin/ln" args = [ "-snf", rebase_path(sources[0], get_path_info(outputs[0], "dir")), rebase_path(outputs[0]), ] } } else { copy("copy_dart") { visibility = [ ":create_common_sdk" ] deps = [ "../runtime/bin:dart", ] dart_out = get_label_info("../runtime/bin:dart", "root_out_dir") if (is_win) { sources = [ "$dart_out/dart.exe", ] } else { sources = [ "$dart_out/$dart_stripped_binary", ] } if (is_win) { sources += [ "$dart_out/dart.lib" ] } outputs = [ "$root_out_dir/dart-sdk/bin/{{source_file_part}}", ] } } # A template for copying the things in _platform_sdk_scripts and # _full_sdk_scripts into bin/ template("copy_sdk_script") { assert(defined(invoker.name), "copy_sdk_script must define 'name'") name = invoker.name ext = "" if (is_win) { ext = ".bat" } copy(target_name) { visibility = [ ":copy_platform_sdk_scripts", ":copy_full_sdk_scripts", ] sources = [ "bin/${name}_sdk$ext", ] outputs = [ "$root_out_dir/dart-sdk/bin/$name$ext", ] } } foreach(sdk_script, _full_sdk_scripts) { copy_sdk_script("copy_${sdk_script}_script") { name = sdk_script } } foreach(script, _scripts) { copy("copy_${script}_script") { visibility = [ ":copy_platform_sdk_scripts", ":copy_full_sdk_scripts", ] ext = "" if (is_win) { ext = ".bat" } sources = [ "bin/$script$ext", ] outputs = [ "$root_out_dir/dart-sdk/bin/{{source_file_part}}", ] } } # This is the main target for copying scripts in _platform_sdk_scripts to bin/ group("copy_platform_sdk_scripts") { visibility = [ ":create_platform_sdk" ] deps = [] foreach(sdk_script, _platform_sdk_scripts) { deps += [ ":copy_${sdk_script}_script" ] } foreach(script, _scripts) { deps += [ ":copy_${script}_script" ] } } # This is the main target for copying scripts in _full_sdk_scripts to bin/ group("copy_full_sdk_scripts") { visibility = [ ":create_full_sdk" ] deps = [] foreach(sdk_script, _full_sdk_scripts) { deps += [ ":copy_${sdk_script}_script" ] } foreach(script, _scripts) { deps += [ ":copy_${script}_script" ] } } # This loop generates "copy" targets that put snapshots into bin/snapshots foreach(snapshot, _full_sdk_snapshots) { copy("copy_${snapshot[0]}_snapshot") { visibility = [ ":copy_platform_sdk_snapshots", ":copy_full_sdk_snapshots", ] deps = [ snapshot[1], ] sources = [ "$root_gen_dir/${snapshot[0]}.dart.snapshot", ] outputs = [ "$root_out_dir/dart-sdk/bin/snapshots/{{source_file_part}}", ] } } # This is the main rule for copying snapshots from _platform_sdk_snapshots to # bin/snapshots group("copy_platform_sdk_snapshots") { visibility = [ ":create_platform_sdk" ] deps = [] foreach(snapshot, _platform_sdk_snapshots) { deps += [ ":copy_${snapshot[0]}_snapshot" ] } } # This is the main rule for copying snapshots from _full_sdk_snapshots to # bin/snapshots group("copy_full_sdk_snapshots") { visibility = [ ":create_full_sdk" ] deps = [] foreach(snapshot, _full_sdk_snapshots) { deps += [ ":copy_${snapshot[0]}_snapshot" ] } } # This is the main rule for copying analyzer sources to lib/ group("copy_analyzer_sources") { visibility = [ ":create_common_sdk" ] deps = [] foreach(analyzer_source_dir, _analyzer_source_dirs) { deps += [ ":copy_${analyzer_source_dir}_source_dir" ] } } # This rule writes the .packages file for dartdoc resources. write_file("$root_out_dir/dart-sdk/bin/snapshots/resources/dartdoc/.packages", "dartdoc:.") # This is the main rule for copying the files that dartdoc needs. group("copy_dartdoc_files") { visibility = [ ":create_common_sdk" ] deps = [ ":copy_dartdoc_resources", ":copy_dartdoc_templates", ] } # This rule copies analyzer summaries to lib/_internal copy("copy_analysis_summaries") { visibility = [ ":create_common_sdk" ] deps = [ ":copy_libraries", "../utils/dartanalyzer:generate_summary_spec", "../utils/dartanalyzer:generate_summary_strong", ] sources = [ "$root_gen_dir/spec.sum", "$root_gen_dir/strong.sum", ] outputs = [ "$root_out_dir/dart-sdk/lib/_internal/{{source_file_part}}", ] } # This rule copies dill files to lib/_internal. copy("copy_vm_dill_files") { visibility = [ ":create_common_sdk" ] deps = [ ":copy_libraries", "../runtime/vm:kernel_platform_files", ] sources = [ "$root_out_dir/vm_outline.dill", "$root_out_dir/vm_outline_strong.dill", "$root_out_dir/vm_platform.dill", "$root_out_dir/vm_platform_strong.dill", ] outputs = [ "$root_out_dir/dart-sdk/lib/_internal/{{source_file_part}}", ] } copy("copy_dart2js_dill_files") { visibility = [ ":create_full_sdk" ] deps = [ ":copy_libraries", "../utils/compiler:compile_dart2js_platform", ] sources = [ "$root_out_dir/dart2js_platform.dill", ] outputs = [ "$root_out_dir/dart-sdk/lib/_internal/{{source_file_part}}", ] } # This rule copies ddc summaries to lib/_internal copy("copy_dev_compiler_summary") { visibility = [ ":copy_dev_compiler_sdk" ] deps = [ ":copy_libraries", "../utils/dartdevc:dartdevc_sdk", "../utils/dartdevc:dartdevc_sdk_kernel_summary", ] gen_dir = get_label_info("../utils/dartdevc:dartdevc_sdk", "target_gen_dir") sources = [ # TODO(vsm): Remove post CFE. "$gen_dir/ddc_sdk.sum", "$gen_dir/kernel/ddc_sdk.dill", ] outputs = [ "$root_out_dir/dart-sdk/lib/_internal/{{source_file_part}}", ] } # TODO(vsm): Remove the old non-CFE versions of the SDK once we've completed # DDC to Kernel (DDK) migration. # This rule copies DDC's JS SDK and require.js to lib/dev_compiler/amd. copy("copy_dev_compiler_js_amd") { visibility = [ ":copy_dev_compiler_js" ] deps = [ "../utils/dartdevc:dartdevc_sdk", ] gen_dir = get_label_info("../utils/dartdevc:dartdevc_sdk", "target_gen_dir") sources = [ "$gen_dir/js/amd/dart_sdk.js", "$gen_dir/js/amd/dart_sdk.js.map", "../third_party/requirejs/require.js", ] outputs = [ "$root_out_dir/dart-sdk/lib/dev_compiler/amd/{{source_file_part}}", ] } # This rule copies DDC's JS SDK and run.js to lib/dev_compiler/common. copy("copy_dev_compiler_js_common") { visibility = [ ":copy_dev_compiler_js" ] deps = [ "../utils/dartdevc:dartdevc_sdk", ] gen_dir = get_label_info("../utils/dartdevc:dartdevc_sdk", "target_gen_dir") sources = [ "$gen_dir/js/common/dart_sdk.js", "$gen_dir/js/common/dart_sdk.js.map", "../pkg/dev_compiler/lib/js/common/run.js", ] outputs = [ "$root_out_dir/dart-sdk/lib/dev_compiler/common/{{source_file_part}}", ] } # This rule copies DDC's JS SDK to lib/dev_compiler/es6. copy("copy_dev_compiler_js_es6") { visibility = [ ":copy_dev_compiler_js" ] deps = [ "../utils/dartdevc:dartdevc_sdk", ] gen_dir = get_label_info("../utils/dartdevc:dartdevc_sdk", "target_gen_dir") sources = [ "$gen_dir/js/es6/dart_sdk.js", "$gen_dir/js/es6/dart_sdk.js.map", ] outputs = [ "$root_out_dir/dart-sdk/lib/dev_compiler/es6/{{source_file_part}}", ] } # This rule copies DDC's JS SDK and dart_library.js to lib/dev_compiler/legacy. copy("copy_dev_compiler_js_legacy") { visibility = [ ":copy_dev_compiler_js" ] deps = [ "../utils/dartdevc:dartdevc_sdk", ] gen_dir = get_label_info("../utils/dartdevc:dartdevc_sdk", "target_gen_dir") sources = [ "$gen_dir/js/legacy/dart_sdk.js", "$gen_dir/js/legacy/dart_sdk.js.map", "../pkg/dev_compiler/lib/js/legacy/dart_library.js", ] outputs = [ "$root_out_dir/dart-sdk/lib/dev_compiler/legacy/{{source_file_part}}", ] } # This rule copies DDK's JS SDK and require.js to lib/dev_compiler/kernel/amd. copy("copy_dev_compiler_js_amd_kernel") { visibility = [ ":copy_dev_compiler_js" ] deps = [ "../utils/dartdevc:dartdevc_sdk_kernel_summary", ] gen_dir = get_label_info("../utils/dartdevc:dartdevc_sdk_kernel_summary", "target_gen_dir") sources = [ "$gen_dir/kernel/amd/dart_sdk.js", "$gen_dir/kernel/amd/dart_sdk.js.map", "../third_party/requirejs/require.js", ] outputs = [ "$root_out_dir/dart-sdk/lib/dev_compiler/kernel/amd/{{source_file_part}}", ] } # This rule copies DDK's JS SDK to lib/dev_compiler/kernel/common. copy("copy_dev_compiler_js_common_kernel") { visibility = [ ":copy_dev_compiler_js" ] deps = [ "../utils/dartdevc:dartdevc_sdk_kernel_summary", ] gen_dir = get_label_info("../utils/dartdevc:dartdevc_sdk_kernel_summary", "target_gen_dir") sources = [ "$gen_dir/kernel/common/dart_sdk.js", "$gen_dir/kernel/common/dart_sdk.js.map", "../pkg/dev_compiler/lib/js/common/run.js", ] outputs = [ "$root_out_dir/dart-sdk/lib/dev_compiler/kernel/common/{{source_file_part}}", ] } # This rule copies DDK's JS SDK to lib/dev_compiler/kernel/es6. copy("copy_dev_compiler_js_es6_kernel") { visibility = [ ":copy_dev_compiler_js" ] deps = [ "../utils/dartdevc:dartdevc_sdk_kernel_summary", ] gen_dir = get_label_info("../utils/dartdevc:dartdevc_sdk_kernel_summary", "target_gen_dir") sources = [ "$gen_dir/kernel/es6/dart_sdk.js", "$gen_dir/kernel/es6/dart_sdk.js.map", ] outputs = [ "$root_out_dir/dart-sdk/lib/dev_compiler/kernel/es6/{{source_file_part}}", ] } # This rule copies DDK's JS SDK to lib/dev_compiler/kernel/legacy. copy("copy_dev_compiler_js_legacy_kernel") { visibility = [ ":copy_dev_compiler_js" ] deps = [ "../utils/dartdevc:dartdevc_sdk_kernel_summary", ] gen_dir = get_label_info("../utils/dartdevc:dartdevc_sdk_kernel_summary", "target_gen_dir") sources = [ "$gen_dir/kernel/legacy/dart_sdk.js", "$gen_dir/kernel/legacy/dart_sdk.js.map", "../pkg/dev_compiler/lib/js/legacy/dart_library.js", ] outputs = [ "$root_out_dir/dart-sdk/lib/dev_compiler/kernel/legacy/{{source_file_part}}", ] } # Copies all of the JS artifacts needed by DDC. group("copy_dev_compiler_js") { visibility = [ ":copy_dev_compiler_sdk", ":copy_dev_compiler_tools", ] deps = [ ":copy_dev_compiler_js_amd", ":copy_dev_compiler_js_amd_kernel", ":copy_dev_compiler_js_common", ":copy_dev_compiler_js_common_kernel", ":copy_dev_compiler_js_es6", ":copy_dev_compiler_js_es6_kernel", ":copy_dev_compiler_js_legacy", ":copy_dev_compiler_js_legacy_kernel", ] } # This rule copies tools to go along with ddc. copy("copy_dev_compiler_tools") { visibility = [ ":copy_dev_compiler_sdk" ] deps = [ ":copy_dev_compiler_js", "../utils/dartdevc:dartdevc_web", "../utils/dartdevc:stack_trace_mapper", ] dart_out = get_label_info("../utils/dartdevc:dartdevc_web", "root_out_dir") sources = [ "$dart_out/dev_compiler/build/web/dart_stack_trace_mapper.js", "$dart_out/dev_compiler/build/web/ddc_web_compiler.js", ] outputs = [ "$root_out_dir/dart-sdk/lib/dev_compiler/web/{{source_file_part}}", ] } # This is the main rule for copying ddc's dependencies to lib/ group("copy_dev_compiler_sdk") { visibility = [ ":create_full_sdk" ] deps = [ ":copy_dev_compiler_js", ":copy_dev_compiler_summary", ":copy_dev_compiler_tools", ] } # This rule copies header files to include/ copy("copy_headers") { visibility = [ ":create_common_sdk" ] sources = [ "../runtime/include/dart_api.h", "../runtime/include/dart_mirrors_api.h", "../runtime/include/dart_native_api.h", "../runtime/include/dart_tools_api.h", ] outputs = [ "$root_out_dir/dart-sdk/include/{{source_file_part}}", ] } # This rule copies .platform files to lib/ copy("copy_platform_files") { visibility = [ ":create_common_sdk" ] sources = [ "lib/dart_client.platform", "lib/dart_server.platform", "lib/dart_shared.platform", ] outputs = [ "$root_out_dir/dart-sdk/lib/{{source_file_part}}", ] } # This is the main rule to copy libraries in _platform_sdk_libraries to lib/ group("copy_platform_sdk_libraries") { visibility = [ ":create_platform_sdk", ":copy_libraries", ] deps = [] foreach(library, _platform_sdk_libraries) { deps += [ ":copy_${library}_library" ] } } # This is the main rule to copy libraries in _full_sdk_libraries to lib/ group("copy_full_sdk_libraries") { visibility = [ ":create_full_sdk", ":copy_libraries", ] deps = [] foreach(library, _full_sdk_libraries) { deps += [ ":copy_${library}_library" ] } } group("copy_libraries") { if (dart_platform_sdk) { deps = [ ":copy_platform_sdk_libraries", ] } else { deps = [ ":copy_full_sdk_libraries", ] } } # This rule writes the version file. action("write_version_file") { visibility = [ ":create_common_sdk" ] inputs = [ "../tools/VERSION", ] output = "$root_out_dir/dart-sdk/version" outputs = [ output, ] script = "../tools/write_version_file.py" args = [ "--output", rebase_path(output), ] } # This rule writes the revision file. action("write_revision_file") { visibility = [ ":create_common_sdk" ] output = "$root_out_dir/dart-sdk/revision" outputs = [ output, ] script = "../tools/write_revision_file.py" args = [ "--output", rebase_path(output), ] } # Copy libraries.dart to lib/_internal/libraries.dart for backwards # compatibility. # # TODO(sigmund): stop copying libraries.dart. Old versions (<=0.25.1-alpha.4) # of the analyzer package do not support the new location of this file. We # should be able to remove the old file once we release a newer version of # analyzer and popular frameworks have migrated to use it. copy("copy_libraries_dart") { visibility = [ ":create_common_sdk" ] deps = [ ":copy_libraries", ] sources = [ "lib/_internal/sdk_library_metadata/lib/libraries.dart", ] outputs = [ "$root_out_dir/dart-sdk/lib/_internal/{{source_file_part}}", ] } # This rule copies the README file. copy("copy_readme") { visibility = [ ":create_common_sdk" ] sources = [ "../README.dart-sdk", ] outputs = [ "$root_out_dir/dart-sdk/README", ] } # This rule copies the LICENSE file. copy("copy_license") { visibility = [ ":create_common_sdk" ] sources = [ "../LICENSE", ] outputs = [ "$root_out_dir/dart-sdk/LICENSE", ] } # This rule copies the API readme file to lib/ copy("copy_api_readme") { visibility = [ ":create_common_sdk" ] sources = [ "api_readme.md", ] outputs = [ "$root_out_dir/dart-sdk/lib/api_readme.md", ] } # Parts common to both platform and full SDKs. group("create_common_sdk") { visibility = [ ":create_sdk" ] deps = [ ":copy_analysis_summaries", ":copy_analyzer_sources", ":copy_api_readme", ":copy_dart", ":copy_dartdoc_files", ":copy_headers", ":copy_libraries_dart", ":copy_license", ":copy_platform_files", ":copy_pub_assets", ":copy_readme", ":copy_vm_dill_files", ":write_revision_file", ":write_version_file", ] if (is_win) { deps += [ ":copy_7zip" ] } } # Parts specific to the platform SDK. group("create_platform_sdk") { visibility = [ ":create_sdk" ] deps = [ ":copy_platform_sdk_libraries", ":copy_platform_sdk_scripts", ":copy_platform_sdk_snapshots", ] } # Parts specific to the full SDK. group("create_full_sdk") { visibility = [ ":create_sdk" ] deps = [ ":copy_dart2js_dill_files", ":copy_dev_compiler_sdk", ":copy_full_sdk_libraries", ":copy_full_sdk_scripts", ":copy_full_sdk_snapshots", ] } # The main target to depend on from ../BUILD.gn group("create_sdk") { deps = [ ":create_common_sdk", ] if (dart_platform_sdk) { deps += [ ":create_platform_sdk" ] } else { deps += [ ":create_full_sdk" ] } }