diff --git a/packages/realm_dart/lib/src/cli/install/install_command.dart b/packages/realm_dart/lib/src/cli/install/install_command.dart index 2de72e9b4..3b059ef16 100644 --- a/packages/realm_dart/lib/src/cli/install/install_command.dart +++ b/packages/realm_dart/lib/src/cli/install/install_command.dart @@ -31,14 +31,15 @@ class InstallCommand extends Command { populateOptionsParser(argParser); } - Directory getBinaryPath(String realmPackagePath, {required bool isFlutter}) { + Directory getBinaryPath(Directory realmPackagePath, {required bool isFlutter}) { if (isFlutter) { + final root = realmPackagePath.path; return Directory(switch (options.targetOsType) { - TargetOsType.android => path.join(realmPackagePath, 'android', 'src', 'main', 'cpp', 'lib'), - TargetOsType.ios => path.join(realmPackagePath, 'ios'), - TargetOsType.macos => path.join(realmPackagePath, 'macos'), - TargetOsType.linux => path.join(realmPackagePath, 'linux', 'binary', 'linux'), - TargetOsType.windows => path.join(realmPackagePath, 'windows', 'binary', 'windows'), + TargetOsType.android => path.join(root, 'android', 'src', 'main', 'cpp', 'lib'), + TargetOsType.ios => path.join(root, 'ios'), + TargetOsType.macos => path.join(root, 'macos'), + TargetOsType.linux => path.join(root, 'linux', 'binary', 'linux'), + TargetOsType.windows => path.join(root, 'windows', 'binary', 'windows'), _ => throw Exception('Unsupported target OS type for Flutter: ${options.targetOsType}') }); } @@ -99,7 +100,7 @@ class InstallCommand extends Command { await versionFile.writeAsString(version.toString()); } - Future getPackagePath(String name) async { + Future getPackagePath(String name) async { final packageConfig = await findPackageConfig(Directory.current); if (packageConfig == null) { abort('Run `dart pub get`'); @@ -108,7 +109,7 @@ class InstallCommand extends Command { if (package == null) { abort('$name package not found in dependencies. Add $name package to your pubspec.yaml'); } - return package.root.toFilePath(); + return Directory.fromUri(package.root); } Future parsePubspec(File file) async { @@ -139,7 +140,7 @@ class InstallCommand extends Command { } final realmPackagePath = await getPackagePath(flavorName); - final realmPubspec = await parsePubspec(File(path.join(realmPackagePath, "pubspec.yaml"))); + final realmPubspec = await parsePubspec(File(path.join(realmPackagePath.path, "pubspec.yaml"))); final binaryPath = getBinaryPath(realmPackagePath, isFlutter: flavor == Flavor.flutter); print(binaryPath);