diff --git a/packages/pigeon/CHANGELOG.md b/packages/pigeon/CHANGELOG.md index e1ea0c303d..a930b26209 100644 --- a/packages/pigeon/CHANGELOG.md +++ b/packages/pigeon/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.1.13 + +* Fixed execution on Windows with certain setups where Dart didn't allow + backslashes in `import` statements. + ## 0.1.12 * Fixed assert failure with creating a PlatformException as a result of an diff --git a/packages/pigeon/bin/pigeon.dart b/packages/pigeon/bin/pigeon.dart index 6f4a31376c..8c1742dedf 100644 --- a/packages/pigeon/bin/pigeon.dart +++ b/packages/pigeon/bin/pigeon.dart @@ -18,7 +18,11 @@ Future main(List args) async { final String rawInputPath = opts.input; final String absInputPath = File(rawInputPath).absolute.path; final String relInputPath = path.relative(absInputPath, from: tempDir.path); - importLine = 'import \'$relInputPath\';\n'; + + final List relInputComponents = path.split(relInputPath); + final path.Context context = path.Context(style: path.Style.posix); + final String posixRelInputPath = context.joinAll(relInputComponents); + importLine = 'import \'$posixRelInputPath\';\n'; } final String code = """$importLine import 'dart:io'; diff --git a/packages/pigeon/lib/generator_tools.dart b/packages/pigeon/lib/generator_tools.dart index 3d781e2e9e..f7d2b5b14d 100644 --- a/packages/pigeon/lib/generator_tools.dart +++ b/packages/pigeon/lib/generator_tools.dart @@ -8,7 +8,7 @@ import 'dart:mirrors'; import 'ast.dart'; /// The current version of pigeon. -const String pigeonVersion = '0.1.12'; +const String pigeonVersion = '0.1.13'; /// Read all the content from [stdin] to a String. String readStdin() { diff --git a/packages/pigeon/pubspec.yaml b/packages/pigeon/pubspec.yaml index 6a4034a719..bab62fc86d 100644 --- a/packages/pigeon/pubspec.yaml +++ b/packages/pigeon/pubspec.yaml @@ -1,5 +1,5 @@ name: pigeon -version: 0.1.12 +version: 0.1.13 description: Code generator tool to make communication between Flutter and the host platform type-safe and easier. homepage: https://github.com/flutter/packages/tree/master/packages/pigeon dependencies: