13d6e487dSEvan Baconimport { resolveDeviceAsync } from './resolveDevice'; 23d6e487dSEvan Baconimport { GradleProps, resolveGradleProps } from './resolveGradleProps'; 33d6e487dSEvan Baconimport { LaunchProps, resolveLaunchPropsAsync } from './resolveLaunchProps'; 4*8a424bebSJames Ideimport { AndroidDeviceManager } from '../../start/platforms/android/AndroidDeviceManager'; 5*8a424bebSJames Ideimport { BundlerProps, resolveBundlerPropsAsync } from '../resolveBundlerProps'; 63d6e487dSEvan Bacon 73d6e487dSEvan Baconexport type Options = { 83d6e487dSEvan Bacon variant?: string; 93d6e487dSEvan Bacon device?: boolean | string; 103d6e487dSEvan Bacon port?: number; 113d6e487dSEvan Bacon bundler?: boolean; 123d6e487dSEvan Bacon install?: boolean; 133d6e487dSEvan Bacon buildCache?: boolean; 143d6e487dSEvan Bacon}; 153d6e487dSEvan Bacon 163d6e487dSEvan Baconexport type ResolvedOptions = GradleProps & 173d6e487dSEvan Bacon BundlerProps & 183d6e487dSEvan Bacon LaunchProps & { 193d6e487dSEvan Bacon variant: string; 203d6e487dSEvan Bacon buildCache: boolean; 213d6e487dSEvan Bacon device: AndroidDeviceManager; 223d6e487dSEvan Bacon install: boolean; 233d6e487dSEvan Bacon }; 243d6e487dSEvan Bacon 253d6e487dSEvan Baconexport async function resolveOptionsAsync( 263d6e487dSEvan Bacon projectRoot: string, 273d6e487dSEvan Bacon options: Options 283d6e487dSEvan Bacon): Promise<ResolvedOptions> { 293d6e487dSEvan Bacon return { 303d6e487dSEvan Bacon ...(await resolveBundlerPropsAsync(projectRoot, options)), 313d6e487dSEvan Bacon ...resolveGradleProps(projectRoot, options), 323d6e487dSEvan Bacon ...(await resolveLaunchPropsAsync(projectRoot)), 333d6e487dSEvan Bacon variant: options.variant ?? 'debug', 343d6e487dSEvan Bacon // Resolve the device based on the provided device id or prompt 353d6e487dSEvan Bacon // from a list of devices (connected or simulated) that are filtered by the scheme. 363d6e487dSEvan Bacon device: await resolveDeviceAsync(options.device), 373d6e487dSEvan Bacon buildCache: !!options.buildCache, 383d6e487dSEvan Bacon install: !!options.install, 393d6e487dSEvan Bacon }; 403d6e487dSEvan Bacon} 41