[flutter_tools] Concise dart2js commands outputKernel & outputJavaScript (#61881)
This commit is contained in:
@@ -153,64 +153,48 @@ class Dart2JSTarget extends Target {
|
||||
|
||||
@override
|
||||
Future<void> build(Environment environment) async {
|
||||
final String dart2jsOptimization = environment.defines[kDart2jsOptimization];
|
||||
final bool csp = environment.defines[kCspMode] == 'true';
|
||||
final BuildMode buildMode = getBuildModeForName(environment.defines[kBuildMode]);
|
||||
final String specPath = globals.fs.path.join(
|
||||
globals.artifacts.getArtifactPath(Artifact.flutterWebSdk), 'libraries.json');
|
||||
// TODO(jonahwilliams): support configuration of this file.
|
||||
const String packageFile = '.packages';
|
||||
final File outputKernel = environment.buildDir.childFile('app.dill');
|
||||
final File outputFile = environment.buildDir.childFile('main.dart.js');
|
||||
final List<String> dartDefines = decodeDartDefines(environment.defines, kDartDefines);
|
||||
final List<String> extraFrontEndOptions = decodeDartDefines(environment.defines, kExtraFrontEndOptions);
|
||||
|
||||
final List<String> sharedCommandOptions = <String>[
|
||||
globals.artifacts.getArtifactPath(Artifact.engineDartBinary),
|
||||
'--disable-dart-dev',
|
||||
globals.artifacts.getArtifactPath(Artifact.dart2jsSnapshot),
|
||||
'--libraries-spec=${globals.fs.path.join(globals.artifacts.getArtifactPath(Artifact.flutterWebSdk), 'libraries.json')}',
|
||||
...?decodeDartDefines(environment.defines, kExtraFrontEndOptions),
|
||||
if (buildMode == BuildMode.profile)
|
||||
'-Ddart.vm.profile=true'
|
||||
else
|
||||
'-Ddart.vm.product=true',
|
||||
for (final String dartDefine in decodeDartDefines(environment.defines, kDartDefines))
|
||||
'-D$dartDefine',
|
||||
];
|
||||
|
||||
// Run the dart2js compilation in two stages, so that icon tree shaking can
|
||||
// parse the kernel file for web builds.
|
||||
final ProcessResult kernelResult = await globals.processManager.run(<String>[
|
||||
globals.artifacts.getArtifactPath(Artifact.engineDartBinary),
|
||||
'--disable-dart-dev',
|
||||
globals.artifacts.getArtifactPath(Artifact.dart2jsSnapshot),
|
||||
'--libraries-spec=$specPath',
|
||||
...?extraFrontEndOptions,
|
||||
...sharedCommandOptions,
|
||||
'-o',
|
||||
outputKernel.path,
|
||||
'--packages=$packageFile',
|
||||
if (buildMode == BuildMode.profile)
|
||||
'-Ddart.vm.profile=true'
|
||||
else
|
||||
'-Ddart.vm.product=true',
|
||||
for (final String dartDefine in dartDefines)
|
||||
'-D$dartDefine',
|
||||
environment.buildDir.childFile('app.dill').path,
|
||||
'--packages=.packages',
|
||||
'--cfe-only',
|
||||
environment.buildDir.childFile('main.dart').path,
|
||||
environment.buildDir.childFile('main.dart').path, // dartfile
|
||||
]);
|
||||
if (kernelResult.exitCode != 0) {
|
||||
throw Exception(kernelResult.stdout + kernelResult.stderr);
|
||||
}
|
||||
|
||||
final String dart2jsOptimization = environment.defines[kDart2jsOptimization];
|
||||
final File outputJSFile = environment.buildDir.childFile('main.dart.js');
|
||||
final bool csp = environment.defines[kCspMode] == 'true';
|
||||
|
||||
final ProcessResult javaScriptResult = await globals.processManager.run(<String>[
|
||||
globals.artifacts.getArtifactPath(Artifact.engineDartBinary),
|
||||
'--disable-dart-dev',
|
||||
globals.artifacts.getArtifactPath(Artifact.dart2jsSnapshot),
|
||||
'--libraries-spec=$specPath',
|
||||
...?extraFrontEndOptions,
|
||||
if (dart2jsOptimization != null)
|
||||
'-$dart2jsOptimization'
|
||||
else
|
||||
'-O4',
|
||||
if (buildMode == BuildMode.profile)
|
||||
'-Ddart.vm.profile=true'
|
||||
else
|
||||
'-Ddart.vm.product=true',
|
||||
for (final String dartDefine in dartDefines)
|
||||
'-D$dartDefine',
|
||||
if (buildMode == BuildMode.profile)
|
||||
'--no-minify',
|
||||
if (csp)
|
||||
'--csp',
|
||||
...sharedCommandOptions,
|
||||
if (dart2jsOptimization != null) '-$dart2jsOptimization' else '-O4',
|
||||
if (buildMode == BuildMode.profile) '--no-minify',
|
||||
if (csp) '--csp',
|
||||
'-o',
|
||||
outputFile.path,
|
||||
environment.buildDir.childFile('app.dill').path,
|
||||
outputJSFile.path,
|
||||
environment.buildDir.childFile('app.dill').path, // dartfile
|
||||
]);
|
||||
if (javaScriptResult.exitCode != 0) {
|
||||
throw Exception(javaScriptResult.stdout + javaScriptResult.stderr);
|
||||
@@ -228,7 +212,7 @@ class Dart2JSTarget extends Target {
|
||||
);
|
||||
final Depfile depfile = depfileService.parseDart2js(
|
||||
environment.buildDir.childFile('app.dill.deps'),
|
||||
outputFile,
|
||||
outputJSFile,
|
||||
);
|
||||
depfileService.writeToFile(
|
||||
depfile,
|
||||
|
||||
@@ -225,10 +225,10 @@ void main() {
|
||||
processManager.addCommand(FakeCommand(
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'-Ddart.vm.profile=true',
|
||||
'-o',
|
||||
environment.buildDir.childFile('app.dill').absolute.path,
|
||||
'--packages=.packages',
|
||||
'-Ddart.vm.profile=true',
|
||||
'--cfe-only',
|
||||
environment.buildDir.childFile('main.dart').absolute.path,
|
||||
]
|
||||
@@ -236,8 +236,8 @@ void main() {
|
||||
processManager.addCommand(FakeCommand(
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'-O4',
|
||||
'-Ddart.vm.profile=true',
|
||||
'-O4',
|
||||
'--no-minify',
|
||||
'--csp',
|
||||
'-o',
|
||||
@@ -259,10 +259,10 @@ void main() {
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'--enable-experiment=non-nullable',
|
||||
'-Ddart.vm.profile=true',
|
||||
'-o',
|
||||
environment.buildDir.childFile('app.dill').absolute.path,
|
||||
'--packages=.packages',
|
||||
'-Ddart.vm.profile=true',
|
||||
'--cfe-only',
|
||||
environment.buildDir.childFile('main.dart').absolute.path,
|
||||
]
|
||||
@@ -271,8 +271,8 @@ void main() {
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'--enable-experiment=non-nullable',
|
||||
'-O4',
|
||||
'-Ddart.vm.profile=true',
|
||||
'-O4',
|
||||
'--no-minify',
|
||||
'-o',
|
||||
environment.buildDir.childFile('main.dart.js').absolute.path,
|
||||
@@ -290,10 +290,10 @@ void main() {
|
||||
processManager.addCommand(FakeCommand(
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'-Ddart.vm.profile=true',
|
||||
'-o',
|
||||
environment.buildDir.childFile('app.dill').absolute.path,
|
||||
'--packages=.packages',
|
||||
'-Ddart.vm.profile=true',
|
||||
'--cfe-only',
|
||||
environment.buildDir.childFile('main.dart').absolute.path,
|
||||
]
|
||||
@@ -301,8 +301,8 @@ void main() {
|
||||
processManager.addCommand(FakeCommand(
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'-O4',
|
||||
'-Ddart.vm.profile=true',
|
||||
'-O4',
|
||||
'--no-minify',
|
||||
'-o',
|
||||
environment.buildDir.childFile('main.dart.js').absolute.path,
|
||||
@@ -320,10 +320,10 @@ void main() {
|
||||
processManager.addCommand(FakeCommand(
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'-Ddart.vm.product=true',
|
||||
'-o',
|
||||
environment.buildDir.childFile('app.dill').absolute.path,
|
||||
'--packages=.packages',
|
||||
'-Ddart.vm.product=true',
|
||||
'--cfe-only',
|
||||
environment.buildDir.childFile('main.dart').absolute.path,
|
||||
]
|
||||
@@ -331,8 +331,8 @@ void main() {
|
||||
processManager.addCommand(FakeCommand(
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'-O4',
|
||||
'-Ddart.vm.product=true',
|
||||
'-O4',
|
||||
'-o',
|
||||
environment.buildDir.childFile('main.dart.js').absolute.path,
|
||||
environment.buildDir.childFile('app.dill').absolute.path,
|
||||
@@ -350,10 +350,10 @@ void main() {
|
||||
processManager.addCommand(FakeCommand(
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'-Ddart.vm.product=true',
|
||||
'-o',
|
||||
environment.buildDir.childFile('app.dill').absolute.path,
|
||||
'--packages=.packages',
|
||||
'-Ddart.vm.product=true',
|
||||
'--cfe-only',
|
||||
environment.buildDir.childFile('main.dart').absolute.path,
|
||||
]
|
||||
@@ -361,8 +361,8 @@ void main() {
|
||||
processManager.addCommand(FakeCommand(
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'-O3',
|
||||
'-Ddart.vm.product=true',
|
||||
'-O3',
|
||||
'-o',
|
||||
environment.buildDir.childFile('main.dart.js').absolute.path,
|
||||
environment.buildDir.childFile('app.dill').absolute.path,
|
||||
@@ -399,12 +399,12 @@ void main() {
|
||||
processManager.addCommand(FakeCommand(
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'-o',
|
||||
environment.buildDir.childFile('app.dill').absolute.path,
|
||||
'--packages=.packages',
|
||||
'-Ddart.vm.product=true',
|
||||
'-DFOO=bar',
|
||||
'-DBAZ=qux',
|
||||
'-o',
|
||||
environment.buildDir.childFile('app.dill').absolute.path,
|
||||
'--packages=.packages',
|
||||
'--cfe-only',
|
||||
environment.buildDir.childFile('main.dart').absolute.path,
|
||||
]
|
||||
@@ -412,10 +412,10 @@ void main() {
|
||||
processManager.addCommand(FakeCommand(
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'-O4',
|
||||
'-Ddart.vm.product=true',
|
||||
'-DFOO=bar',
|
||||
'-DBAZ=qux',
|
||||
'-O4',
|
||||
'-o',
|
||||
environment.buildDir.childFile('main.dart.js').absolute.path,
|
||||
environment.buildDir.childFile('app.dill').absolute.path,
|
||||
@@ -433,12 +433,12 @@ void main() {
|
||||
processManager.addCommand(FakeCommand(
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'-o',
|
||||
environment.buildDir.childFile('app.dill').absolute.path,
|
||||
'--packages=.packages',
|
||||
'-Ddart.vm.profile=true',
|
||||
'-DFOO=bar',
|
||||
'-DBAZ=qux',
|
||||
'-o',
|
||||
environment.buildDir.childFile('app.dill').absolute.path,
|
||||
'--packages=.packages',
|
||||
'--cfe-only',
|
||||
environment.buildDir.childFile('main.dart').absolute.path,
|
||||
]
|
||||
@@ -446,10 +446,10 @@ void main() {
|
||||
processManager.addCommand(FakeCommand(
|
||||
command: <String>[
|
||||
...kDart2jsLinuxArgs,
|
||||
'-O4',
|
||||
'-Ddart.vm.profile=true',
|
||||
'-DFOO=bar',
|
||||
'-DBAZ=qux',
|
||||
'-O4',
|
||||
'--no-minify',
|
||||
'-o',
|
||||
environment.buildDir.childFile('main.dart.js').absolute.path,
|
||||
|
||||
Reference in New Issue
Block a user