Alexander Aprelev d4ec5cbd02 Roll dart to aece1c1e92. (flutter/engine#12997)
* Roll dart to aece1c1e92.

Changes since last roll:
```
aece1c1e92 Update compile_flutter.sh after vm -> frontend_server rename
9293e26fc9 [gardening] Fix flutter hhh patch.
13fbf569f6 [flutter] split frontend_server from vm package
a389015083 Rewrite MethodInvocation to FunctionExpressionInvocation when the target is not a method.
ae251757a9 [vm,aot,bytecode] Performance fixes
01ebf92dde [VM] Consume extension member/is late flag setting when reading kernel file.
8e05cd278c [vm, bytecode] Emit bytecode without ASTs by default.
4539536b34 [eventhandler] generalize socket initialization
7115687beb NNBD i13n: Add a description for discarding just the condition
2bcaf02582 (origin/base) Update dartdoc to 0.28.7.
a0e8c7712d [dart2js] New RTI: Prevent elision of precomputed1 and remove unneeded read.
c38e19cbbe [vm/compiler] bit utilities
f918214f36 Add a unit test reproducing issue #38352.
ad47b1ca64 Remove summary1, part 2.
0881a4a691 Reland "Deprecate TypeParameterTypeImpl.getTypes()"
d93a6b596b Prepare to publish analyzer version 0.38.5
d5feab0c53 [vm] Create builds for LeakSanitizer, MemorySanitizer and ThreadSanitizer.
8c5236f55e [vm/ffi] Fix host-target word mismatch breaking AOT callbacks in ARM_X64.
5f7b837195 Remove unused FunctionElementImpl_forLUB.
2c75771611 Write and read the static type of IntegerLiteral.
b00453c68a Create synthetic FunctionType in quick fixes.
897e197dd4 Flow analysis: Update AssignedVariablesVisitor to track functions/methods.
55466fd3cc Flow analysis: Remove AssignedVariables.capturedAnywhere.
0a5cf36f14 Make exitFunctionBody safer.
```

* Update license hash
2019-10-08 08:07:39 -07:00

135 lines
3.3 KiB
Python
Executable File

#!/usr/bin/env python
# Copyright 2013 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import argparse
import os
import shutil
import sys
# The list of packages copied from the Dart SDK.
PACKAGES = [
"vm",
"build_integration",
"kernel",
"front_end",
"dev_compiler",
"flutter_frontend_server",
]
VM_PUBSPEC = r'''name: vm
version: 0.0.1
environment:
sdk: ">=2.2.2 <3.0.0"
dependencies:
dev_compiler: any
front_end: any
kernel: any
meta: any
build_integration: any
'''
BUILD_INTEGRATION_PUBSPEC = r'''name: build_integration
version: 0.0.1
environment:
sdk: ">=2.2.2 <3.0.0"
dependencies:
front_end: any
meta: any
'''
FLUTTER_FRONTEND_SERVER_PUBSPEC = r'''name: flutter_frontend_server
version: 0.0.1
environment:
sdk: ">=2.2.2 <3.0.0"
dependencies:
args: any
path: any
vm: any
'''
KERNEL_PUBSPEC = r'''name: kernel
version: 0.0.1
environment:
sdk: '>=2.2.2 <3.0.0'
dependencies:
args: any
meta: any
'''
FRONT_END_PUBSPEC = r'''name: front_end
version: 0.0.1
environment:
sdk: '>=2.2.2 <3.0.0'
dependencies:
kernel: any
package_config: any
meta: any
'''
DEV_COMPILER_PUBSPEC = r'''name: dev_compiler
version: 0.0.1
environment:
sdk: '>=2.2.2 <3.0.0'
dependencies:
analyzer: any
bazel_worker: any
build_integration: any
cli_util: any
source_maps: any
'''
PUBSPECS = {
'vm': VM_PUBSPEC,
'build_integration': BUILD_INTEGRATION_PUBSPEC,
'flutter_frontend_server': FLUTTER_FRONTEND_SERVER_PUBSPEC,
'kernel': KERNEL_PUBSPEC,
'front_end': FRONT_END_PUBSPEC,
'dev_compiler': DEV_COMPILER_PUBSPEC,
}
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--frontend-server', type=str, dest='frontend', action='store')
parser.add_argument('--input-root', type=str, dest='input', action='store')
parser.add_argument('--output-root', type=str, dest='output', action='store')
args = parser.parse_args()
for package in PACKAGES:
base = args.input
# Handle different path for frontend_server
if package == 'flutter_frontend_server':
base = args.frontend
package_root = os.path.join(base, package)
for root, directories, files in os.walk(package_root):
# We only care about actual source files, not generated code or tests.
for skip_dir in ['.git', 'gen', 'test']:
if skip_dir in directories:
directories.remove(skip_dir)
# Ensure we have a dest directory
if not os.path.isdir(os.path.join(args.output, package)):
os.makedirs(os.path.join(args.output, package))
for filename in files:
if filename.endswith('.dart') and not filename.endswith('_test.dart'):
destination_file = os.path.join(args.output, package,
os.path.relpath(os.path.join(root, filename), start=package_root))
parent_path = os.path.abspath(os.path.join(destination_file, os.pardir))
if not os.path.isdir(parent_path):
os.makedirs(parent_path)
shutil.copyfile(os.path.join(root, filename), destination_file)
# Write the overriden pubspec for each package.
pubspec_file = os.path.join(args.output, package, 'pubspec.yaml')
with open(pubspec_file, 'w+') as output_file:
output_file.write(PUBSPECS[package])
if __name__ == '__main__':
sys.exit(main())