jnigen 0.9.1
jnigen: ^0.9.1 copied to clipboard
A Dart bindings generator for Java and Kotlin that uses JNI under the hood to interop with Java virtual machine.
0.9.1 #
- Fixed a bug in summarizer where standard output would use the default encoding of the operating system and therefore breaking the UTF-8 decoding for some locales.
0.9.0 #
- Breaking Change (#660): Removed C-based bindings. Now all bindings are Dart-only.
- Expanded constraint on
package:cli_configto allow^0.2.0. - Ignored
use_super_parameterslint in generated files. - Fixed a bug in summarizer and improved the display of errors.
0.8.0 #
- Breaking Change (#981):
fromRefis nowfromReference, and it gets aJReferenceinstead of aPointer<Void>.- Check out the internal changes to
JObjectinpackage:jni's changelog.
- Breaking Change: The generated impl class for interfaces is now an
interface. - Breaking Change (#792]):
static final Stringfields get converted toJStringgetters instead ofstatic const Stringfields in Dart. - Fixed a bug where a package would either be searched from sources or classes but not both.
- Fixed a bug where
<clinit>(class initialization method) which is not necessary to be exposed was generated.
0.7.0 #
- Breaking Change (#563):
Added
JBufferandJByteBufferclasses as default classes forjava.nio.Bufferandjava.nio.ByteBufferrespectively. - Breaking Change: Made the type classes
final. - Added
ignore_for_file: lines_longer_than_80_charsto the generated file preamble. - Added an explicit cast in generated
<Interface>.implementcode to allowdart analyzeto pass whenstrict-castsis set.
0.6.0 #
- Breaking Change (#707):
Renamed
delete*torelease*. - Breaking Change (#585):
Renamed constructors from
ctor1,ctor2, ... tonew1,new2, ... - Breaking Change: Specifying a class always pulls in nested classes by default. If a nested class is specified in config, it will be an error.
- Breaking Change: Removed
suspend_fun_to_asyncflag from the config. It's now happening by default since we read the Kotlin's metadata and reliably identify thesuspend funs. - Fixed a bug where the nested classes would be generated incorrectly depending on the backend used for generation.
- Fixed a bug where ASM backend would produce the incorrect parent for multi-level nested classes.
- Fixed a bug where the backends would produce different descriptors for the same method.
- Added
enable_experimentoption to config. - Created an experiment called
interface_implementationwhich creates a.implementmethod for interfaces, so you can implement them using Dart. - Save all
jnigenlogs to a file in.dart_tool/jnigen/logs/. This is useful for debugging.
0.5.0 #
- Breaking Change (#746):
Removed support for
importMapin favor of the newly added interop mechanism with importing yaml files. - Breaking Change (#746):
java.util.Set,java.util.Map,java.util.List,java.util.Iteratorand the boxed types likejava.lang.Integer,java.lang.Double, ... will be generated as their corresponding classes inpackage:jni. - Strings now use UTF16.
0.4.0 #
- Breaking Change (#705): Type arguments are now named instead of positional.
- Type parameters can now be inferred when possible.
- Fixed a bug where passing a
longargument truncated it tointin pure dart bindings. - Removed array extensions from the generated code.
- Added the ability to use source dependencies from Gradle.
- Fixed an issue with the field setter.
- Fixed an issue where exceptions were not properly thrown in pure Dart bindings.
0.3.0 #
- Added the option to convert Kotlin
suspend funto Dart async methods. Addsuspend_fun_to_async: truetojnigen.yaml.
0.2.0 #
- Support generating bindings for generics.
0.1.1 #
- Windows support for running tests and examples on development machines.
0.1.0 #
- Initial version: Basic bindings generation, maven and android utilities