Tags: heremaps/gluecodium
Tags
Release version 13.16.0 (#1766) Features: * Dart: added support for type aliases (typedefs). Bug-fixes: * Dart: removed redundant white-spaces from rendered comments for constructors of structures. Adjusted the rendered comments to list parameters using bullet points to improve readability. Signed-off-by: Patryk Wrobel <183546751+pwrobeldev@users.noreply.github.com>
Release version 13.15.1 (#1763) Bug-fixes: * Kotlin: fixed warnings from the generated `NativeBase.kt` file related to redundant imports. Fixed warnings related to usage of `!!` operator on non-nullable type in the generated code related to serialization. * Kotlin: implemented proper handling of custom platform names for accessors of properties. Before this release the generated JNI symbol did not match the signature generated by Kotlin compiler when custom name was used. The problem is fixed via usage of `@JvmName()` for getters and setters. * Validation: the attributes mismatch validator for Kotlin and Java attributes takes into account also accessors of properties and function parameters. Before this release such problems were not reported. * CMake: fixed the problem with regeneration of files when `GLUECODIUM_FORCE_USAGE_OF_JNI_FROM_JAVA_GENERATOR` was set. Before this release files were regenerated even if they did not need to be regenerated. Signed-off-by: Patryk Wrobel <183546751+pwrobeldev@users.noreply.github.com>
Release version 13.15.0 (#1756) Features - CMake: the limitation which disallowed generating both 'android' and 'android-kotlin' via CMake is lifted via 'GLUECODIUM_FORCE_USAGE_OF_JNI_FROM_JAVA_GENERATOR'. When the new optional property is set to 'true', then usage of both generators is allowed. However, the generated Kotlin code uses JNI layer generated by Java generator. Therefore, it is crucial to ensure that LIME model for both Java and Kotlin is same -- that's responsibility of the user. - Validation: the warnings related to android attributes mismatch, which are enabled via '-enableandroidattributesmismatchwarning' can be treated as errors via '-werror=AndroidAttributesMismatch'. Bug fixes for Kotlin: - Fixed bug related to redundant generation of properties in 'Impl' class for nested lambda. Prior to this fix the properties were duplicated and caused compilation problems. - Added '@JvmField' annotation to 'value' field of generated enumerations. Without that annotation the field had to be accessed via getter when Kotlin code was consumed by Java. Signed-off-by: Patryk Wrobel <183546751+pwrobeldev@users.noreply.github.com>
Release version 13.14.0 (#1748) Features: * The new version of Gluecodium brings `android-kotlin` generator, which allows rendering Kotlin+JNI files that can be used for Android. The initial release covers generation of all available LIME element types. The supported attributes are the same as for Java. The generated documentation comments follow KDoc: Dokka engine can be used to process them and produce documentation in HTML format. Kotlin generator is exposed via CLI, CMake and gluecodium-gradle plugin. Signed-off-by: Patryk Wrobel <183546751+pwrobeldev@users.noreply.github.com>
Release version 13.13.0 (#1713) Features: - Dart/Flutter: the generated code is now compatible with Flutter 3.29 and above. When the user invokes the callback created for lambda/interface from the thread that is the main isolate thread, but outside of isolate context then it is correclty executed. Before this release the thread would deadlock. Now the generated code identifies such case and enters he isolate context before invoking the callback. - Java/Kotlin: in order to ease transition from Java to Kotlin the possibility to conditionally warn about mismatch in attributes used for Java/Kotlin is implemented. The following new CLI parameter is available `-enableandroidattributesmismatchwarning` as well as `GLUECODIUM_ENABLE_ANDROID_ATTRIBUTES_MISMATCH_WARNING` CMake parameter. - Common: introduced LIME DOC validation rules. Users may use the new CLI parameter called `-docsvalidationrules` or CMake parameter `GLUECODIUM_DOCS_VALIDATION_RULES`, which allow specifying JSON file with regular expressions used to validate comments for certain LIME elements. More information can be found in `lime_markdown.md`. Signed-off-by: Patryk Wrobel <183546751+pwrobeldev@users.noreply.github.com>
Release version 13.12.0 (#1706) Features: - Several placeholder files can be specified with CMake property `GLUECODIUM_DOCS_PLACEHOLDERS_LIST` or placeholders can be directly specified in CMake property `GLUECODIUM_DOCS_PLACEHOLDERS`. - The new annotation called `AfterConstruction()` is available and can be used to specify function called after the construction of an object finishes. It should be used for calling platform code from the constructor. More information can be found in `docs/lime_attributes.md`. Signed-off-by: Patryk Wrobel <183546751+pwrobeldev@users.noreply.github.com>
Release version 13.11.0 (#1678) Features: * Implemented placeholders for comments. Gluecodium supports a new `-docsplaceholderslist` CLI parameter and `GLUECODIUM_DOCS_PLACEHOLDERS_LIST` CMake flag, which allow specifying the file with definition of placeholders. More information about possible usage can be found in `lime_markup.md` Signed-off-by: Patryk Wrobel <183546751+pwrobeldev@users.noreply.github.com>
Release version 13.10.3 (#1653) Bug fixes: * C++: removed generation of redundant synchronous version of function when `@Async` is used only for C++/Dart and Java/Swift are skipped. * LimeParser: introduced non-greedy parsing of new lines for ceratin sub-rules of `constant` rule to prevent meaningless error messages when invalid syntax is used after declaration of a constant. * Dart: fixed problem related to missing includes for `@Async` functions. * JNI: removed leak of JNI weak references in JniWrapperCache. Signed-off-by: Patryk Wrobel <183546751+pwrobeldev@users.noreply.github.com>
Release version 13.10.2 (#1647) Bug fixes: * Dart: introduced 'GLUECODIUM_DART_DISABLE_FINALIZABLE_MARKER' variable as well as '-dartdisablefinalizablemarker' CLI flag, which allows conditionally disabling the usage of 'Finalizable' interface from Dart:FFI. It was needed, because the fix introduced in Gluecodium's release '13.10.1' in some rare cases could cause internal compiler issue in Dart SDK (solved in Dart SDK 3.6.0+). This flag is intended to ease the transition to Dart 3.6.0+. * Dart: fixed a bug related to compilation error caused by usage of '@PositionalDefaults' and default value for a field that uses type, which does not provide const constructor. * Dart: disabled generation of 'invalid_use_of_visible_for_testing_member' warning from the generated code for a hierarchy of classes. * Dart: removed generation of redundant import for constants declared with external types. The redundant import caused linter warnings. * Dart: removed generation of redundant 'default' clause in exhaustive switch-cases for enumerations. The redundant 'default' caused linter warnings. * Java: cleaned up the generated code: removed blank lines. Signed-off-by: Patryk Wrobel <183546751+pwrobeldev@users.noreply.github.com>
PreviousNext