chore(deps): update dependency ffigen to v16 #773
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^8.0.0
->^16.0.0
Release Notes
dart-lang/native (ffigen)
v16.0.0
package:dart_style
directly to format generated Dart code, rather thansubprocessing to
dart format
.typealiases were treated as non-null.
https://github.com/dart-lang/native/issues/11361136
inserting their methods into the interface, generate Dart extension methods.
For instance methods this makes no difference to user code (as long as the
extension methods are imported correctly). But for static methods it means
MyInterface.staticMethod
must change toMyCategory.staticMethod
.Categories are included/excluded by the
objc-categories
config entry.include-transitive-objc-interfaces
,include-transitive-objc-protocols
,and
include-transitive-objc-categories
config flags, which control whethertransitively included ObjC interfaces, protocols, and categories are
generated.
include-transitive-objc-interfaces
defaults to false,which changes the default behavior from pulling in all transitive deps, to
generating them as stubs.
include-transitive-objc-protocols
defaults tofalse, and
include-transitive-objc-categories
defaults to true, but theseboth replicate the existing behavior.
mismatches between ObjC and Dart's inheritance rules.
v15.0.0
ObjCBlock
trampolines to reduce generated ObjC code.package:objective_c
.required and optional methods are included. Optional methods will throw an
exception if the method isn't implemented.
protocols that are included by the config filters. This is breaking because
previously super protocols would automatically get implementation bindings,
rather than just being incorporated into the child protocol. If you want those
implementation bindings, you may need to add the super protocol to your
objc-protocols
filters.ObjC but before the invocation was received by Dahttps://github.com/dart-lang/native/issues/1571ues/1571
sort:
config option now affects ObjC interface/protocol methods.NSRange
was not being imported from package:objective_c:https://github.com/dart-lang/native/issues/11801180
taking a struct return pointer.
v14.0.1
ObjCBlock
's type arguments:https://github.com/dart-lang/native/issues/15371537
v14.0.0
void generate(Config config)
. MakeConfig
an implementatble interface,rather than needing to be parsed from yaml.
external-versions
config option. Setting the minimum targetversion will omit APIs from the generated bindings if they were deprecated
before this version.
correct Dart wrapper types, instead of the raw C-style pointers.
assetId
under ffi-native toasset-id
to follow dash-case.ObjCBlock<Ret Function(Args...)>
, instead of the codegennedObjCBlock_...
wrapper. The wrapper is now a non-constructible set of utilmethods for constructing
ObjCBlock
.Reference Counting), and must now be compiled with ARC enabled. For example,
if you had a line like
s.requires_arc = []
in your podspec, this shouldeither be removed, or you should add the ffigen generated ObjC code to the
list. If you're compiling directly with clang, add the
-fobjc-arc
flag.as Dart enum values as well. For example, with an enum
MyEnum
and a structwith a member
MyEnum enumMember
, two members are generated:enumMemberAsInt
which contains the original integer value, and
enumMember
, which is of typeMyEnum
. If you configure the enum to be generated as Dart integers, thisnew behavior will not apply, and the struct member will be an integer as well.
sealed
classes as opposed to
abstract
classes.being handlhttps://github.com/dart-lang/native/issues/14461446
member-rename
option to ObjC interface and protocolmethods and properties.
member-filter
option that filters ObjC interface and protocol methodsand properties.
v13.0.0
id
type toObjCObjectBase
ratherthan
NSObject
, since not all ObjC classes inherit fromNSObject
. EgNSProxy
.fix a ref counting bhttps://github.com/dart-lang/native/issues/835/835.
be generated containing the trampoline. You must compile this .m file into
your package. If you already have a flutter plugin or build.dart, you can
simply add this generated file to that build.
output.objc-bindings
config option.of abstract classes with integer constants. Native enum members with the same
integer values are handled properly on the Dart side, and native functions
that use enums in their signatures now accept the generated enums on the Dart
side, instead of integer values. To opt out of this, use the
enums->as-int
option as specified in the README.
part of the ABI. Therefore FFIgen does a best-effort approach trying to mimic
the most common compilers for the various OS and architecture combinations.
To silence the warning set config
silence-enum-warning
totrue
.https://github.com/dart-lang/native/issues/10071007.
objc-protocols
config option to generate bindings for a protocol.built-in methods, or with types declared elsewhere in the generated bindings.
include-unused-typedefs
to allow generating typedefs that are notreferred to anywhere, the default option is
false
.package:dart_flutter_team_lints
.v12.0.0
ffi-native
option.ffi-native
option.retainAndReturnPointer
method to ObjC objects and blocks, and addcastFromPointer
method to blocks.-Wno-nullability-completeness
as default compiler option for MacOS.package:objective_c
in ObjC bindings.https://github.com/dart-lang/native/issues/1068ues/1068 is fixed).
NSString
have been moved intopackage:objective_c
.lib
argument anymore. Infact, ffigen won't even generate the native library class (unless it needs
to bind top level functions without using
@Native
). It is still necessaryto
DynamicLibrary.open
the dylib though, to load the classes and methods.longer contains the native library class, it means it isn't needed
anymore. So
final lib = FooNativeLib(DynamicLibrary.open('foo.dylib'));
must be changed to
DynamicLibrary.open('foo.dylib');
.lib
parameter from all ObjC object constructors and static method callsand block constructors.
NSString
are being used,package:objective_c
must be imported, as they won't be exported by thegenerated bindings.
formatting step happens. Defaults to true.
destroyed. Fihttps://github.com/dart-lang/native/issues/204/204
structs/unions
->dependency-only
is set toopaque
.v11.0.0
Compare Source
bindings to not be generated by default, since it may result in invalid
bindings if the compiler makes a wrong guess. A flag
--ignore-source-errors
(or yaml configignore-source-errors: true
)must be passed to change this behaviour.
const
in C.ffi-native
functions markedleaf
.v10.0.0
Compare Source
dart:ffi
features availablein Dart 3.2 and later.
NativeCallable.listener.
Pointer<NativeFunction<Function>>
, alsogenerate a typedef for the
Function
.asset
toassetId
forffi-native
.v9.0.1
Compare Source
v9.0.0
Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.