Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
dartPackageName
  • Loading branch information
tarrinneal committed Jul 21, 2023
commit db1478b5d5d469a63044599be15d158572ff1ba6
2 changes: 1 addition & 1 deletion packages/pigeon/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## 10.1.4

* Adds package name to method channel strings to avoid potential collisions between plugins.
* Adds packageName option to `pigeonOptions`.
* Adds dartPackageName option to `pigeonOptions`.

## 10.1.3

Expand Down
2 changes: 1 addition & 1 deletion packages/pigeon/example/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ needed for your project.
// Set this to a unique prefix for your plugin or application, per Objective-C naming conventions.
objcOptions: ObjcOptions(prefix: 'PGN'),
copyrightHeader: 'pigeons/copyright.txt',
packageName: 'pigeon_example_package',
dartPackageName: 'pigeon_example_package',
))
```
Then make a simple call to run pigeon on the Dart file containing your definitions.
Expand Down
2 changes: 1 addition & 1 deletion packages/pigeon/example/app/pigeons/messages.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import 'package:pigeon/pigeon.dart';
// Set this to a unique prefix for your plugin or application, per Objective-C naming conventions.
objcOptions: ObjcOptions(prefix: 'PGN'),
copyrightHeader: 'pigeons/copyright.txt',
packageName: 'pigeon_example_package',
dartPackageName: 'pigeon_example_package',
))
// #enddocregion config

Expand Down
51 changes: 26 additions & 25 deletions packages/pigeon/lib/cpp_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ class CppGenerator extends Generator<OutputFileOptions<CppOptions>> {
OutputFileOptions<CppOptions> generatorOptions,
Root root,
StringSink sink, {
required String packageName,
required String dartPackageName,
}) {
assert(generatorOptions.fileType == FileType.header ||
generatorOptions.fileType == FileType.source);
Expand All @@ -92,14 +92,14 @@ class CppGenerator extends Generator<OutputFileOptions<CppOptions>> {
generatorOptions.languageOptions,
root,
sink,
packageName: packageName,
dartPackageName: dartPackageName,
);
} else if (generatorOptions.fileType == FileType.source) {
const CppSourceGenerator().generate(
generatorOptions.languageOptions,
root,
sink,
packageName: packageName,
dartPackageName: dartPackageName,
);
}
}
Expand All @@ -115,7 +115,7 @@ class CppHeaderGenerator extends StructuredGenerator<CppOptions> {
CppOptions generatorOptions,
Root root,
Indent indent, {
required String packageName,
required String dartPackageName,
}) {
if (generatorOptions.copyrightHeader != null) {
addLines(indent, generatorOptions.copyrightHeader!, linePrefix: '// ');
Expand All @@ -130,7 +130,7 @@ class CppHeaderGenerator extends StructuredGenerator<CppOptions> {
CppOptions generatorOptions,
Root root,
Indent indent, {
required String packageName,
required String dartPackageName,
}) {
final String guardName = _getGuardName(generatorOptions.headerIncludePath);
indent.writeln('#ifndef $guardName');
Expand Down Expand Up @@ -168,7 +168,7 @@ class CppHeaderGenerator extends StructuredGenerator<CppOptions> {
Root root,
Indent indent,
Enum anEnum, {
required String packageName,
required String dartPackageName,
}) {
indent.newln();
addDocumentationComments(
Expand All @@ -189,7 +189,7 @@ class CppHeaderGenerator extends StructuredGenerator<CppOptions> {
CppOptions generatorOptions,
Root root,
Indent indent, {
required String packageName,
required String dartPackageName,
}) {
_writeErrorOr(indent, friends: root.apis.map((Api api) => api.name));
}
Expand All @@ -200,7 +200,7 @@ class CppHeaderGenerator extends StructuredGenerator<CppOptions> {
Root root,
Indent indent,
Class klass, {
required String packageName,
required String dartPackageName,
}) {
// When generating for a Pigeon unit test, add a test fixture friend class to
// allow unit testing private methods, since testing serialization via public
Expand Down Expand Up @@ -307,7 +307,7 @@ class CppHeaderGenerator extends StructuredGenerator<CppOptions> {
Root root,
Indent indent,
Api api, {
required String packageName,
required String dartPackageName,
}) {
assert(api.location == ApiLocation.flutter);
if (getCodecClasses(api, root).isNotEmpty) {
Expand Down Expand Up @@ -359,7 +359,7 @@ class CppHeaderGenerator extends StructuredGenerator<CppOptions> {
Root root,
Indent indent,
Api api, {
required String packageName,
required String dartPackageName,
}) {
assert(api.location == ApiLocation.host);
if (getCodecClasses(api, root).isNotEmpty) {
Expand Down Expand Up @@ -551,7 +551,7 @@ $friendLines
CppOptions generatorOptions,
Root root,
Indent indent, {
required String packageName,
required String dartPackageName,
}) {
if (generatorOptions.namespace != null) {
indent.writeln('} // namespace ${generatorOptions.namespace}');
Expand All @@ -571,7 +571,7 @@ class CppSourceGenerator extends StructuredGenerator<CppOptions> {
CppOptions generatorOptions,
Root root,
Indent indent, {
required String packageName,
required String dartPackageName,
}) {
if (generatorOptions.copyrightHeader != null) {
addLines(indent, generatorOptions.copyrightHeader!, linePrefix: '// ');
Expand All @@ -588,7 +588,7 @@ class CppSourceGenerator extends StructuredGenerator<CppOptions> {
CppOptions generatorOptions,
Root root,
Indent indent, {
required String packageName,
required String dartPackageName,
}) {
indent.writeln('#include "${generatorOptions.headerIncludePath}"');
indent.newln();
Expand All @@ -612,7 +612,7 @@ class CppSourceGenerator extends StructuredGenerator<CppOptions> {
CppOptions generatorOptions,
Root root,
Indent indent, {
required String packageName,
required String dartPackageName,
}) {
if (generatorOptions.namespace != null) {
indent.writeln('namespace ${generatorOptions.namespace} {');
Expand All @@ -624,7 +624,7 @@ class CppSourceGenerator extends StructuredGenerator<CppOptions> {
CppOptions generatorOptions,
Root root,
Indent indent, {
required String packageName,
required String dartPackageName,
}) {
final List<String> usingDirectives = <String>[
'flutter::BasicMessageChannel',
Expand All @@ -646,7 +646,7 @@ class CppSourceGenerator extends StructuredGenerator<CppOptions> {
Root root,
Indent indent,
Class klass, {
required String packageName,
required String dartPackageName,
}) {
final Set<String> customClassNames =
root.classes.map((Class x) => x.name).toSet();
Expand Down Expand Up @@ -680,7 +680,7 @@ class CppSourceGenerator extends StructuredGenerator<CppOptions> {
klass,
customClassNames,
customEnumNames,
packageName: packageName,
dartPackageName: dartPackageName,
);

// Deserialization.
Expand All @@ -691,7 +691,7 @@ class CppSourceGenerator extends StructuredGenerator<CppOptions> {
klass,
customClassNames,
customEnumNames,
packageName: packageName,
dartPackageName: dartPackageName,
);
}

Expand All @@ -703,7 +703,7 @@ class CppSourceGenerator extends StructuredGenerator<CppOptions> {
Class klass,
Set<String> customClassNames,
Set<String> customEnumNames, {
required String packageName,
required String dartPackageName,
}) {
_writeFunctionDefinition(indent, 'ToEncodableList',
scope: klass.name,
Expand Down Expand Up @@ -731,7 +731,7 @@ class CppSourceGenerator extends StructuredGenerator<CppOptions> {
Class klass,
Set<String> customClassNames,
Set<String> customEnumNames, {
required String packageName,
required String dartPackageName,
}) {
// Returns the expression to convert the given EncodableValue to a field
// value.
Expand Down Expand Up @@ -809,7 +809,7 @@ class CppSourceGenerator extends StructuredGenerator<CppOptions> {
Root root,
Indent indent,
Api api, {
required String packageName,
required String dartPackageName,
}) {
assert(api.location == ApiLocation.flutter);
if (getCodecClasses(api, root).isNotEmpty) {
Expand All @@ -831,7 +831,7 @@ class CppSourceGenerator extends StructuredGenerator<CppOptions> {
'return flutter::StandardMessageCodec::GetInstance(&$codeSerializerName::GetInstance());');
});
for (final Method func in api.methods) {
final String channelName = makeChannelName(api, func, packageName);
final String channelName = makeChannelName(api, func, dartPackageName);
final HostDatatype returnType = getHostDatatype(func.returnType,
root.classes, root.enums, _shortBaseCppTypeForBuiltinDartType);

Expand Down Expand Up @@ -904,7 +904,7 @@ class CppSourceGenerator extends StructuredGenerator<CppOptions> {
Root root,
Indent indent,
Api api, {
required String packageName,
required String dartPackageName,
}) {
assert(api.location == ApiLocation.host);
if (getCodecClasses(api, root).isNotEmpty) {
Expand All @@ -931,7 +931,8 @@ class CppSourceGenerator extends StructuredGenerator<CppOptions> {
'${api.name}* api'
], body: () {
for (final Method method in api.methods) {
final String channelName = makeChannelName(api, method, packageName);
final String channelName =
makeChannelName(api, method, dartPackageName);
indent.writeScoped('{', '}', () {
indent.writeln(
'auto channel = std::make_unique<BasicMessageChannel<>>(binary_messenger, '
Expand Down Expand Up @@ -1243,7 +1244,7 @@ ${prefix}reply(EncodableValue(std::move(wrapped)));''';
CppOptions generatorOptions,
Root root,
Indent indent, {
required String packageName,
required String dartPackageName,
}) {
if (generatorOptions.namespace != null) {
indent.writeln('} // namespace ${generatorOptions.namespace}');
Expand Down
33 changes: 17 additions & 16 deletions packages/pigeon/lib/dart_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ class DartGenerator extends StructuredGenerator<DartOptions> {
DartOptions generatorOptions,
Root root,
Indent indent, {
required String packageName,
required String dartPackageName,
}) {
if (generatorOptions.copyrightHeader != null) {
addLines(indent, generatorOptions.copyrightHeader!, linePrefix: '// ');
Expand All @@ -95,7 +95,7 @@ class DartGenerator extends StructuredGenerator<DartOptions> {
DartOptions generatorOptions,
Root root,
Indent indent, {
required String packageName,
required String dartPackageName,
}) {
indent.writeln("import 'dart:async';");
indent.writeln(
Expand All @@ -113,7 +113,7 @@ class DartGenerator extends StructuredGenerator<DartOptions> {
Root root,
Indent indent,
Enum anEnum, {
required String packageName,
required String dartPackageName,
}) {
indent.newln();
addDocumentationComments(
Expand All @@ -134,7 +134,7 @@ class DartGenerator extends StructuredGenerator<DartOptions> {
Root root,
Indent indent,
Class klass, {
required String packageName,
required String dartPackageName,
}) {
final Set<String> customClassNames =
root.classes.map((Class x) => x.name).toSet();
Expand Down Expand Up @@ -164,7 +164,7 @@ class DartGenerator extends StructuredGenerator<DartOptions> {
klass,
customClassNames,
customEnumNames,
packageName: packageName,
dartPackageName: dartPackageName,
);
indent.newln();
writeClassDecode(
Expand All @@ -174,7 +174,7 @@ class DartGenerator extends StructuredGenerator<DartOptions> {
klass,
customClassNames,
customEnumNames,
packageName: packageName,
dartPackageName: dartPackageName,
);
});
}
Expand All @@ -197,7 +197,7 @@ class DartGenerator extends StructuredGenerator<DartOptions> {
Class klass,
Set<String> customClassNames,
Set<String> customEnumNames, {
required String packageName,
required String dartPackageName,
}) {
indent.write('Object encode() ');
indent.addScoped('{', '}', () {
Expand Down Expand Up @@ -231,7 +231,7 @@ class DartGenerator extends StructuredGenerator<DartOptions> {
Class klass,
Set<String> customClassNames,
Set<String> customEnumNames, {
required String packageName,
required String dartPackageName,
}) {
void writeValueDecode(NamedType field, int index) {
final String resultAt = 'result[$index]';
Expand Down Expand Up @@ -311,7 +311,7 @@ $resultAt != null
Api api, {
String Function(Method)? channelNameFunc,
bool isMockHandler = false,
required String packageName,
required String dartPackageName,
}) {
assert(api.location == ApiLocation.flutter);
final List<String> customEnumNames =
Expand Down Expand Up @@ -359,7 +359,7 @@ $resultAt != null
'final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(',
);
final String channelName = channelNameFunc == null
? makeChannelName(api, func, packageName)
? makeChannelName(api, func, dartPackageName)
: channelNameFunc(func);
indent.nest(2, () {
indent.writeln("'$channelName', codec,");
Expand Down Expand Up @@ -479,7 +479,7 @@ $resultAt != null
Root root,
Indent indent,
Api api, {
required String packageName,
required String dartPackageName,
}) {
assert(api.location == ApiLocation.host);
String codecName = _standardMessageCodec;
Expand Down Expand Up @@ -536,7 +536,8 @@ final BinaryMessenger? _binaryMessenger;
'Future<${_addGenericTypesNullable(func.returnType)}> ${func.name}($argSignature) async ',
);
indent.addScoped('{', '}', () {
final String channelName = makeChannelName(api, func, packageName);
final String channelName =
makeChannelName(api, func, dartPackageName);
indent.writeln(
'final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(');
indent.nest(2, () {
Expand Down Expand Up @@ -597,7 +598,7 @@ if (replyList == null) {
DartOptions generatorOptions,
Root root,
StringSink sink, {
required String packageName,
required String dartPackageName,
}) {
final Indent indent = Indent(sink);
final String sourceOutPath = generatorOptions.sourceOutPath ?? '';
Expand All @@ -619,7 +620,7 @@ if (replyList == null) {
} else {
final String path =
relativeDartPath.replaceFirst(RegExp(r'^.*/lib/'), '');
indent.writeln("import 'package:$packageName/$path';");
indent.writeln("import 'package:$dartPackageName/$path';");
}
for (final Api api in root.apis) {
if (api.location == ApiLocation.host && api.dartHostTestHandler != null) {
Expand All @@ -636,9 +637,9 @@ if (replyList == null) {
indent,
mockApi,
channelNameFunc: (Method func) =>
makeChannelName(api, func, packageName),
makeChannelName(api, func, dartPackageName),
isMockHandler: true,
packageName: packageName,
dartPackageName: dartPackageName,
);
}
}
Expand Down
Loading