From 02510dd8665f5bfcda8b8dc85b26bbbf28b90d0c Mon Sep 17 00:00:00 2001 From: Kris Giesing Date: Wed, 18 Nov 2015 16:32:54 -0800 Subject: [PATCH] Allow run_mojo --android to specify location of flutter engine --- .../flutter_tools/lib/src/commands/run_mojo.dart | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/flutter_tools/lib/src/commands/run_mojo.dart b/packages/flutter_tools/lib/src/commands/run_mojo.dart index a8c9ba4011e..59e64c6705e 100644 --- a/packages/flutter_tools/lib/src/commands/run_mojo.dart +++ b/packages/flutter_tools/lib/src/commands/run_mojo.dart @@ -70,7 +70,8 @@ class RunMojoCommand extends FlutterCommand { BuildConfiguration _getCurrentHostConfig() { BuildConfiguration result; - TargetPlatform target = getCurrentHostPlatformAsTarget(); + TargetPlatform target = argResults['android'] ? + TargetPlatform.android : getCurrentHostPlatformAsTarget(); for (BuildConfiguration config in buildConfigurations) { if (config.targetPlatform == target) { result = config; @@ -87,20 +88,25 @@ class RunMojoCommand extends FlutterCommand { final String command = useDevtools ? _getDevtoolsPath() : _getMojoShellPath(); args.add(command); + BuildConfiguration config = _getCurrentHostConfig(); + if (argResults['android']) { args.add('--android'); - final String cloudStorageBaseUrl = ArtifactStore.getCloudStorageBaseUrl('android-arm'); final String appPath = _makePathAbsolute(bundlePath); final String appName = path.basename(appPath); final String appDir = path.dirname(appPath); args.add('http://app/$appName'); args.add('--map-origin=http://app/=$appDir'); - args.add('--map-origin=http://flutter/=$cloudStorageBaseUrl'); + if (config == null || config.type == BuildType.prebuilt) { + final String cloudStorageBaseUrl = ArtifactStore.getCloudStorageBaseUrl('android-arm'); + args.add('--map-origin=http://flutter/=$cloudStorageBaseUrl'); + } else { + args.add('--map-origin=http://flutter/=${config.buildDir}'); + } args.add('--url-mappings=mojo:flutter=http://flutter/flutter.mojo'); } else { final String appPath = _makePathAbsolute(bundlePath); String flutterPath; - BuildConfiguration config = _getCurrentHostConfig(); if (config == null || config.type == BuildType.prebuilt) { Artifact artifact = ArtifactStore.getArtifact(type: ArtifactType.mojo, targetPlatform: TargetPlatform.linux); flutterPath = _makePathAbsolute(await ArtifactStore.getPath(artifact));