From e2d528fdabd280e545b4b9884affed1080487138 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 17:59:10 -0500 Subject: [PATCH 01/41] Added ffi to workspace --- pkgs/ffi/pubspec.yaml | 3 ++- pubspec.yaml | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 pubspec.yaml diff --git a/pkgs/ffi/pubspec.yaml b/pkgs/ffi/pubspec.yaml index 55261524e6..71b07503c2 100644 --- a/pkgs/ffi/pubspec.yaml +++ b/pkgs/ffi/pubspec.yaml @@ -10,8 +10,9 @@ topics: - codegen environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dev_dependencies: dart_flutter_team_lints: ^2.0.0 test: ^1.21.2 diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000000..8b3f25bb28 --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,7 @@ +name: dart_lang_native_workspace + +environment: + sdk: ^3.6.0 + +workspace: + - pkgs/ffi From 935a52c9eca03fee7231ff6d8fe49ffb1fd64035 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 18:00:21 -0500 Subject: [PATCH 02/41] Added ffigen to workspace --- pkgs/ffigen/pubspec.yaml | 3 ++- pubspec.yaml | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/ffigen/pubspec.yaml b/pkgs/ffigen/pubspec.yaml index b37abdfa1a..a7c68337eb 100644 --- a/pkgs/ffigen/pubspec.yaml +++ b/pkgs/ffigen/pubspec.yaml @@ -16,8 +16,9 @@ topics: - codegen environment: - sdk: '>=3.4.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: args: ^2.6.0 cli_util: ^0.4.2 diff --git a/pubspec.yaml b/pubspec.yaml index 8b3f25bb28..e213f5f5ff 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,3 +5,4 @@ environment: workspace: - pkgs/ffi + - pkgs/ffigen From 4abff6912f498009668d05e2d32aa8ce580d6697 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 18:02:40 -0500 Subject: [PATCH 03/41] Added jni to workspace (FAILED) --- pkgs/jni/pubspec.yaml | 3 ++- pubspec.yaml | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/jni/pubspec.yaml b/pkgs/jni/pubspec.yaml index dfabbfd1d9..7a4bdb66c6 100644 --- a/pkgs/jni/pubspec.yaml +++ b/pkgs/jni/pubspec.yaml @@ -16,9 +16,10 @@ topics: - jni environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 flutter: '>=2.11.0' +resolution: workspace dependencies: args: ^2.5.0 ffi: ^2.1.3 diff --git a/pubspec.yaml b/pubspec.yaml index e213f5f5ff..258a794d1d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -6,3 +6,4 @@ environment: workspace: - pkgs/ffi - pkgs/ffigen + - pkgs/jni From 58df689a1ceb0870026509dec247816fa3eb1fe7 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 19:22:50 -0500 Subject: [PATCH 04/41] Fixed jni issues --- pkgs/ffi/pubspec.yaml | 2 +- pkgs/ffigen/pubspec.yaml | 2 +- pkgs/jni/pubspec.yaml | 2 +- pkgs/jni/tool/generate_ffi_bindings.dart | 7 ++++--- pkgs/jni/tool/wrapper_generators/ffigen_util.dart | 4 ++++ .../jni/tool/wrapper_generators/generate_c_extensions.dart | 4 ++-- .../tool/wrapper_generators/generate_dart_extensions.dart | 4 ++-- 7 files changed, 15 insertions(+), 10 deletions(-) diff --git a/pkgs/ffi/pubspec.yaml b/pkgs/ffi/pubspec.yaml index 71b07503c2..59a6ea9a11 100644 --- a/pkgs/ffi/pubspec.yaml +++ b/pkgs/ffi/pubspec.yaml @@ -14,5 +14,5 @@ environment: resolution: workspace dev_dependencies: - dart_flutter_team_lints: ^2.0.0 + dart_flutter_team_lints: ^3.2.0 test: ^1.21.2 diff --git a/pkgs/ffigen/pubspec.yaml b/pkgs/ffigen/pubspec.yaml index a7c68337eb..7dfa86f52a 100644 --- a/pkgs/ffigen/pubspec.yaml +++ b/pkgs/ffigen/pubspec.yaml @@ -39,7 +39,7 @@ dependencies: dev_dependencies: async: ^2.11.0 coverage: ^1.11.0 - dart_flutter_team_lints: ^2.0.0 + dart_flutter_team_lints: ^3.2.0 json_schema: ^5.1.1 leak_tracker: ^10.0.7 objective_c: ^4.1.0 diff --git a/pkgs/jni/pubspec.yaml b/pkgs/jni/pubspec.yaml index 7a4bdb66c6..c543413ffc 100644 --- a/pkgs/jni/pubspec.yaml +++ b/pkgs/jni/pubspec.yaml @@ -31,7 +31,7 @@ dependencies: dev_dependencies: dart_flutter_team_lints: ^3.2.0 ## Pin ffigen version because we are depending on internal APIs. - ffigen: 8.0.2 + ffigen: ^16.0.0 logging: ^1.2.0 test: ^1.25.8 diff --git a/pkgs/jni/tool/generate_ffi_bindings.dart b/pkgs/jni/tool/generate_ffi_bindings.dart index c1a2b5e579..787df27fdc 100644 --- a/pkgs/jni/tool/generate_ffi_bindings.dart +++ b/pkgs/jni/tool/generate_ffi_bindings.dart @@ -9,6 +9,7 @@ import 'dart:io'; import 'package:args/args.dart'; import 'package:ffigen/ffigen.dart' as ffigen; +import 'package:ffigen/src/header_parser.dart' as ffigen; import 'package:logging/logging.dart'; import 'wrapper_generators/generate_c_extensions.dart'; @@ -51,15 +52,15 @@ void main(List args) { }); logger.info('Generating C wrappers'); - final minimalConfig = ffigen.Config.fromFile(File('ffigen_exts.yaml')); + final minimalConfig = ffigen.YamlConfig.fromFile(File('ffigen_exts.yaml')); final minimalLibrary = ffigen.parse(minimalConfig); generateCWrappers(minimalLibrary); logger.info('Generating FFI bindings for package:jni'); - final config = ffigen.Config.fromFile(File('ffigen.yaml')); + final config = ffigen.YamlConfig.fromFile(File('ffigen.yaml')); final library = ffigen.parse(config); - final outputFile = File(config.output); + final outputFile = File(config.output.toFilePath()); library.generateFile(outputFile); logger.info('Generating Dart extensions'); diff --git a/pkgs/jni/tool/wrapper_generators/ffigen_util.dart b/pkgs/jni/tool/wrapper_generators/ffigen_util.dart index 975dc5f9d0..2b65e7ccbd 100644 --- a/pkgs/jni/tool/wrapper_generators/ffigen_util.dart +++ b/pkgs/jni/tool/wrapper_generators/ffigen_util.dart @@ -9,7 +9,11 @@ final dummyWriter = Writer( lookUpBindings: [], ffiNativeBindings: [], noLookUpBindings: [], + nativeEntryPoints: [], className: 'unused', + silenceEnumWarning: true, + generateForPackageObjectiveC: false, + nativeAssetId: null, ); /// Find compound having [name] in [library]. diff --git a/pkgs/jni/tool/wrapper_generators/generate_c_extensions.dart b/pkgs/jni/tool/wrapper_generators/generate_c_extensions.dart index a5ccef5d45..ceba196a6a 100644 --- a/pkgs/jni/tool/wrapper_generators/generate_c_extensions.dart +++ b/pkgs/jni/tool/wrapper_generators/generate_c_extensions.dart @@ -91,7 +91,7 @@ String getWrapperFuncName(String name) { } // Returns declaration of function field in GlobalJniEnv struct -String getFunctionFieldDecl(Member field, {required bool isField}) { +String getFunctionFieldDecl(CompoundMember field, {required bool isField}) { final fieldType = field.type; if (fieldType is PointerType && fieldType.child is NativeFunc) { final nativeFunc = fieldType.child as NativeFunc; @@ -226,7 +226,7 @@ const _noCheckException = { 'ExceptionDescribe', }; -String? getWrapperFunc(Member field) { +String? getWrapperFunc(CompoundMember field) { final fieldType = field.type; if (fieldType is PointerType && fieldType.child is NativeFunc) { final functionType = (fieldType.child as NativeFunc).type; diff --git a/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart b/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart index 7404341483..98a8ce0121 100644 --- a/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart +++ b/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart @@ -76,7 +76,7 @@ String getCheckedGetter(Type returnType) { } String? getGlobalEnvExtensionFunction( - Member field, + CompoundMember field, Type? checkedReturnType, { required bool isLeaf, }) { @@ -276,7 +276,7 @@ class GlobalJniEnv { } String? getFunctionPointerExtensionFunction( - Member field, { + CompoundMember field, { bool indirect = false, bool implicitThis = false, required bool isLeaf, From 6d1fb6b48097f3ca3938fc5af129b81875879879 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 19:26:14 -0500 Subject: [PATCH 05/41] Fixed issues in ffigen --- pkgs/ffigen/lib/ffigen.dart | 2 +- pkgs/ffigen/lib/src/code_generator.dart | 2 +- pkgs/ffigen/lib/src/code_generator/func_type.dart | 2 +- pkgs/ffigen/lib/src/config_provider.dart | 2 +- pkgs/ffigen/lib/src/header_parser.dart | 2 +- pkgs/ffigen/lib/src/header_parser/utils.dart | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/ffigen/lib/ffigen.dart b/pkgs/ffigen/lib/ffigen.dart index aa1f364e52..23fc43a1d2 100644 --- a/pkgs/ffigen/lib/ffigen.dart +++ b/pkgs/ffigen/lib/ffigen.dart @@ -6,7 +6,7 @@ /// /// For most use cases the YAML based API is simpler. See /// https://pub.dev/packages/ffigen for details. -library ffigen; +library; export 'src/config_provider.dart' show diff --git a/pkgs/ffigen/lib/src/code_generator.dart b/pkgs/ffigen/lib/src/code_generator.dart index 0197d5c047..6a1a3552cd 100644 --- a/pkgs/ffigen/lib/src/code_generator.dart +++ b/pkgs/ffigen/lib/src/code_generator.dart @@ -3,7 +3,7 @@ // BSD-style license that can be found in the LICENSE file. /// Generates FFI bindings for a given Library. -library code_generator; +library; export 'code_generator/binding.dart'; export 'code_generator/compound.dart'; diff --git a/pkgs/ffigen/lib/src/code_generator/func_type.dart b/pkgs/ffigen/lib/src/code_generator/func_type.dart index f0c6d9b9e6..431ebd34f0 100644 --- a/pkgs/ffigen/lib/src/code_generator/func_type.dart +++ b/pkgs/ffigen/lib/src/code_generator/func_type.dart @@ -136,7 +136,7 @@ class FunctionType extends Type { } } -/// Represents a NativeFunction. +/// Represents a `NativeFunction`. class NativeFunc extends Type { // Either a FunctionType or a Typealias of a FunctionType. final Type _type; diff --git a/pkgs/ffigen/lib/src/config_provider.dart b/pkgs/ffigen/lib/src/config_provider.dart index 8feb6fe89b..dbf5731691 100644 --- a/pkgs/ffigen/lib/src/config_provider.dart +++ b/pkgs/ffigen/lib/src/config_provider.dart @@ -3,7 +3,7 @@ // BSD-style license that can be found in the LICENSE file. /// Creates config object used by other sub_modules. -library config_provider; +library; export 'config_provider/config.dart'; export 'config_provider/config_types.dart'; diff --git a/pkgs/ffigen/lib/src/header_parser.dart b/pkgs/ffigen/lib/src/header_parser.dart index 92df4ac523..d4f8b623e7 100644 --- a/pkgs/ffigen/lib/src/header_parser.dart +++ b/pkgs/ffigen/lib/src/header_parser.dart @@ -5,6 +5,6 @@ /// Generates a Library (code_generator) /// /// Parses the header files AST using clang_bindings. -library header_parser; +library; export 'header_parser/parser.dart' show parse; diff --git a/pkgs/ffigen/lib/src/header_parser/utils.dart b/pkgs/ffigen/lib/src/header_parser/utils.dart index 42b22663c0..2e4cacaf73 100644 --- a/pkgs/ffigen/lib/src/header_parser/utils.dart +++ b/pkgs/ffigen/lib/src/header_parser/utils.dart @@ -430,7 +430,7 @@ class Stack { class IncrementalNamer { final _incrementedStringCounters = {}; - /// Appends `` to base. is incremented on every call. + /// Appends `` to base. `` is incremented on every call. String name(String base) { var i = _incrementedStringCounters[base] ?? 0; i++; From 299855298a486a705734a42154cd8dab9329846e Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 19:29:36 -0500 Subject: [PATCH 06/41] Added jnigen to workspace --- pkgs/jnigen/pubspec.yaml | 9 +++------ pubspec.yaml | 1 + 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/jnigen/pubspec.yaml b/pkgs/jnigen/pubspec.yaml index 06a9764800..88c3333d69 100644 --- a/pkgs/jnigen/pubspec.yaml +++ b/pkgs/jnigen/pubspec.yaml @@ -9,7 +9,7 @@ repository: https://github.com/dart-lang/native/tree/main/pkgs/jnigen issue_tracker: https://github.com/dart-lang/native/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Ajnigen environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 topics: - interop @@ -18,6 +18,7 @@ topics: - java - jni +resolution: workspace dependencies: args: ^2.5.0 cli_config: '>=0.1.0 <0.3.0' @@ -32,10 +33,6 @@ dependencies: dev_dependencies: build_runner: ^2.4.12 dart_flutter_team_lints: ^3.2.0 - jni: ^0.12.2 + jni: ^0.13.0 json_serializable: ^6.8.0 test: ^1.25.8 - -dependency_overrides: - jni: - path: ../jni diff --git a/pubspec.yaml b/pubspec.yaml index 258a794d1d..9e1c0ede54 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -7,3 +7,4 @@ workspace: - pkgs/ffi - pkgs/ffigen - pkgs/jni + - pkgs/jnigen From fefc30f66c4add9b1b4b814f805c55b1de0692d7 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 19:30:40 -0500 Subject: [PATCH 07/41] Added native_assets_builder to the workspace --- pkgs/native_assets_builder/pubspec.yaml | 9 ++++----- pubspec.yaml | 1 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/native_assets_builder/pubspec.yaml b/pkgs/native_assets_builder/pubspec.yaml index cce634a1b5..0fa3d36b1b 100644 --- a/pkgs/native_assets_builder/pubspec.yaml +++ b/pkgs/native_assets_builder/pubspec.yaml @@ -7,22 +7,21 @@ repository: https://github.com/dart-lang/native/tree/main/pkgs/native_assets_bui publish_to: none environment: - sdk: '>=3.5.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: collection: ^1.18.0 crypto: ^3.0.6 file: ^7.0.1 graphs: ^2.3.1 logging: ^1.2.0 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../native_assets_cli/ + native_assets_cli: ^0.10.0 package_config: ^2.1.0 yaml: ^3.1.2 yaml_edit: ^2.1.0 dev_dependencies: - dart_flutter_team_lints: ^2.1.1 + dart_flutter_team_lints: ^3.2.0 file_testing: ^3.0.0 test: ^1.24.3 diff --git a/pubspec.yaml b/pubspec.yaml index 9e1c0ede54..d2b9f68061 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -8,3 +8,4 @@ workspace: - pkgs/ffigen - pkgs/jni - pkgs/jnigen + - pkgs/native_assets_builder From 349c05c3022bc26c4e4915e73cc56ab7dfc6b6aa Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 20:17:55 -0500 Subject: [PATCH 08/41] Fixed issues with native_assets_builder/test_data/* --- pkgs/native_assets_builder/pubspec.yaml | 2 +- .../test_data/add_asset_link/pubspec.yaml | 8 +++++--- .../test_data/dart_app/pubspec.yaml | 4 ++++ .../test_data/drop_dylib_link/pubspec.yaml | 8 +++++--- .../test_data/native_add/pubspec.yaml | 8 +++++--- .../test_data/native_add_add_source/pubspec.yaml | 8 +++++--- .../test_data/native_add_duplicate/pubspec.yaml | 8 +++++--- .../test_data/native_dynamic_linking/pubspec.yaml | 8 +++++--- .../test_data/native_subtract/pubspec.yaml | 8 +++++--- .../test_data/system_library/pubspec.yaml | 8 +++++--- .../test_data/treeshaking_native_libs/pubspec.yaml | 10 ++++++---- pkgs/native_assets_cli/pubspec.yaml | 5 +++-- pkgs/native_toolchain_c/pubspec.yaml | 9 ++++----- pubspec.yaml | 2 ++ 14 files changed, 60 insertions(+), 36 deletions(-) diff --git a/pkgs/native_assets_builder/pubspec.yaml b/pkgs/native_assets_builder/pubspec.yaml index 0fa3d36b1b..4b7f87b619 100644 --- a/pkgs/native_assets_builder/pubspec.yaml +++ b/pkgs/native_assets_builder/pubspec.yaml @@ -16,7 +16,7 @@ dependencies: file: ^7.0.1 graphs: ^2.3.1 logging: ^1.2.0 - native_assets_cli: ^0.10.0 + native_assets_cli: ^0.11.0-wip package_config: ^2.1.0 yaml: ^3.1.2 yaml_edit: ^2.1.0 diff --git a/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml index 7351dd88d3..4a873bb78f 100644 --- a/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml @@ -10,13 +10,15 @@ environment: dependencies: logging: ^1.1.1 meta: ^1.12.0 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../native_assets_cli/ + dev_dependencies: lints: ^3.0.0 test: ^1.24.0 diff --git a/pkgs/native_assets_builder/test_data/dart_app/pubspec.yaml b/pkgs/native_assets_builder/test_data/dart_app/pubspec.yaml index b1a44c2a37..741d06d179 100644 --- a/pkgs/native_assets_builder/test_data/dart_app/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/dart_app/pubspec.yaml @@ -10,3 +10,7 @@ dependencies: path: ../native_add native_subtract: path: ../native_subtract + +dependency_overrides: + native_assets_cli: + path: ../../../native_assets_cli/ diff --git a/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml index 86d51a2341..f930cd428d 100644 --- a/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml @@ -9,13 +9,15 @@ environment: dependencies: logging: ^1.1.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../native_assets_cli/ + dev_dependencies: lints: ^3.0.0 test: ^1.24.0 diff --git a/pkgs/native_assets_builder/test_data/native_add/pubspec.yaml b/pkgs/native_assets_builder/test_data/native_add/pubspec.yaml index 860ccbbad0..2d94725e0f 100644 --- a/pkgs/native_assets_builder/test_data/native_add/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/native_add/pubspec.yaml @@ -9,13 +9,15 @@ environment: dependencies: logging: ^1.1.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../native_assets_cli/ + dev_dependencies: ffigen: ^8.0.2 lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/native_add_add_source/pubspec.yaml b/pkgs/native_assets_builder/test_data/native_add_add_source/pubspec.yaml index 2419cff221..80c329a633 100644 --- a/pkgs/native_assets_builder/test_data/native_add_add_source/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/native_add_add_source/pubspec.yaml @@ -9,13 +9,15 @@ environment: dependencies: logging: ^1.1.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../native_assets_cli/ + dev_dependencies: ffigen: ^8.0.2 lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/native_add_duplicate/pubspec.yaml b/pkgs/native_assets_builder/test_data/native_add_duplicate/pubspec.yaml index a9329e9a00..c168a5b242 100644 --- a/pkgs/native_assets_builder/test_data/native_add_duplicate/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/native_add_duplicate/pubspec.yaml @@ -11,13 +11,15 @@ dependencies: logging: ^1.1.1 native_add: path: ../native_add/ - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../native_assets_cli/ + dev_dependencies: ffigen: ^8.0.2 lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/native_dynamic_linking/pubspec.yaml b/pkgs/native_assets_builder/test_data/native_dynamic_linking/pubspec.yaml index 8d7ad2c631..bcb9a9c818 100644 --- a/pkgs/native_assets_builder/test_data/native_dynamic_linking/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/native_dynamic_linking/pubspec.yaml @@ -10,13 +10,15 @@ environment: dependencies: logging: ^1.1.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../native_assets_cli/ + dev_dependencies: ffigen: ^8.0.2 lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/native_subtract/pubspec.yaml b/pkgs/native_assets_builder/test_data/native_subtract/pubspec.yaml index 04f973ff1e..83e88ae8de 100644 --- a/pkgs/native_assets_builder/test_data/native_subtract/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/native_subtract/pubspec.yaml @@ -9,13 +9,15 @@ environment: dependencies: logging: ^1.1.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../native_assets_cli/ + dev_dependencies: ffigen: ^8.0.2 lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/system_library/pubspec.yaml b/pkgs/native_assets_builder/test_data/system_library/pubspec.yaml index 747b28b255..56e5e66a4c 100644 --- a/pkgs/native_assets_builder/test_data/system_library/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/system_library/pubspec.yaml @@ -9,13 +9,15 @@ environment: dependencies: logging: ^1.1.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../native_assets_cli/ + dev_dependencies: ffigen: ^10.0.0 lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/treeshaking_native_libs/pubspec.yaml b/pkgs/native_assets_builder/test_data/treeshaking_native_libs/pubspec.yaml index ed8aed369f..2d7ac64b12 100644 --- a/pkgs/native_assets_builder/test_data/treeshaking_native_libs/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/treeshaking_native_libs/pubspec.yaml @@ -5,17 +5,19 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: logging: ^1.1.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../native_assets_cli/ + dev_dependencies: ffigen: ^8.0.2 lints: ^3.0.0 diff --git a/pkgs/native_assets_cli/pubspec.yaml b/pkgs/native_assets_cli/pubspec.yaml index 73f9f171c0..e594a19c0a 100644 --- a/pkgs/native_assets_cli/pubspec.yaml +++ b/pkgs/native_assets_cli/pubspec.yaml @@ -15,8 +15,9 @@ topics: - native-assets environment: - sdk: '>=3.5.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: collection: ^1.17.1 crypto: ^3.0.3 @@ -26,7 +27,7 @@ dependencies: yaml: ^3.1.2 # Used for reading pubspec.yaml to obtain the package name dev_dependencies: - dart_flutter_team_lints: ^2.1.1 + dart_flutter_team_lints: ^3.2.0 file_testing: ^3.0.0 glob: any test: ^1.25.7 diff --git a/pkgs/native_toolchain_c/pubspec.yaml b/pkgs/native_toolchain_c/pubspec.yaml index 47bed04e97..1cba21ec10 100644 --- a/pkgs/native_toolchain_c/pubspec.yaml +++ b/pkgs/native_toolchain_c/pubspec.yaml @@ -14,18 +14,17 @@ topics: - native-toolchain environment: - sdk: '>=3.1.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: glob: ^2.1.1 logging: ^1.1.1 meta: ^1.9.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../native_assets_cli/ + native_assets_cli: ^0.11.0-wip pub_semver: ^2.1.3 dev_dependencies: collection: ^1.17.1 - dart_flutter_team_lints: ^2.1.1 + dart_flutter_team_lints: ^3.2.0 test: ^1.21.0 diff --git a/pubspec.yaml b/pubspec.yaml index d2b9f68061..9703a51a56 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -9,3 +9,5 @@ workspace: - pkgs/jni - pkgs/jnigen - pkgs/native_assets_builder + - pkgs/native_assets_cli + - pkgs/native_toolchain_c From aad35e296f39543244a087abf6701c887cba404c Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 20:20:03 -0500 Subject: [PATCH 09/41] Fix lints --- pkgs/native_assets_builder/lib/src/model/kernel_assets.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/native_assets_builder/lib/src/model/kernel_assets.dart b/pkgs/native_assets_builder/lib/src/model/kernel_assets.dart index b430282ed2..8d3377e160 100644 --- a/pkgs/native_assets_builder/lib/src/model/kernel_assets.dart +++ b/pkgs/native_assets_builder/lib/src/model/kernel_assets.dart @@ -12,7 +12,7 @@ /// /// The format should be consistent with `pkg/vm/lib/native_assets/` in the /// Dart SDK. -library kernel_native_assets; +library; import 'package:native_assets_cli/native_assets_cli_internal.dart'; From d512ee2362f1c99bb92bcf2fc464099ef7bc8e52 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 20:29:31 -0500 Subject: [PATCH 10/41] Fixed issues in native_assets_cli --- .../example/build/download_asset/pubspec.yaml | 8 +++++--- .../example/build/native_add_app/pubspec.yaml | 4 ++++ .../example/build/native_add_library/pubspec.yaml | 8 +++++--- .../example/build/native_dynamic_linking/pubspec.yaml | 8 +++++--- .../example/build/system_library/pubspec.yaml | 8 +++++--- .../example/build/use_dart_api/pubspec.yaml | 8 +++++--- 6 files changed, 29 insertions(+), 15 deletions(-) diff --git a/pkgs/native_assets_cli/example/build/download_asset/pubspec.yaml b/pkgs/native_assets_cli/example/build/download_asset/pubspec.yaml index 924cd0bc28..db126a5706 100644 --- a/pkgs/native_assets_cli/example/build/download_asset/pubspec.yaml +++ b/pkgs/native_assets_cli/example/build/download_asset/pubspec.yaml @@ -11,13 +11,15 @@ environment: dependencies: crypto: ^3.0.3 logging: ^1.1.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../../native_assets_cli/ + dev_dependencies: args: ^2.6.0 ffigen: ^8.0.2 diff --git a/pkgs/native_assets_cli/example/build/native_add_app/pubspec.yaml b/pkgs/native_assets_cli/example/build/native_add_app/pubspec.yaml index 86e03409f1..c54314224f 100644 --- a/pkgs/native_assets_cli/example/build/native_add_app/pubspec.yaml +++ b/pkgs/native_assets_cli/example/build/native_add_app/pubspec.yaml @@ -12,6 +12,10 @@ dependencies: native_add_library: path: ../native_add_library/ +dependency_overrides: + native_assets_cli: + path: ../../../../native_assets_cli/ + dev_dependencies: lints: ^3.0.0 test: ^1.21.0 diff --git a/pkgs/native_assets_cli/example/build/native_add_library/pubspec.yaml b/pkgs/native_assets_cli/example/build/native_add_library/pubspec.yaml index 259060f9a2..0d0bc2d6eb 100644 --- a/pkgs/native_assets_cli/example/build/native_add_library/pubspec.yaml +++ b/pkgs/native_assets_cli/example/build/native_add_library/pubspec.yaml @@ -10,13 +10,15 @@ environment: dependencies: logging: ^1.1.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../../native_assets_cli + dev_dependencies: ffigen: ^8.0.2 lints: ^3.0.0 diff --git a/pkgs/native_assets_cli/example/build/native_dynamic_linking/pubspec.yaml b/pkgs/native_assets_cli/example/build/native_dynamic_linking/pubspec.yaml index b2d14ec0c6..8243b011ad 100644 --- a/pkgs/native_assets_cli/example/build/native_dynamic_linking/pubspec.yaml +++ b/pkgs/native_assets_cli/example/build/native_dynamic_linking/pubspec.yaml @@ -10,13 +10,15 @@ environment: dependencies: logging: ^1.1.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../../native_assets_cli/ + dev_dependencies: ffigen: ^8.0.2 lints: ^3.0.0 diff --git a/pkgs/native_assets_cli/example/build/system_library/pubspec.yaml b/pkgs/native_assets_cli/example/build/system_library/pubspec.yaml index 52d8e7778f..e7cfc3c6d1 100644 --- a/pkgs/native_assets_cli/example/build/system_library/pubspec.yaml +++ b/pkgs/native_assets_cli/example/build/system_library/pubspec.yaml @@ -9,13 +9,15 @@ environment: dependencies: logging: ^1.1.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../../native_assets_cli/ + dev_dependencies: ffigen: ^10.0.0 lints: ^3.0.0 diff --git a/pkgs/native_assets_cli/example/build/use_dart_api/pubspec.yaml b/pkgs/native_assets_cli/example/build/use_dart_api/pubspec.yaml index c2ccd57a28..650be81322 100644 --- a/pkgs/native_assets_cli/example/build/use_dart_api/pubspec.yaml +++ b/pkgs/native_assets_cli/example/build/use_dart_api/pubspec.yaml @@ -9,13 +9,15 @@ environment: dependencies: logging: ^1.1.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../../native_assets_cli/ + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../../native_assets_cli/ + dev_dependencies: ffigen: ^10.0.0 lints: ^3.0.0 From c6069a0d121685ea7154316545ed4143d5e035fd Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 20:37:13 -0500 Subject: [PATCH 11/41] Added objective_c to the workspace --- pkgs/ffigen/pubspec.yaml | 8 ++------ pkgs/objective_c/pubspec.yaml | 12 ++++-------- pubspec.yaml | 1 + 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/pkgs/ffigen/pubspec.yaml b/pkgs/ffigen/pubspec.yaml index 7dfa86f52a..8191472fd1 100644 --- a/pkgs/ffigen/pubspec.yaml +++ b/pkgs/ffigen/pubspec.yaml @@ -42,12 +42,8 @@ dev_dependencies: dart_flutter_team_lints: ^3.2.0 json_schema: ^5.1.1 leak_tracker: ^10.0.7 - objective_c: ^4.1.0 - test: ^1.16.2 - -dependency_overrides: # package:objective_c has a flutter dependency, so `dart test` must be run # using the dart from the flutter SDK. # See https://github.com/dart-lang/native/issues/1068 - objective_c: - path: ../objective_c/ + objective_c: ^4.1.0-wip + test: ^1.16.2 diff --git a/pkgs/objective_c/pubspec.yaml b/pkgs/objective_c/pubspec.yaml index 399945ab3a..263c0a45e7 100644 --- a/pkgs/objective_c/pubspec.yaml +++ b/pkgs/objective_c/pubspec.yaml @@ -15,9 +15,10 @@ topics: - codegen environment: - sdk: '>=3.4.0 <4.0.0' + sdk: ^3.6.0 flutter: '>=3.22.0' +resolution: workspace dependencies: ffi: ^2.1.0 flutter: @@ -26,18 +27,13 @@ dependencies: dev_dependencies: args: ^2.6.0 coverage: ^1.11.0 - dart_flutter_team_lints: ^2.0.0 - ffigen: ^16.1.0 - flutter_lints: ^3.0.0 + dart_flutter_team_lints: ^3.2.0 + ffigen: ^16.1.0-wip flutter_test: sdk: flutter test: ^1.21.1 yaml: ^3.1.0 -dependency_overrides: - ffigen: - path: ../ffigen/ - flutter: plugin: platforms: diff --git a/pubspec.yaml b/pubspec.yaml index 9703a51a56..186a1506cf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,3 +11,4 @@ workspace: - pkgs/native_assets_builder - pkgs/native_assets_cli - pkgs/native_toolchain_c + - pkgs/objective_c From 7394804c463ca83b3f968297e497a94bde788693 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 20:38:52 -0500 Subject: [PATCH 12/41] Added swift2objc ot the workspace --- pkgs/swift2objc/pubspec.yaml | 7 ++++--- pubspec.yaml | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/swift2objc/pubspec.yaml b/pkgs/swift2objc/pubspec.yaml index f49adf9839..e8f3ea522d 100644 --- a/pkgs/swift2objc/pubspec.yaml +++ b/pkgs/swift2objc/pubspec.yaml @@ -14,15 +14,16 @@ topics: - swift - codegen +resolution: workspace dependencies: logging: ^1.3.0 - meta: ^1.16.0 + meta: ^1.15.0 path: ^1.9.0 environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dev_dependencies: args: ^2.6.0 - dart_flutter_team_lints: ^2.0.0 + dart_flutter_team_lints: ^3.2.0 test: ^1.21.1 diff --git a/pubspec.yaml b/pubspec.yaml index 186a1506cf..4635237dbd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,3 +12,4 @@ workspace: - pkgs/native_assets_cli - pkgs/native_toolchain_c - pkgs/objective_c + - pkgs/swift2objc From c1ec5151a9762d4163f7836b0958d7b3b068f373 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 20:40:45 -0500 Subject: [PATCH 13/41] Added swiftgen to the workspace --- pkgs/swiftgen/pubspec.yaml | 11 ++++------- pubspec.yaml | 1 + 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/swiftgen/pubspec.yaml b/pkgs/swiftgen/pubspec.yaml index 664fd220ca..cca998a471 100644 --- a/pkgs/swiftgen/pubspec.yaml +++ b/pkgs/swiftgen/pubspec.yaml @@ -15,16 +15,13 @@ topics: - codegen environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: ffi: ^2.1.0 dev_dependencies: - dart_flutter_team_lints: ^2.0.0 - ffigen: ^11.0.0 + dart_flutter_team_lints: ^3.2.0 + ffigen: ^16.0.0 test: ^1.21.1 - -dependency_overrides: - ffigen: - path: ../ffigen/ diff --git a/pubspec.yaml b/pubspec.yaml index 4635237dbd..28ad93a38c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -13,3 +13,4 @@ workspace: - pkgs/native_toolchain_c - pkgs/objective_c - pkgs/swift2objc + - pkgs/swiftgen From eaf70d0dcf5343e38174251f8834ee35b0cc1e76 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 20:50:38 -0500 Subject: [PATCH 14/41] Bumped publish CI to stable channel (from dev) --- .github/workflows/publish.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index c7f1d2cde5..161bbf02f8 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -17,4 +17,4 @@ jobs: pull-requests: write # Required for writing the pull request note with: write-comments: false - sdk: dev # use beta/stable after 3.3.0 + sdk: stable From 234310e0fe955715edc41872f879ef1a76abceff Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 23:19:06 -0500 Subject: [PATCH 15/41] Added ffi and ffigen to workspace analysis_options.yaml --- ...ysis_options.yaml => analysis_options.yaml | 27 ++++++++++--------- pkgs/ffi/analysis_options.yaml | 13 --------- pubspec.yaml | 3 +++ 3 files changed, 17 insertions(+), 26 deletions(-) rename pkgs/ffigen/analysis_options.yaml => analysis_options.yaml (59%) delete mode 100644 pkgs/ffi/analysis_options.yaml diff --git a/pkgs/ffigen/analysis_options.yaml b/analysis_options.yaml similarity index 59% rename from pkgs/ffigen/analysis_options.yaml rename to analysis_options.yaml index 278f36d252..52cdc372f6 100644 --- a/pkgs/ffigen/analysis_options.yaml +++ b/analysis_options.yaml @@ -1,30 +1,31 @@ -# Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file -# for details. All rights reserved. Use of this source code is governed by a -# BSD-style license that can be found in the LICENSE file. - include: package:dart_flutter_team_lints/analysis_options.yaml analyzer: errors: todo: ignore - exclude: - - 'test/**_expected*' - # Exclude anything that uses package:objective_c, due to flutter dependency. - # https://github.com/dart-lang/native/issues/1068 - - example/objective_c/** - - example/swift/** - - test_flutter/native_objc_test/** - - test/native_objc_test/** language: strict-casts: true strict-inference: true strict-raw-types: true + exclude: + # ffigen excludes + # Exclude anything that uses package:objective_c, due to flutter dependency. + # https://github.com/dart-lang/native/issues/1068 + - pkgs/ffigen/example/objective_c/** + - pkgs/ffigen/example/swift/** + - pkgs/ffigen/test_flutter/native_objc_test/** + - pkgs/ffigen/test/native_objc_test/** + - pkgs/ffigen/**/expected_bindings/** + linter: rules: + prefer_final_locals: true + # ffigen rules: dangling_library_doc_comments: true directives_ordering: true - prefer_final_locals: true prefer_final_in_for_each: true use_super_parameters: true + + diff --git a/pkgs/ffi/analysis_options.yaml b/pkgs/ffi/analysis_options.yaml deleted file mode 100644 index de90abda01..0000000000 --- a/pkgs/ffi/analysis_options.yaml +++ /dev/null @@ -1,13 +0,0 @@ -include: package:dart_flutter_team_lints/analysis_options.yaml - -analyzer: - errors: - todo: ignore - language: - strict-casts: true - strict-inference: true - strict-raw-types: true - -linter: - rules: - - prefer_final_locals diff --git a/pubspec.yaml b/pubspec.yaml index 28ad93a38c..c3324efe2e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -14,3 +14,6 @@ workspace: - pkgs/objective_c - pkgs/swift2objc - pkgs/swiftgen + +dev_dependencies: + dart_flutter_team_lints: ^3.2.1 From 04efe21e92b4e2e675095c14a8a006fecf7f01ad Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 23:22:55 -0500 Subject: [PATCH 16/41] Added jni to analysis_options.yaml and fixed lints --- analysis_options.yaml | 8 ++++++-- pkgs/jni/analysis_options.yaml | 16 ---------------- pkgs/jni/bin/setup.dart | 8 ++++---- pkgs/jni/test/global_env_test.dart | 2 +- pkgs/jni/test/jobject_test.dart | 2 +- .../generate_dart_extensions.dart | 2 +- 6 files changed, 13 insertions(+), 25 deletions(-) delete mode 100644 pkgs/jni/analysis_options.yaml diff --git a/analysis_options.yaml b/analysis_options.yaml index 52cdc372f6..535f428ea8 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -19,6 +19,10 @@ analyzer: - pkgs/ffigen/test/native_objc_test/** - pkgs/ffigen/**/expected_bindings/** + # jni excludes + - pkgs/jni/build/** + - pkgs/jni/third_party/** + linter: rules: prefer_final_locals: true @@ -27,5 +31,5 @@ linter: directives_ordering: true prefer_final_in_for_each: true use_super_parameters: true - - + # jni rules + prefer_const_declarations: true diff --git a/pkgs/jni/analysis_options.yaml b/pkgs/jni/analysis_options.yaml deleted file mode 100644 index fda5f01ac5..0000000000 --- a/pkgs/jni/analysis_options.yaml +++ /dev/null @@ -1,16 +0,0 @@ -include: package:dart_flutter_team_lints/analysis_options.yaml - -analyzer: - errors: - todo: ignore - exclude: [build/**, third_party/**] - language: - strict-casts: true - strict-inference: true - strict-raw-types: true - -linter: - rules: - dangling_library_doc_comments: true - prefer_final_locals: true - prefer_const_declarations: true diff --git a/pkgs/jni/bin/setup.dart b/pkgs/jni/bin/setup.dart index 6ad9e06e0a..90d5d46c02 100644 --- a/pkgs/jni/bin/setup.dart +++ b/pkgs/jni/bin/setup.dart @@ -116,7 +116,7 @@ Future> findDependencySources() async { throw UnsupportedError('Please run the command from project root.'); } final sources = {}; - for (var package in packageConfig.packages) { + for (final package in packageConfig.packages) { final src = package.root.resolve('src/'); final cmakeLists = src.resolve('CMakeLists.txt'); final cmakeListsFile = File.fromUri(cmakeLists); @@ -168,7 +168,7 @@ void main(List arguments) async { } final sources = options.sources; - for (var packageName in options.packages) { + for (final packageName in options.packages) { // It's assumed C FFI sources are in "src/" relative to package root. sources.add(await findSources(packageName, 'src')); } @@ -207,7 +207,7 @@ void main(List arguments) async { ); } - for (var srcPath in sources) { + for (final srcPath in sources) { final srcDir = Directory(srcPath); if (!srcDir.existsSync()) { stderr.writeln('Directory $srcPath does not exist'); @@ -243,7 +243,7 @@ void main(List arguments) async { final dllDirUri = Platform.isWindows ? tempDir.uri.resolve('Debug') : tempDir.uri; final dllDir = Directory.fromUri(dllDirUri); - for (var entry in dllDir.listSync()) { + for (final entry in dllDir.listSync()) { verboseLog(entry.toString()); final dllSuffix = Platform.isWindows ? 'dll' diff --git a/pkgs/jni/test/global_env_test.dart b/pkgs/jni/test/global_env_test.dart index 0ac6191ab2..31dab99828 100644 --- a/pkgs/jni/test/global_env_test.dart +++ b/pkgs/jni/test/global_env_test.dart @@ -68,7 +68,7 @@ void run({required TestRunnerCallback testRunner}) { 'toHexString'.toNativeChars(arena), '(I)Ljava/lang/String;'.toNativeChars(arena)); - for (var i in [1, 80, 13, 76, 11344]) { + for (final i in [1, 80, 13, 76, 11344]) { // if your argument is int, bool, or JObject (`Pointer`) // it can be directly placed in the list. To convert into // different primitive types, use JValue wrappers. diff --git a/pkgs/jni/test/jobject_test.dart b/pkgs/jni/test/jobject_test.dart index 414f3df439..650d570ba4 100644 --- a/pkgs/jni/test/jobject_test.dart +++ b/pkgs/jni/test/jobject_test.dart @@ -189,7 +189,7 @@ void run({required TestRunnerCallback testRunner}) { .add(constructor(randomClass, JObject.type, [])..releasedBy(arena)); } }); - for (var object in objects) { + for (final object in objects) { expect(object.isReleased, isTrue); } }); diff --git a/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart b/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart index 98a8ce0121..c64ecf9570 100644 --- a/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart +++ b/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart @@ -246,7 +246,7 @@ String getGlobalEnvExtension( final env = findCompound(library, localEnvType); final globalEnv = findCompound(library, globalEnvType); final checkedReturnTypes = {}; - for (var field in globalEnv.members) { + for (final field in globalEnv.members) { final fieldType = field.type; if (fieldType is PointerType && fieldType.child is NativeFunc) { checkedReturnTypes[field.name] = From 0285b9a93e8b1bc025707274b7249a662d2116e5 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 23:26:37 -0500 Subject: [PATCH 17/41] Added jnigen to analysis_options.yaml and fixed lints --- analysis_options.yaml | 4 ++++ pkgs/jnigen/analysis_options.yaml | 20 ------------------- .../lib/src/bindings/dart_generator.dart | 6 +++--- pkgs/jnigen/lib/src/config/config_types.dart | 4 ++-- pkgs/jnigen/lib/src/config/yaml_reader.dart | 2 +- pkgs/jnigen/lib/src/elements/j_elements.dart | 2 +- .../lib/src/tools/android_sdk_tools.dart | 2 +- pkgs/jnigen/lib/src/tools/maven_tools.dart | 4 ++-- pkgs/jnigen/test/package_resolver_test.dart | 2 +- pkgs/jnigen/tool/command_runner.dart | 4 ++-- pkgs/jnigen/tool/regenerate_all_bindings.dart | 4 ++-- 11 files changed, 19 insertions(+), 35 deletions(-) delete mode 100644 pkgs/jnigen/analysis_options.yaml diff --git a/analysis_options.yaml b/analysis_options.yaml index 535f428ea8..9252e3d597 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -23,6 +23,10 @@ analyzer: - pkgs/jni/build/** - pkgs/jni/third_party/** + # jnigen excludes + - pkgs/jnigen/build/** + - pkgs/jnigen/example/** + linter: rules: prefer_final_locals: true diff --git a/pkgs/jnigen/analysis_options.yaml b/pkgs/jnigen/analysis_options.yaml deleted file mode 100644 index 87d0df0128..0000000000 --- a/pkgs/jnigen/analysis_options.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file -# for details. All rights reserved. Use of this source code is governed by a -# BSD-style license that can be found in the LICENSE file. - -include: package:dart_flutter_team_lints/analysis_options.yaml - -analyzer: - errors: - todo: ignore - exclude: [build/**, example/**] - language: - strict-casts: true - strict-inference: true - strict-raw-types: true - -linter: - rules: - dangling_library_doc_comments: true - prefer_final_locals: true - prefer_const_declarations: true diff --git a/pkgs/jnigen/lib/src/bindings/dart_generator.dart b/pkgs/jnigen/lib/src/bindings/dart_generator.dart index 56c88d7721..76f1d1606e 100644 --- a/pkgs/jnigen/lib/src/bindings/dart_generator.dart +++ b/pkgs/jnigen/lib/src/bindings/dart_generator.dart @@ -217,7 +217,7 @@ import 'package:jni/jni.dart' as $_jni; } log.info('Using dart root = $root'); - for (var fileClassName in files.keys) { + for (final fileClassName in files.keys) { final relativeFileName = '${fileClassName.replaceAll('.', '/')}.dart'; final dartFileUri = root.resolve(relativeFileName); final dartFile = await File.fromUri(dartFileUri).create(recursive: true); @@ -245,7 +245,7 @@ import 'package:jni/jni.dart' as $_jni; } // write _package.dart export files - for (var package in packages.keys) { + for (final package in packages.keys) { final dirUri = root.resolve('${package.replaceAll('.', '/')}/'); final exportFileUri = dirUri.resolve('_package.dart'); final exportFile = File.fromUri(exportFileUri); @@ -479,7 +479,7 @@ class $name$typeParamsDef extends $superName { s.write(''' ], ); - final \$a = \$p.sendPort.nativePort; + final \$a = \$p.sendPort.nativePort; _\$impls[\$a] = \$impl; } diff --git a/pkgs/jnigen/lib/src/config/config_types.dart b/pkgs/jnigen/lib/src/config/config_types.dart index bead7f3713..e7e981f679 100644 --- a/pkgs/jnigen/lib/src/config/config_types.dart +++ b/pkgs/jnigen/lib/src/config/config_types.dart @@ -494,7 +494,7 @@ class Config { final exclusions = prov.getStringList(property); if (exclusions == null) return null; final filters = >[]; - for (var exclusion in exclusions) { + for (final exclusion in exclusions) { final split = exclusion.split('#'); if (split.length != 2) { throw ConfigException('Error parsing exclusion: "$exclusion": ' @@ -603,7 +603,7 @@ class Config { stderr.write('Following config values are required but not provided\n' 'Please provide these properties through YAML ' 'or use the command line switch -D=.\n'); - for (var missing in missingValues) { + for (final missing in missingValues) { stderr.writeln('* $missing'); } if (missingValues.contains(_Props.androidSdkRoot)) { diff --git a/pkgs/jnigen/lib/src/config/yaml_reader.dart b/pkgs/jnigen/lib/src/config/yaml_reader.dart index c9b77de1d3..162b58560a 100644 --- a/pkgs/jnigen/lib/src/config/yaml_reader.dart +++ b/pkgs/jnigen/lib/src/config/yaml_reader.dart @@ -57,7 +57,7 @@ class YamlReader { } final regex = RegExp('([a-z-_.]+)=(.+)'); final properties = {}; - for (var prop in results['override'] as List) { + for (final prop in results['override'] as List) { final match = regex.matchAsPrefix(prop); if (match != null && match.group(0) == prop) { final propertyName = match.group(1); diff --git a/pkgs/jnigen/lib/src/elements/j_elements.dart b/pkgs/jnigen/lib/src/elements/j_elements.dart index 883786aea3..a8b7158a7c 100644 --- a/pkgs/jnigen/lib/src/elements/j_elements.dart +++ b/pkgs/jnigen/lib/src/elements/j_elements.dart @@ -46,7 +46,7 @@ class ClassDecl implements Element { for (final method in _classDecl.methods) { Method(method).accept(visitor); } - for (var field in _classDecl.fields) { + for (final field in _classDecl.fields) { Field(field).accept(visitor); } } diff --git a/pkgs/jnigen/lib/src/tools/android_sdk_tools.dart b/pkgs/jnigen/lib/src/tools/android_sdk_tools.dart index a1016622ed..43d8f217e5 100644 --- a/pkgs/jnigen/lib/src/tools/android_sdk_tools.dart +++ b/pkgs/jnigen/lib/src/tools/android_sdk_tools.dart @@ -37,7 +37,7 @@ class AndroidSdkTools { static Future _getVersionDir( String relative, String sdkRoot, List versionOrder) async { final parent = join(sdkRoot, relative); - for (var version in versionOrder) { + for (final version in versionOrder) { final dir = Directory(join(parent, 'android-$version')); if (await dir.exists()) { return dir.path; diff --git a/pkgs/jnigen/lib/src/tools/maven_tools.dart b/pkgs/jnigen/lib/src/tools/maven_tools.dart index 25104bba47..f2f6c517f4 100644 --- a/pkgs/jnigen/lib/src/tools/maven_tools.dart +++ b/pkgs/jnigen/lib/src/tools/maven_tools.dart @@ -80,9 +80,9 @@ class MavenTools { static String _getStubPom(List deps, {String javaVersion = '11'}) { final depDecls = []; - for (var dep in deps) { + for (final dep in deps) { final otherTags = StringBuffer(); - for (var entry in dep.otherTags.entries) { + for (final entry in dep.otherTags.entries) { otherTags.write(''' <${entry.key}> ${entry.value} diff --git a/pkgs/jnigen/test/package_resolver_test.dart b/pkgs/jnigen/test/package_resolver_test.dart index 59595522e2..0048240051 100644 --- a/pkgs/jnigen/test/package_resolver_test.dart +++ b/pkgs/jnigen/test/package_resolver_test.dart @@ -63,7 +63,7 @@ void main() async { ResolverTest('a.m.n.P', '../m/n/P.dart', r'p$_.'), ]; - for (var testCase in tests) { + for (final testCase in tests) { final binaryName = testCase.binaryName; final packageName = Resolver.getFileClassName(binaryName); test( diff --git a/pkgs/jnigen/tool/command_runner.dart b/pkgs/jnigen/tool/command_runner.dart index ee3ef55c9a..82eae57280 100644 --- a/pkgs/jnigen/tool/command_runner.dart +++ b/pkgs/jnigen/tool/command_runner.dart @@ -81,7 +81,7 @@ class Runner { Future run() async { stderr.writeln('started: $name'); var error = false; - for (var step in steps) { + for (final step in steps) { try { await step.run(); } on StepFailure catch (e) { @@ -92,7 +92,7 @@ class Runner { } } stderr.writeln('${error ? "failed" : "complete"}: $name'); - for (var step in cleanupSteps) { + for (final step in cleanupSteps) { try { await step.run(); } on Exception catch (e) { diff --git a/pkgs/jnigen/tool/regenerate_all_bindings.dart b/pkgs/jnigen/tool/regenerate_all_bindings.dart index a19c7a0f02..ccfa355b5c 100644 --- a/pkgs/jnigen/tool/regenerate_all_bindings.dart +++ b/pkgs/jnigen/tool/regenerate_all_bindings.dart @@ -26,12 +26,12 @@ const yamlBasedExamples = [ void main() async { final runners = []; final current = Directory.current.uri; - for (var script in scripts) { + for (final script in scripts) { runners.add(Runner('Run generate script: $script', current) ..chainCommand('dart', ['run', script])); } - for (var yamlDir in yamlBasedExamples) { + for (final yamlDir in yamlBasedExamples) { runners.add( Runner('Regenerate bindings in $yamlDir', current.resolve(yamlDir)) ..chainCommand('dart', ['run', 'jnigen', '--config', 'jnigen.yaml'])); From 4c21c13b44823629cbdd41a047bf9549bb2620fb Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 23:28:26 -0500 Subject: [PATCH 18/41] Added native_assets_builder to analysis_options.yaml --- analysis_options.yaml | 4 +++- .../native_assets_builder/analysis_options.yaml | 17 ----------------- 2 files changed, 3 insertions(+), 18 deletions(-) delete mode 100644 pkgs/native_assets_builder/analysis_options.yaml diff --git a/analysis_options.yaml b/analysis_options.yaml index 9252e3d597..d793348c81 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -30,10 +30,12 @@ analyzer: linter: rules: prefer_final_locals: true - # ffigen rules: + # ffigen rules dangling_library_doc_comments: true directives_ordering: true prefer_final_in_for_each: true use_super_parameters: true # jni rules prefer_const_declarations: true + # native_assets_builder rules + prefer_expression_function_bodies: true diff --git a/pkgs/native_assets_builder/analysis_options.yaml b/pkgs/native_assets_builder/analysis_options.yaml deleted file mode 100644 index 349b9d631b..0000000000 --- a/pkgs/native_assets_builder/analysis_options.yaml +++ /dev/null @@ -1,17 +0,0 @@ -include: package:dart_flutter_team_lints/analysis_options.yaml - -analyzer: - errors: - todo: ignore - language: - strict-casts: true - strict-inference: true - strict-raw-types: true - -linter: - rules: - - dangling_library_doc_comments - - prefer_const_declarations - - prefer_expression_function_bodies - - prefer_final_in_for_each - - prefer_final_locals From 2cdbf2c9310ecab2ef448eabbe91c59bc2bb799d Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 23:28:52 -0500 Subject: [PATCH 19/41] Added native_assets_cli to analysis_options.yaml --- pkgs/native_assets_cli/analysis_options.yaml | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 pkgs/native_assets_cli/analysis_options.yaml diff --git a/pkgs/native_assets_cli/analysis_options.yaml b/pkgs/native_assets_cli/analysis_options.yaml deleted file mode 100644 index 349b9d631b..0000000000 --- a/pkgs/native_assets_cli/analysis_options.yaml +++ /dev/null @@ -1,17 +0,0 @@ -include: package:dart_flutter_team_lints/analysis_options.yaml - -analyzer: - errors: - todo: ignore - language: - strict-casts: true - strict-inference: true - strict-raw-types: true - -linter: - rules: - - dangling_library_doc_comments - - prefer_const_declarations - - prefer_expression_function_bodies - - prefer_final_in_for_each - - prefer_final_locals From 788f87606a544d8810fa11f4ada35b91680ad9ae Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 23:30:47 -0500 Subject: [PATCH 20/41] Added native_toolchain_c and objective_c to analysis_options --- analysis_options.yaml | 3 +++ pkgs/native_toolchain_c/analysis_options.yaml | 17 ----------------- pkgs/objective_c/analysis_options.yaml | 11 ----------- pkgs/objective_c/lib/src/internal.dart | 2 +- 4 files changed, 4 insertions(+), 29 deletions(-) delete mode 100644 pkgs/native_toolchain_c/analysis_options.yaml delete mode 100644 pkgs/objective_c/analysis_options.yaml diff --git a/analysis_options.yaml b/analysis_options.yaml index d793348c81..acc87fb0a7 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -27,6 +27,9 @@ analyzer: - pkgs/jnigen/build/** - pkgs/jnigen/example/** + # objective_c excludes + - pkgs/objective_c/tool/data/extra_methods.dart + linter: rules: prefer_final_locals: true diff --git a/pkgs/native_toolchain_c/analysis_options.yaml b/pkgs/native_toolchain_c/analysis_options.yaml deleted file mode 100644 index 349b9d631b..0000000000 --- a/pkgs/native_toolchain_c/analysis_options.yaml +++ /dev/null @@ -1,17 +0,0 @@ -include: package:dart_flutter_team_lints/analysis_options.yaml - -analyzer: - errors: - todo: ignore - language: - strict-casts: true - strict-inference: true - strict-raw-types: true - -linter: - rules: - - dangling_library_doc_comments - - prefer_const_declarations - - prefer_expression_function_bodies - - prefer_final_in_for_each - - prefer_final_locals diff --git a/pkgs/objective_c/analysis_options.yaml b/pkgs/objective_c/analysis_options.yaml deleted file mode 100644 index 2d9d01f3c6..0000000000 --- a/pkgs/objective_c/analysis_options.yaml +++ /dev/null @@ -1,11 +0,0 @@ -include: package:dart_flutter_team_lints/analysis_options.yaml - -analyzer: - errors: - todo: ignore - exclude: - - tool/data/extra_methods.dart - language: - strict-casts: true - strict-inference: true - strict-raw-types: true diff --git a/pkgs/objective_c/lib/src/internal.dart b/pkgs/objective_c/lib/src/internal.dart index af40dad255..cbd66dcfc0 100644 --- a/pkgs/objective_c/lib/src/internal.dart +++ b/pkgs/objective_c/lib/src/internal.dart @@ -417,7 +417,7 @@ VoidPtr _registerBlockClosure(Function closure) { /// Only for use by ffigen bindings. Function getBlockClosure(BlockPtr block) { - var id = block.ref.target.address; + final id = block.ref.target.address; assert(_blockClosureRegistry.containsKey(id)); return _blockClosureRegistry[id]!; } From b0d16095b71b6f4400422d7eee37351f987dc180 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 23:33:21 -0500 Subject: [PATCH 21/41] Added swift2objc to analysis_options and fixed lints --- pkgs/swift2objc/analysis_options.yaml | 7 ---- .../lib/src/generator/_core/utils.dart | 20 ++++----- .../lib/src/generator/generator.dart | 32 +++++++------- .../generator/generators/class_generator.dart | 24 +++++------ .../swift2objc/lib/src/parser/_core/json.dart | 42 +++++++++---------- .../lib/src/parser/_core/utils.dart | 21 ++++------ .../parse_compound_declaration.dart | 26 ++++++------ .../lib/src/parser/parsers/parse_type.dart | 17 ++++---- .../src/transformer/_core/dependencies.dart | 38 ++++++++--------- .../transformers/transform_compound.dart | 35 ++++++++-------- .../transformers/transform_function.dart | 23 +++++----- .../transformers/transform_variable.dart | 21 +++++----- 12 files changed, 141 insertions(+), 165 deletions(-) delete mode 100644 pkgs/swift2objc/analysis_options.yaml diff --git a/pkgs/swift2objc/analysis_options.yaml b/pkgs/swift2objc/analysis_options.yaml deleted file mode 100644 index eb67f883be..0000000000 --- a/pkgs/swift2objc/analysis_options.yaml +++ /dev/null @@ -1,7 +0,0 @@ -include: package:dart_flutter_team_lints/analysis_options.yaml - -analyzer: - language: - strict-casts: true - strict-inference: true - strict-raw-types: true diff --git a/pkgs/swift2objc/lib/src/generator/_core/utils.dart b/pkgs/swift2objc/lib/src/generator/_core/utils.dart index 83dc01a3b1..ccd0b08da2 100644 --- a/pkgs/swift2objc/lib/src/generator/_core/utils.dart +++ b/pkgs/swift2objc/lib/src/generator/_core/utils.dart @@ -5,18 +5,16 @@ import '../../ast/_core/interfaces/can_throw.dart'; import '../../ast/_core/interfaces/declaration.dart'; import '../../ast/_core/shared/parameter.dart'; -String generateParameters(List params) { - return params.map((param) { - final String labels; - if (param.internalName != null) { - labels = '${param.name} ${param.internalName}'; - } else { - labels = param.name; - } +String generateParameters(List params) => params.map((param) { + final String labels; + if (param.internalName != null) { + labels = '${param.name} ${param.internalName}'; + } else { + labels = param.name; + } - return '$labels: ${param.type.swiftType}'; - }).join(', '); -} + return '$labels: ${param.type.swiftType}'; + }).join(', '); extension Indentation on Iterable { Iterable indent([int count = 1]) { diff --git a/pkgs/swift2objc/lib/src/generator/generator.dart b/pkgs/swift2objc/lib/src/generator/generator.dart index 86f6a5454a..c33c83d1a2 100644 --- a/pkgs/swift2objc/lib/src/generator/generator.dart +++ b/pkgs/swift2objc/lib/src/generator/generator.dart @@ -6,21 +6,19 @@ String generate( List declarations, { String? moduleName, String? preamble, -}) { - return '${[ - preamble, - '', - if (moduleName != null) 'import $moduleName', - 'import Foundation\n', - ...declarations.map((decl) => generateDeclaration(decl).join('\n')), - ].nonNulls.join('\n')}\n'; -} +}) => + '${[ + preamble, + '', + if (moduleName != null) 'import $moduleName', + 'import Foundation\n', + ...declarations.map((decl) => generateDeclaration(decl).join('\n')), + ].nonNulls.join('\n')}\n'; -List generateDeclaration(Declaration declaration) { - return switch (declaration) { - ClassDeclaration() => generateClass(declaration), - _ => throw UnimplementedError( - "$declaration generation isn't implemented yet", - ), - }; -} +List generateDeclaration(Declaration declaration) => + switch (declaration) { + ClassDeclaration() => generateClass(declaration), + _ => throw UnimplementedError( + "$declaration generation isn't implemented yet", + ), + }; diff --git a/pkgs/swift2objc/lib/src/generator/generators/class_generator.dart b/pkgs/swift2objc/lib/src/generator/generators/class_generator.dart index b5161bfb2c..ee0bef03c2 100644 --- a/pkgs/swift2objc/lib/src/generator/generators/class_generator.dart +++ b/pkgs/swift2objc/lib/src/generator/generators/class_generator.dart @@ -11,19 +11,17 @@ import '../../ast/declarations/compounds/members/property_declaration.dart'; import '../_core/utils.dart'; import '../generator.dart'; -List generateClass(ClassDeclaration declaration) { - return [ - '${_generateClassHeader(declaration)} {', - ...[ - _generateClassWrappedInstance(declaration), - ..._generateClassProperties(declaration), - ..._generateInitializers(declaration), - ..._generateClassMethods(declaration), - ..._generateNestedDeclarations(declaration), - ].nonNulls.indent(), - '}\n', - ]; -} +List generateClass(ClassDeclaration declaration) => [ + '${_generateClassHeader(declaration)} {', + ...[ + _generateClassWrappedInstance(declaration), + ..._generateClassProperties(declaration), + ..._generateInitializers(declaration), + ..._generateClassMethods(declaration), + ..._generateNestedDeclarations(declaration), + ].nonNulls.indent(), + '}\n', + ]; String _generateClassHeader(ClassDeclaration declaration) { final header = StringBuffer(); diff --git a/pkgs/swift2objc/lib/src/parser/_core/json.dart b/pkgs/swift2objc/lib/src/parser/_core/json.dart index aa0d1a0f5a..c62c21ae0c 100644 --- a/pkgs/swift2objc/lib/src/parser/_core/json.dart +++ b/pkgs/swift2objc/lib/src/parser/_core/json.dart @@ -75,32 +75,28 @@ class Json extends Iterable { @override Iterator get iterator => _JsonIterator(this); - bool jsonWithKeyExists(String key, [dynamic value]) { - return any((json) { - if (!json[key].exists) return false; - - if (value == null) { - return true; - } else { - return json[key].get() == value; - } - }); - } + bool jsonWithKeyExists(String key, [dynamic value]) => any((json) { + if (!json[key].exists) return false; - Json firstJsonWhereKey(String key, dynamic value) { - return firstWhere( - (json) { - try { + if (value == null) { + return true; + } else { return json[key].get() == value; - } catch (_) { - return false; } - }, - orElse: () => throw Exception( - 'No map with key "$key" and value "$value" was found at $path', - ), - ); - } + }); + + Json firstJsonWhereKey(String key, dynamic value) => firstWhere( + (json) { + try { + return json[key].get() == value; + } catch (_) { + return false; + } + }, + orElse: () => throw Exception( + 'No map with key "$key" and value "$value" was found at $path', + ), + ); @override String toString() => jsonEncode(_json); diff --git a/pkgs/swift2objc/lib/src/parser/_core/utils.dart b/pkgs/swift2objc/lib/src/parser/_core/utils.dart index 7c42046f08..3326cd5022 100644 --- a/pkgs/swift2objc/lib/src/parser/_core/utils.dart +++ b/pkgs/swift2objc/lib/src/parser/_core/utils.dart @@ -61,21 +61,16 @@ String parseSymbolId(Json symbolJson) { return id; } -String parseSymbolName(Json symbolJson) { - return symbolJson['declarationFragments'] - .firstJsonWhereKey('kind', 'identifier')['spelling'] - .get(); -} +String parseSymbolName(Json symbolJson) => symbolJson['declarationFragments'] + .firstJsonWhereKey('kind', 'identifier')['spelling'] + .get(); -bool parseSymbolHasObjcAnnotation(Json symbolJson) { - return symbolJson['declarationFragments'] - .any((json) => matchFragment(json, 'attribute', '@objc')); -} +bool parseSymbolHasObjcAnnotation(Json symbolJson) => + symbolJson['declarationFragments'] + .any((json) => matchFragment(json, 'attribute', '@objc')); -bool parseIsOverriding(Json symbolJson) { - return symbolJson['declarationFragments'] - .any((json) => matchFragment(json, 'keyword', 'override')); -} +bool parseIsOverriding(Json symbolJson) => symbolJson['declarationFragments'] + .any((json) => matchFragment(json, 'keyword', 'override')); final class ObsoleteException implements Exception { final String symbol; diff --git a/pkgs/swift2objc/lib/src/parser/parsers/declaration_parsers/parse_compound_declaration.dart b/pkgs/swift2objc/lib/src/parser/parsers/declaration_parsers/parse_compound_declaration.dart index cf3e9a27a6..2850dbce0d 100644 --- a/pkgs/swift2objc/lib/src/parser/parsers/declaration_parsers/parse_compound_declaration.dart +++ b/pkgs/swift2objc/lib/src/parser/parsers/declaration_parsers/parse_compound_declaration.dart @@ -89,21 +89,19 @@ T _parseCompoundDeclaration( ClassDeclaration parseClassDeclaration( ParsedSymbol classSymbol, ParsedSymbolgraph symbolgraph, -) { - return _parseCompoundDeclaration( - classSymbol, - ClassDeclaration.new, - symbolgraph, - ); -} +) => + _parseCompoundDeclaration( + classSymbol, + ClassDeclaration.new, + symbolgraph, + ); StructDeclaration parseStructDeclaration( ParsedSymbol classSymbol, ParsedSymbolgraph symbolgraph, -) { - return _parseCompoundDeclaration( - classSymbol, - StructDeclaration.new, - symbolgraph, - ); -} +) => + _parseCompoundDeclaration( + classSymbol, + StructDeclaration.new, + symbolgraph, + ); diff --git a/pkgs/swift2objc/lib/src/parser/parsers/parse_type.dart b/pkgs/swift2objc/lib/src/parser/parsers/parse_type.dart index 6e7a4231f3..8bca8ccaed 100644 --- a/pkgs/swift2objc/lib/src/parser/parsers/parse_type.dart +++ b/pkgs/swift2objc/lib/src/parser/parsers/parse_type.dart @@ -108,13 +108,16 @@ typedef SuffixParselet = (ReferredType, TokenList) Function( ReferredType prefixType, Json token, TokenList fragments) => (OptionalType(prefixType), fragments); -(ReferredType, TokenList) _nestedTypeParselet(ParsedSymbolgraph symbolgraph, - ReferredType prefixType, Json token, TokenList fragments) { - // Parsing Foo.Bar. Foo is in prefixType, and the token is ".". Bar's ID - // is a globally uniquely identifier. We don't need to use Foo as a namespace. - // So we can actually completely discard Foo and just parse Bar. - return parseType(symbolgraph, fragments); -} +(ReferredType, TokenList) _nestedTypeParselet( + ParsedSymbolgraph symbolgraph, + ReferredType prefixType, + Json token, + TokenList fragments, +) => + // Parsing Foo.Bar. Foo is in prefixType, and the token is ".". Bar's ID + // is a globally uniquely identifier. We don't need to use Foo as a + // namespace. So we can actually completely discard Foo and just parse Bar. + parseType(symbolgraph, fragments); Map _suffixParsets = { 'text: ?': _optionalParselet, diff --git a/pkgs/swift2objc/lib/src/transformer/_core/dependencies.dart b/pkgs/swift2objc/lib/src/transformer/_core/dependencies.dart index 30e693d885..40386ffebc 100644 --- a/pkgs/swift2objc/lib/src/transformer/_core/dependencies.dart +++ b/pkgs/swift2objc/lib/src/transformer/_core/dependencies.dart @@ -65,12 +65,12 @@ class DependencyVisitor { final cont = context ??= {}; // visit nested declarations - for (var n in decl.nestedDeclarations) { + for (final n in decl.nestedDeclarations) { visitDeclaration(n, cont); } // visit protocols - for (var p in decl.conformedProtocols) { + for (final p in decl.conformedProtocols) { visitProtocol(p.declaration, cont); } @@ -85,27 +85,27 @@ class DependencyVisitor { final cont = context ??= {}; // visit variables - for (var d in decl.properties) { + for (final d in decl.properties) { visitVariable(d, cont); } // visit methods - for (var m in decl.methods) { + for (final m in decl.methods) { visitFunction(m, cont); } // visit initializers - for (var i in decl.initializers) { + for (final i in decl.initializers) { visitInitializer(i, cont); } // visit nested declarations - for (var n in decl.nestedDeclarations) { + for (final n in decl.nestedDeclarations) { visitDeclaration(n, cont); } // visit protocols - for (var p in decl.conformedProtocols) { + for (final p in decl.conformedProtocols) { visitProtocol(p.declaration, cont); } @@ -120,17 +120,17 @@ class DependencyVisitor { final cont = context ??= {}; // visit variables - for (var d in decl.properties) { + for (final d in decl.properties) { visitVariable(d, cont); } // visit methods - for (var m in decl.methods) { + for (final m in decl.methods) { visitFunction(m, cont); } // visit initializers - for (var i in decl.initializers) { + for (final i in decl.initializers) { visitInitializer(i, cont); } @@ -140,12 +140,12 @@ class DependencyVisitor { } // visit nested declarations - for (var n in decl.nestedDeclarations) { + for (final n in decl.nestedDeclarations) { visitDeclaration(n, cont); } // visit protocols - for (var p in decl.conformedProtocols) { + for (final p in decl.conformedProtocols) { visitProtocol(p.declaration, cont); } @@ -160,27 +160,27 @@ class DependencyVisitor { final cont = context ??= {}; // visit variables - for (var d in decl.properties) { + for (final d in decl.properties) { visitVariable(d, cont); } // visit methods - for (var m in decl.methods) { + for (final m in decl.methods) { visitFunction(m, cont); } // visit initializers - for (var i in decl.initializers) { + for (final i in decl.initializers) { visitInitializer(i, cont); } // visit nested declarations - for (var n in decl.nestedDeclarations) { + for (final n in decl.nestedDeclarations) { visitDeclaration(n, cont); } // visit protocols - for (var p in decl.conformedProtocols) { + for (final p in decl.conformedProtocols) { visitProtocol(p.declaration, cont); } @@ -196,7 +196,7 @@ class DependencyVisitor { final cont = context ??= {}; // similar to `visitMethod`, except no return type - for (var p in decl.params) { + for (final p in decl.params) { visitParameter(p, cont); } @@ -207,7 +207,7 @@ class DependencyVisitor { final cont = context ??= {}; // visit parameters - for (var p in decl.params) { + for (final p in decl.params) { visitParameter(p, cont); } diff --git a/pkgs/swift2objc/lib/src/transformer/transformers/transform_compound.dart b/pkgs/swift2objc/lib/src/transformer/transformers/transform_compound.dart index cd06487a0f..60cd2d00aa 100644 --- a/pkgs/swift2objc/lib/src/transformer/transformers/transform_compound.dart +++ b/pkgs/swift2objc/lib/src/transformer/transformers/transform_compound.dart @@ -88,21 +88,20 @@ ClassDeclaration transformCompound( InitializerDeclaration _buildWrapperInitializer( PropertyDeclaration wrappedClassInstance, -) { - return InitializerDeclaration( - id: '', - params: [ - Parameter( - name: '_', - internalName: 'wrappedInstance', - type: wrappedClassInstance.type, - ) - ], - isOverriding: false, - isFailable: false, - throws: false, - async: false, - statements: ['self.${wrappedClassInstance.name} = wrappedInstance'], - hasObjCAnnotation: wrappedClassInstance.hasObjCAnnotation, - ); -} +) => + InitializerDeclaration( + id: '', + params: [ + Parameter( + name: '_', + internalName: 'wrappedInstance', + type: wrappedClassInstance.type, + ) + ], + isOverriding: false, + isFailable: false, + throws: false, + async: false, + statements: ['self.${wrappedClassInstance.name} = wrappedInstance'], + hasObjCAnnotation: wrappedClassInstance.hasObjCAnnotation, + ); diff --git a/pkgs/swift2objc/lib/src/transformer/transformers/transform_function.dart b/pkgs/swift2objc/lib/src/transformer/transformers/transform_function.dart index c5e3752826..a4483a79d9 100644 --- a/pkgs/swift2objc/lib/src/transformer/transformers/transform_function.dart +++ b/pkgs/swift2objc/lib/src/transformer/transformers/transform_function.dart @@ -48,18 +48,17 @@ MethodDeclaration transformGlobalFunction( GlobalFunctionDeclaration globalFunction, UniqueNamer globalNamer, TransformationMap transformationMap, -) { - return _transformFunction( - globalFunction, - globalNamer, - transformationMap, - wrapperMethodName: globalNamer.makeUnique( - '${globalFunction.name}Wrapper', - ), - originalCallStatementGenerator: (arguments) => - '${globalFunction.name}($arguments)', - ); -} +) => + _transformFunction( + globalFunction, + globalNamer, + transformationMap, + wrapperMethodName: globalNamer.makeUnique( + '${globalFunction.name}Wrapper', + ), + originalCallStatementGenerator: (arguments) => + '${globalFunction.name}($arguments)', + ); // -------------------------- Core Implementation -------------------------- diff --git a/pkgs/swift2objc/lib/src/transformer/transformers/transform_variable.dart b/pkgs/swift2objc/lib/src/transformer/transformers/transform_variable.dart index c18e02a509..71c3feec0a 100644 --- a/pkgs/swift2objc/lib/src/transformer/transformers/transform_variable.dart +++ b/pkgs/swift2objc/lib/src/transformer/transformers/transform_variable.dart @@ -40,17 +40,16 @@ PropertyDeclaration transformGlobalVariable( GlobalVariableDeclaration globalVariable, UniqueNamer globalNamer, TransformationMap transformationMap, -) { - return _transformVariable( - globalVariable, - globalNamer, - transformationMap, - wrapperPropertyName: globalNamer.makeUnique( - '${globalVariable.name}Wrapper', - ), - variableReferenceExpression: globalVariable.name, - ); -} +) => + _transformVariable( + globalVariable, + globalNamer, + transformationMap, + wrapperPropertyName: globalNamer.makeUnique( + '${globalVariable.name}Wrapper', + ), + variableReferenceExpression: globalVariable.name, + ); // -------------------------- Core Implementation -------------------------- From 29536dc66b032be2742cff86e20ecbd09c604827 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 23:34:05 -0500 Subject: [PATCH 22/41] Added swiftgen to analysis_options --- pkgs/swiftgen/analysis_options.yaml | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 pkgs/swiftgen/analysis_options.yaml diff --git a/pkgs/swiftgen/analysis_options.yaml b/pkgs/swiftgen/analysis_options.yaml deleted file mode 100644 index eb67f883be..0000000000 --- a/pkgs/swiftgen/analysis_options.yaml +++ /dev/null @@ -1,7 +0,0 @@ -include: package:dart_flutter_team_lints/analysis_options.yaml - -analyzer: - language: - strict-casts: true - strict-inference: true - strict-raw-types: true From 4f0391aaa45f1c7244fe7e6491af173398dad046 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Sun, 12 Jan 2025 23:55:38 -0500 Subject: [PATCH 23/41] Formatted and fixed lints --- analysis_options.yaml | 2 -- pkgs/ffi/example/main.dart | 2 +- pkgs/ffi/test/allocation_test.dart | 4 ++-- pkgs/ffi/test/utf16_test.dart | 14 +++++++------- pkgs/ffi/test/utf8_test.dart | 8 ++++---- pkgs/ffigen/lib/src/code_generator/writer.dart | 2 +- .../sub_parsers/compounddecl_parser.dart | 2 +- .../header_parser/sub_parsers/macro_parser.dart | 2 +- .../code_generator_tests/code_generator_test.dart | 2 +- .../test/config_tests/compiler_opts_test.dart | 2 +- pkgs/ffigen/test/native_test/native_test.dart | 4 ++-- pkgs/ffigen/test/rename_tests/rename_test.dart | 8 ++++---- .../flutter_plugin_ffi_test.dart | 2 +- 13 files changed, 26 insertions(+), 28 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index acc87fb0a7..131da91f17 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -40,5 +40,3 @@ linter: use_super_parameters: true # jni rules prefer_const_declarations: true - # native_assets_builder rules - prefer_expression_function_bodies: true diff --git a/pkgs/ffi/example/main.dart b/pkgs/ffi/example/main.dart index 86149d9e6b..f122f40565 100644 --- a/pkgs/ffi/example/main.dart +++ b/pkgs/ffi/example/main.dart @@ -15,7 +15,7 @@ void main() { // Use the Utf8 helper to encode zero-terminated UTF-8 strings in native // memory. - final myString = '😎👿💬'; + const myString = '😎👿💬'; final charPointer = myString.toNativeUtf8(); print('First byte is: ${charPointer.cast().value}'); print(charPointer.toDartString()); diff --git a/pkgs/ffi/test/allocation_test.dart b/pkgs/ffi/test/allocation_test.dart index c95691bcf2..209a6ce440 100644 --- a/pkgs/ffi/test/allocation_test.dart +++ b/pkgs/ffi/test/allocation_test.dart @@ -24,11 +24,11 @@ void main() async { test('testPointerAllocateTooLarge', () { // Try to allocate something that doesn't fit in 64 bit address space. - final maxInt = 9223372036854775807; // 2^63 - 1 + const maxInt = 9223372036854775807; // 2^63 - 1 expect(() => calloc(maxInt), throwsA(isA())); // Try to allocate almost the full 64 bit address space. - final maxInt1_8 = 1152921504606846975; // 2^60 -1 + const maxInt1_8 = 1152921504606846975; // 2^60 -1 expect(() => calloc(maxInt1_8), throwsA(isA())); }); diff --git a/pkgs/ffi/test/utf16_test.dart b/pkgs/ffi/test/utf16_test.dart index e64e4be89d..475086728a 100644 --- a/pkgs/ffi/test/utf16_test.dart +++ b/pkgs/ffi/test/utf16_test.dart @@ -9,7 +9,7 @@ import 'package:test/test.dart'; void main() { test('toUtf16 ASCII', () { - final start = 'Hello World!\n'; + const start = 'Hello World!\n'; final converted = start.toNativeUtf16().cast(); final end = converted.asTypedList(start.codeUnits.length + 1); final matcher = equals(start.codeUnits.toList()..add(0)); @@ -18,7 +18,7 @@ void main() { }); test('toUtf16 emoji', () { - final start = '😎'; + const start = '😎'; final converted = start.toNativeUtf16().cast(); final length = start.codeUnits.length; final end = converted.cast().asTypedList(length + 1); @@ -28,7 +28,7 @@ void main() { }); test('from Utf16 ASCII', () { - final string = 'Hello World!\n'; + const string = 'Hello World!\n'; final utf16Pointer = string.toNativeUtf16(); final stringAgain = utf16Pointer.toDartString(); expect(stringAgain, string); @@ -36,7 +36,7 @@ void main() { }); test('from Utf16 emoji', () { - final string = '😎'; + const string = '😎'; final utf16Pointer = string.toNativeUtf16(); final stringAgain = utf16Pointer.toDartString(); expect(stringAgain, string); @@ -44,7 +44,7 @@ void main() { }); test('zero bytes', () { - final string = 'Hello\x00World!\n'; + const string = 'Hello\x00World!\n'; final utf16Pointer = string.toNativeUtf16(); final stringAgain = utf16Pointer.toDartString(length: 13); expect(stringAgain, string); @@ -52,14 +52,14 @@ void main() { }); test('length', () { - final string = 'Hello'; + const string = 'Hello'; final utf16Pointer = string.toNativeUtf16(); expect(utf16Pointer.length, 5); calloc.free(utf16Pointer); }); test('fromUtf8 with negative length', () { - final string = 'Hello'; + const string = 'Hello'; final utf16 = string.toNativeUtf16(); expect(() => utf16.toDartString(length: -1), throwsRangeError); calloc.free(utf16); diff --git a/pkgs/ffi/test/utf8_test.dart b/pkgs/ffi/test/utf8_test.dart index 80ccfc90d6..25f88cc366 100644 --- a/pkgs/ffi/test/utf8_test.dart +++ b/pkgs/ffi/test/utf8_test.dart @@ -17,7 +17,7 @@ Pointer _bytesFromList(List ints) { void main() { test('toUtf8 ASCII', () { - final start = 'Hello World!\n'; + const start = 'Hello World!\n'; final converted = start.toNativeUtf8().cast(); final end = converted.asTypedList(start.length + 1); final matcher = equals( @@ -36,7 +36,7 @@ void main() { }); test('toUtf8 emoji', () { - final start = '😎👿💬'; + const start = '😎👿💬'; final converted = start.toNativeUtf8().cast(); final length = converted.length; final end = converted.cast().asTypedList(length + 1); @@ -100,7 +100,7 @@ void main() { }); test('length', () { - final string = 'Hello'; + const string = 'Hello'; final utf8Pointer = string.toNativeUtf8(); expect(utf8Pointer.length, 5); calloc.free(utf8Pointer); @@ -117,7 +117,7 @@ void main() { }); test('zero terminated', () { - final string = 'Hello'; + const string = 'Hello'; final utf8Pointer = string.toNativeUtf8(); final charPointer = utf8Pointer.cast(); expect(charPointer[utf8Pointer.length], 0); diff --git a/pkgs/ffigen/lib/src/code_generator/writer.dart b/pkgs/ffigen/lib/src/code_generator/writer.dart index 5561266320..0f51c25af4 100644 --- a/pkgs/ffigen/lib/src/code_generator/writer.dart +++ b/pkgs/ffigen/lib/src/code_generator/writer.dart @@ -192,7 +192,7 @@ class Writer { /// Finding a unique prefix for Array Helper Classes and store into /// [_arrayHelperClassPrefix]. - final base = 'ArrayHelper'; + const base = 'ArrayHelper'; _arrayHelperClassPrefix = base; var suffixInt = 0; for (var i = 0; i < allNameSet.length; i++) { diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart index 5e8c62fffd..924c689eba 100644 --- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart +++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart @@ -278,7 +278,7 @@ void _compoundMembersVisitor( // Anonymous members are always unnamed. To avoid environment- // dependent naming issues with the generated code, we explicitly // use the empty string as spelling. - final spelling = ''; + const spelling = ''; parsed.compound.members.add( CompoundMember( diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/macro_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/macro_parser.dart index 5ab325906a..1efc6b6057 100644 --- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/macro_parser.dart +++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/macro_parser.dart @@ -167,7 +167,7 @@ late Set _macroVarNames; /// Creates a temporary file for parsing macros in current directory. File createFileForMacros() { final fileNameBase = p.normalize(p.join(strings.tmpDir, 'temp_for_macros')); - final fileExt = 'hpp'; + const fileExt = 'hpp'; // Find a filename which doesn't already exist. var file = File('$fileNameBase.$fileExt'); diff --git a/pkgs/ffigen/test/code_generator_tests/code_generator_test.dart b/pkgs/ffigen/test/code_generator_tests/code_generator_test.dart index 182f8b614d..dcd7f060a4 100644 --- a/pkgs/ffigen/test/code_generator_tests/code_generator_test.dart +++ b/pkgs/ffigen/test/code_generator_tests/code_generator_test.dart @@ -601,7 +601,7 @@ void main() { }); test('Adds Native symbol on mismatch', () { - final nativeConfig = const FfiNativeConfig(enabled: true); + const nativeConfig = FfiNativeConfig(enabled: true); final library = Library( name: 'init_dylib', header: diff --git a/pkgs/ffigen/test/config_tests/compiler_opts_test.dart b/pkgs/ffigen/test/config_tests/compiler_opts_test.dart index 97ed605f09..6eec6e41a3 100644 --- a/pkgs/ffigen/test/config_tests/compiler_opts_test.dart +++ b/pkgs/ffigen/test/config_tests/compiler_opts_test.dart @@ -13,7 +13,7 @@ import '../test_utils.dart'; void main() { group('compiler_opts_test', () { test('Compiler Opts', () { - final opts = + const opts = '''--option value "in double quotes" 'in single quotes' -tab=separated'''; final list = compilerOptsToList(opts); expect( diff --git a/pkgs/ffigen/test/native_test/native_test.dart b/pkgs/ffigen/test/native_test/native_test.dart index d186065e57..5a994ef4b5 100644 --- a/pkgs/ffigen/test/native_test/native_test.dart +++ b/pkgs/ffigen/test/native_test/native_test.dart @@ -155,7 +155,7 @@ void main() { }); test('Enum1 is a Dart enum', () { - final enum1 = Enum1.enum1Value1; + const enum1 = Enum1.enum1Value1; final result = bindings.funcWithEnum1(enum1); expect(enum1, isA()); expect(enum1.value, isA()); @@ -163,7 +163,7 @@ void main() { }); test('Enum2 is a Dart integer', () { - final enum2 = Enum2.enum2Value1; + const enum2 = Enum2.enum2Value1; final result = bindings.funcWithEnum2(enum2); expect(enum2, isA()); expect(result, enum2); diff --git a/pkgs/ffigen/test/rename_tests/rename_test.dart b/pkgs/ffigen/test/rename_tests/rename_test.dart index c9b8206997..c4604bfee1 100644 --- a/pkgs/ffigen/test/rename_tests/rename_test.dart +++ b/pkgs/ffigen/test/rename_tests/rename_test.dart @@ -10,10 +10,10 @@ import 'package:test/test.dart'; import '../test_utils.dart'; late Library actual, expected; -final functionPrefix = 'fff'; -final structPrefix = 'sss'; -final enumPrefix = 'eee'; -final macroPrefix = 'mmm'; +const functionPrefix = 'fff'; +const structPrefix = 'sss'; +const enumPrefix = 'eee'; +const macroPrefix = 'mmm'; void main() { group('rename_test', () { diff --git a/pkgs/ffigen/test_flutter/flutter_template_tests/flutter_plugin_ffi_test.dart b/pkgs/ffigen/test_flutter/flutter_template_tests/flutter_plugin_ffi_test.dart index e8e2734754..d48908d1e7 100644 --- a/pkgs/ffigen/test_flutter/flutter_template_tests/flutter_plugin_ffi_test.dart +++ b/pkgs/ffigen/test_flutter/flutter_template_tests/flutter_plugin_ffi_test.dart @@ -12,7 +12,7 @@ import 'package:test/test.dart'; void main() { Uri? tempDirUri; - final projectName = 'test_project'; + const projectName = 'test_project'; setUp(() async { tempDirUri = (await Directory.current.createTemp('.temp_test_')).uri; From 1e939dd3b0cff483e07f2f393f5c3cd08fa6ffb8 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Mon, 13 Jan 2025 13:37:44 -0500 Subject: [PATCH 24/41] Added all native_assets_builder/test_data to workspace --- .../test_data/add_asset_link/pubspec.yaml | 12 ++++-------- .../test_data/complex_link/pubspec.yaml | 7 +++---- .../complex_link_helper/pubspec.yaml | 7 +++---- .../test_data/cyclic_package_1/pubspec.yaml | 8 +++----- .../test_data/cyclic_package_2/pubspec.yaml | 8 +++----- .../test_data/drop_dylib_link/pubspec.yaml | 12 ++++-------- .../test_data/no_asset_for_link/pubspec.yaml | 7 +++---- .../package_reading_metadata/pubspec.yaml | 8 +++----- .../package_with_metadata/pubspec.yaml | 8 +++----- .../test_data/simple_data_asset/pubspec.yaml | 7 +++---- .../test_data/simple_link/pubspec.yaml | 7 +++---- .../test_data/some_dev_dep/pubspec.yaml | 3 ++- .../test_data/transformer/pubspec.yaml | 8 +++----- .../test_data/use_all_api/pubspec.yaml | 7 +++---- .../test_data/wrong_build_output/pubspec.yaml | 8 +++----- .../wrong_build_output_2/pubspec.yaml | 8 +++----- .../wrong_build_output_3/pubspec.yaml | 8 +++----- .../test_data/wrong_linker/pubspec.yaml | 10 ++++------ .../wrong_namespace_asset/pubspec.yaml | 8 +++----- pubspec.yaml | 19 +++++++++++++++++++ 20 files changed, 78 insertions(+), 92 deletions(-) diff --git a/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml index 4a873bb78f..bb0633f690 100644 --- a/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml @@ -5,20 +5,16 @@ version: 1.0.0 publish_to: none environment: - sdk: ^3.0.0 + sdk: ^3.6.0 dependencies: logging: ^1.1.1 meta: ^1.12.0 - native_assets_cli: ^0.10.0 + native_assets_cli: ^0.11.0-wip # native_toolchain_c: ^0.7.0 - native_toolchain_c: - path: ../../../native_toolchain_c/ + native_toolchain_c: ^0.8.0-wip -dependency_overrides: - native_assets_cli: - path: ../../../native_assets_cli/ dev_dependencies: - lints: ^3.0.0 test: ^1.24.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/complex_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/complex_link/pubspec.yaml index c6d1df1ffe..0db3c4d19e 100644 --- a/pkgs/native_assets_builder/test_data/complex_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/complex_link/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.6.0 dependencies: cli_config: ^0.2.0 @@ -13,10 +13,9 @@ dependencies: path: ../complex_link_helper/ logging: ^1.1.1 # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip dev_dependencies: - lints: ^3.0.0 path: ^1.9.0 test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/complex_link_helper/pubspec.yaml b/pkgs/native_assets_builder/test_data/complex_link_helper/pubspec.yaml index d2467cb39d..d09b4d4391 100644 --- a/pkgs/native_assets_builder/test_data/complex_link_helper/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/complex_link_helper/pubspec.yaml @@ -5,16 +5,15 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.6.0 dependencies: cli_config: ^0.2.0 logging: ^1.1.1 # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip dev_dependencies: - lints: ^3.0.0 path: ^1.9.0 test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/cyclic_package_1/pubspec.yaml b/pkgs/native_assets_builder/test_data/cyclic_package_1/pubspec.yaml index 716545293d..f4bc34dd23 100644 --- a/pkgs/native_assets_builder/test_data/cyclic_package_1/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/cyclic_package_1/pubspec.yaml @@ -5,16 +5,14 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: cyclic_package_2: path: ../cyclic_package_2 # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/cyclic_package_2/pubspec.yaml b/pkgs/native_assets_builder/test_data/cyclic_package_2/pubspec.yaml index 5326c07960..b493e6a555 100644 --- a/pkgs/native_assets_builder/test_data/cyclic_package_2/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/cyclic_package_2/pubspec.yaml @@ -5,16 +5,14 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: cyclic_package_1: path: ../cyclic_package_1 # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml index f930cd428d..e246ed4740 100644 --- a/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml @@ -5,19 +5,15 @@ version: 1.0.0 publish_to: none environment: - sdk: ^3.0.0 + sdk: ^3.6.0 dependencies: logging: ^1.1.1 - native_assets_cli: ^0.10.0 + native_assets_cli: ^0.11.0-wip # native_toolchain_c: ^0.7.0 - native_toolchain_c: - path: ../../../native_toolchain_c/ + native_toolchain_c: ^0.8.0-wip -dependency_overrides: - native_assets_cli: - path: ../../../native_assets_cli/ dev_dependencies: - lints: ^3.0.0 test: ^1.24.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/no_asset_for_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/no_asset_for_link/pubspec.yaml index 8d2ca6bf82..9b855895fc 100644 --- a/pkgs/native_assets_builder/test_data/no_asset_for_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/no_asset_for_link/pubspec.yaml @@ -5,15 +5,14 @@ version: 1.0.0 publish_to: none environment: - sdk: ^3.0.0 + sdk: ^3.6.0 dependencies: logging: ^1.1.1 meta: ^1.12.0 # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip dev_dependencies: - lints: ^3.0.0 test: ^1.24.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/package_reading_metadata/pubspec.yaml b/pkgs/native_assets_builder/test_data/package_reading_metadata/pubspec.yaml index 40af5d7df9..b76dc2af83 100644 --- a/pkgs/native_assets_builder/test_data/package_reading_metadata/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/package_reading_metadata/pubspec.yaml @@ -5,16 +5,14 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip package_with_metadata: path: ../package_with_metadata/ yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/package_with_metadata/pubspec.yaml b/pkgs/native_assets_builder/test_data/package_with_metadata/pubspec.yaml index 20881d9bf7..defd17e355 100644 --- a/pkgs/native_assets_builder/test_data/package_with_metadata/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/package_with_metadata/pubspec.yaml @@ -5,14 +5,12 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml b/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml index f4d7c18695..396a3907be 100644 --- a/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml @@ -5,14 +5,13 @@ version: 1.0.0 publish_to: none environment: - sdk: ^3.0.0 + sdk: ^3.6.0 dependencies: logging: ^1.1.1 # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip dev_dependencies: - lints: ^3.0.0 test: ^1.24.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/simple_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/simple_link/pubspec.yaml index a594c73275..5fc47bff60 100644 --- a/pkgs/native_assets_builder/test_data/simple_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/simple_link/pubspec.yaml @@ -5,16 +5,15 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.6.0 dependencies: cli_config: ^0.2.0 logging: ^1.1.1 # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip dev_dependencies: - lints: ^3.0.0 path: ^1.9.0 test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/some_dev_dep/pubspec.yaml b/pkgs/native_assets_builder/test_data/some_dev_dep/pubspec.yaml index f3fe7dc849..e20ffb1c2b 100644 --- a/pkgs/native_assets_builder/test_data/some_dev_dep/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/some_dev_dep/pubspec.yaml @@ -5,4 +5,5 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/transformer/pubspec.yaml b/pkgs/native_assets_builder/test_data/transformer/pubspec.yaml index 23becbfbd1..e8264dcf00 100644 --- a/pkgs/native_assets_builder/test_data/transformer/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/transformer/pubspec.yaml @@ -5,13 +5,11 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: crypto: ^3.0.6 # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/use_all_api/pubspec.yaml b/pkgs/native_assets_builder/test_data/use_all_api/pubspec.yaml index 309548f415..56541b18a1 100644 --- a/pkgs/native_assets_builder/test_data/use_all_api/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/use_all_api/pubspec.yaml @@ -6,16 +6,15 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.6.0 dependencies: cli_config: ^0.2.0 logging: ^1.1.1 # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip dev_dependencies: - lints: ^3.0.0 path: ^1.9.0 test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/wrong_build_output/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_build_output/pubspec.yaml index bd6fea8d8c..c83f1e1e39 100644 --- a/pkgs/native_assets_builder/test_data/wrong_build_output/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_build_output/pubspec.yaml @@ -5,14 +5,12 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/wrong_build_output_2/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_build_output_2/pubspec.yaml index 15dc2fc18b..ce33b7dc44 100644 --- a/pkgs/native_assets_builder/test_data/wrong_build_output_2/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_build_output_2/pubspec.yaml @@ -5,14 +5,12 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/wrong_build_output_3/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_build_output_3/pubspec.yaml index 22d638b7cd..04f7603ad8 100644 --- a/pkgs/native_assets_builder/test_data/wrong_build_output_3/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_build_output_3/pubspec.yaml @@ -5,14 +5,12 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml index 81cea455c0..b737c80066 100644 --- a/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml @@ -1,18 +1,16 @@ -name: wrong_namespace_asset +name: wrong_linker description: Package that tries to add an asset with an id not prefixed by its package name. version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/wrong_namespace_asset/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_namespace_asset/pubspec.yaml index 81cea455c0..0518e80e47 100644 --- a/pkgs/native_assets_builder/test_data/wrong_namespace_asset/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_namespace_asset/pubspec.yaml @@ -5,14 +5,12 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pubspec.yaml b/pubspec.yaml index c3324efe2e..29b068712a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -9,6 +9,25 @@ workspace: - pkgs/jni - pkgs/jnigen - pkgs/native_assets_builder + - pkgs/native_assets_builder/test_data/add_asset_link + - pkgs/native_assets_builder/test_data/complex_link + - pkgs/native_assets_builder/test_data/complex_link_helper + - pkgs/native_assets_builder/test_data/cyclic_package_1 + - pkgs/native_assets_builder/test_data/cyclic_package_2 + - pkgs/native_assets_builder/test_data/drop_dylib_link + - pkgs/native_assets_builder/test_data/no_asset_for_link + - pkgs/native_assets_builder/test_data/package_reading_metadata + - pkgs/native_assets_builder/test_data/package_with_metadata + - pkgs/native_assets_builder/test_data/simple_data_asset + - pkgs/native_assets_builder/test_data/simple_link + - pkgs/native_assets_builder/test_data/some_dev_dep + - pkgs/native_assets_builder/test_data/transformer + - pkgs/native_assets_builder/test_data/use_all_api + - pkgs/native_assets_builder/test_data/wrong_build_output + - pkgs/native_assets_builder/test_data/wrong_build_output_2 + - pkgs/native_assets_builder/test_data/wrong_build_output_3 + - pkgs/native_assets_builder/test_data/wrong_linker + - pkgs/native_assets_builder/test_data/wrong_namespace_asset - pkgs/native_assets_cli - pkgs/native_toolchain_c - pkgs/objective_c From e449145bd2f45770d27f4194f555420e3dcaf73e Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Mon, 13 Jan 2025 13:46:16 -0500 Subject: [PATCH 25/41] Revert "Added all native_assets_builder/test_data to workspace" This reverts commit 1e939dd3b0cff483e07f2f393f5c3cd08fa6ffb8. --- .../test_data/add_asset_link/pubspec.yaml | 12 ++++++++---- .../test_data/complex_link/pubspec.yaml | 7 ++++--- .../complex_link_helper/pubspec.yaml | 7 ++++--- .../test_data/cyclic_package_1/pubspec.yaml | 8 +++++--- .../test_data/cyclic_package_2/pubspec.yaml | 8 +++++--- .../test_data/drop_dylib_link/pubspec.yaml | 12 ++++++++---- .../test_data/no_asset_for_link/pubspec.yaml | 7 ++++--- .../package_reading_metadata/pubspec.yaml | 8 +++++--- .../package_with_metadata/pubspec.yaml | 8 +++++--- .../test_data/simple_data_asset/pubspec.yaml | 7 ++++--- .../test_data/simple_link/pubspec.yaml | 7 ++++--- .../test_data/some_dev_dep/pubspec.yaml | 3 +-- .../test_data/transformer/pubspec.yaml | 8 +++++--- .../test_data/use_all_api/pubspec.yaml | 7 ++++--- .../test_data/wrong_build_output/pubspec.yaml | 8 +++++--- .../wrong_build_output_2/pubspec.yaml | 8 +++++--- .../wrong_build_output_3/pubspec.yaml | 8 +++++--- .../test_data/wrong_linker/pubspec.yaml | 10 ++++++---- .../wrong_namespace_asset/pubspec.yaml | 8 +++++--- pubspec.yaml | 19 ------------------- 20 files changed, 92 insertions(+), 78 deletions(-) diff --git a/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml index bb0633f690..4a873bb78f 100644 --- a/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml @@ -5,16 +5,20 @@ version: 1.0.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: ^3.0.0 dependencies: logging: ^1.1.1 meta: ^1.12.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 - native_toolchain_c: ^0.8.0-wip + native_toolchain_c: + path: ../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../native_assets_cli/ dev_dependencies: + lints: ^3.0.0 test: ^1.24.0 -resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/complex_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/complex_link/pubspec.yaml index 0db3c4d19e..c6d1df1ffe 100644 --- a/pkgs/native_assets_builder/test_data/complex_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/complex_link/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.0.0 <4.0.0' dependencies: cli_config: ^0.2.0 @@ -13,9 +13,10 @@ dependencies: path: ../complex_link_helper/ logging: ^1.1.1 # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ dev_dependencies: + lints: ^3.0.0 path: ^1.9.0 test: ^1.23.1 -resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/complex_link_helper/pubspec.yaml b/pkgs/native_assets_builder/test_data/complex_link_helper/pubspec.yaml index d09b4d4391..d2467cb39d 100644 --- a/pkgs/native_assets_builder/test_data/complex_link_helper/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/complex_link_helper/pubspec.yaml @@ -5,15 +5,16 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.0.0 <4.0.0' dependencies: cli_config: ^0.2.0 logging: ^1.1.1 # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ dev_dependencies: + lints: ^3.0.0 path: ^1.9.0 test: ^1.23.1 -resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/cyclic_package_1/pubspec.yaml b/pkgs/native_assets_builder/test_data/cyclic_package_1/pubspec.yaml index f4bc34dd23..716545293d 100644 --- a/pkgs/native_assets_builder/test_data/cyclic_package_1/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/cyclic_package_1/pubspec.yaml @@ -5,14 +5,16 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.3.0 <4.0.0' dependencies: cyclic_package_2: path: ../cyclic_package_2 # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ yaml: ^3.1.1 yaml_edit: ^2.1.0 -resolution: workspace +dev_dependencies: + lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/cyclic_package_2/pubspec.yaml b/pkgs/native_assets_builder/test_data/cyclic_package_2/pubspec.yaml index b493e6a555..5326c07960 100644 --- a/pkgs/native_assets_builder/test_data/cyclic_package_2/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/cyclic_package_2/pubspec.yaml @@ -5,14 +5,16 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.3.0 <4.0.0' dependencies: cyclic_package_1: path: ../cyclic_package_1 # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ yaml: ^3.1.1 yaml_edit: ^2.1.0 -resolution: workspace +dev_dependencies: + lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml index e246ed4740..f930cd428d 100644 --- a/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml @@ -5,15 +5,19 @@ version: 1.0.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: ^3.0.0 dependencies: logging: ^1.1.1 - native_assets_cli: ^0.11.0-wip + native_assets_cli: ^0.10.0 # native_toolchain_c: ^0.7.0 - native_toolchain_c: ^0.8.0-wip + native_toolchain_c: + path: ../../../native_toolchain_c/ +dependency_overrides: + native_assets_cli: + path: ../../../native_assets_cli/ dev_dependencies: + lints: ^3.0.0 test: ^1.24.0 -resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/no_asset_for_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/no_asset_for_link/pubspec.yaml index 9b855895fc..8d2ca6bf82 100644 --- a/pkgs/native_assets_builder/test_data/no_asset_for_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/no_asset_for_link/pubspec.yaml @@ -5,14 +5,15 @@ version: 1.0.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: ^3.0.0 dependencies: logging: ^1.1.1 meta: ^1.12.0 # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ dev_dependencies: + lints: ^3.0.0 test: ^1.24.0 -resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/package_reading_metadata/pubspec.yaml b/pkgs/native_assets_builder/test_data/package_reading_metadata/pubspec.yaml index b76dc2af83..40af5d7df9 100644 --- a/pkgs/native_assets_builder/test_data/package_reading_metadata/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/package_reading_metadata/pubspec.yaml @@ -5,14 +5,16 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.3.0 <4.0.0' dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ package_with_metadata: path: ../package_with_metadata/ yaml: ^3.1.1 yaml_edit: ^2.1.0 -resolution: workspace +dev_dependencies: + lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/package_with_metadata/pubspec.yaml b/pkgs/native_assets_builder/test_data/package_with_metadata/pubspec.yaml index defd17e355..20881d9bf7 100644 --- a/pkgs/native_assets_builder/test_data/package_with_metadata/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/package_with_metadata/pubspec.yaml @@ -5,12 +5,14 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.3.0 <4.0.0' dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ yaml: ^3.1.1 yaml_edit: ^2.1.0 -resolution: workspace +dev_dependencies: + lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml b/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml index 396a3907be..f4d7c18695 100644 --- a/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml @@ -5,13 +5,14 @@ version: 1.0.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: ^3.0.0 dependencies: logging: ^1.1.1 # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ dev_dependencies: + lints: ^3.0.0 test: ^1.24.0 -resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/simple_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/simple_link/pubspec.yaml index 5fc47bff60..a594c73275 100644 --- a/pkgs/native_assets_builder/test_data/simple_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/simple_link/pubspec.yaml @@ -5,15 +5,16 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.0.0 <4.0.0' dependencies: cli_config: ^0.2.0 logging: ^1.1.1 # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ dev_dependencies: + lints: ^3.0.0 path: ^1.9.0 test: ^1.23.1 -resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/some_dev_dep/pubspec.yaml b/pkgs/native_assets_builder/test_data/some_dev_dep/pubspec.yaml index e20ffb1c2b..f3fe7dc849 100644 --- a/pkgs/native_assets_builder/test_data/some_dev_dep/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/some_dev_dep/pubspec.yaml @@ -5,5 +5,4 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 -resolution: workspace + sdk: '>=3.3.0 <4.0.0' diff --git a/pkgs/native_assets_builder/test_data/transformer/pubspec.yaml b/pkgs/native_assets_builder/test_data/transformer/pubspec.yaml index e8264dcf00..23becbfbd1 100644 --- a/pkgs/native_assets_builder/test_data/transformer/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/transformer/pubspec.yaml @@ -5,11 +5,13 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.3.0 <4.0.0' dependencies: crypto: ^3.0.6 # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ -resolution: workspace +dev_dependencies: + lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/use_all_api/pubspec.yaml b/pkgs/native_assets_builder/test_data/use_all_api/pubspec.yaml index 56541b18a1..309548f415 100644 --- a/pkgs/native_assets_builder/test_data/use_all_api/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/use_all_api/pubspec.yaml @@ -6,15 +6,16 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.0.0 <4.0.0' dependencies: cli_config: ^0.2.0 logging: ^1.1.1 # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ dev_dependencies: + lints: ^3.0.0 path: ^1.9.0 test: ^1.23.1 -resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/wrong_build_output/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_build_output/pubspec.yaml index c83f1e1e39..bd6fea8d8c 100644 --- a/pkgs/native_assets_builder/test_data/wrong_build_output/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_build_output/pubspec.yaml @@ -5,12 +5,14 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.3.0 <4.0.0' dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ yaml: ^3.1.1 yaml_edit: ^2.1.0 -resolution: workspace +dev_dependencies: + lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/wrong_build_output_2/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_build_output_2/pubspec.yaml index ce33b7dc44..15dc2fc18b 100644 --- a/pkgs/native_assets_builder/test_data/wrong_build_output_2/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_build_output_2/pubspec.yaml @@ -5,12 +5,14 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.3.0 <4.0.0' dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ yaml: ^3.1.1 yaml_edit: ^2.1.0 -resolution: workspace +dev_dependencies: + lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/wrong_build_output_3/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_build_output_3/pubspec.yaml index 04f7603ad8..22d638b7cd 100644 --- a/pkgs/native_assets_builder/test_data/wrong_build_output_3/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_build_output_3/pubspec.yaml @@ -5,12 +5,14 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.3.0 <4.0.0' dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ yaml: ^3.1.1 yaml_edit: ^2.1.0 -resolution: workspace +dev_dependencies: + lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml index b737c80066..81cea455c0 100644 --- a/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml @@ -1,16 +1,18 @@ -name: wrong_linker +name: wrong_namespace_asset description: Package that tries to add an asset with an id not prefixed by its package name. version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.3.0 <4.0.0' dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ yaml: ^3.1.1 yaml_edit: ^2.1.0 -resolution: workspace +dev_dependencies: + lints: ^3.0.0 diff --git a/pkgs/native_assets_builder/test_data/wrong_namespace_asset/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_namespace_asset/pubspec.yaml index 0518e80e47..81cea455c0 100644 --- a/pkgs/native_assets_builder/test_data/wrong_namespace_asset/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_namespace_asset/pubspec.yaml @@ -5,12 +5,14 @@ version: 0.1.0 publish_to: none environment: - sdk: ^3.6.0 + sdk: '>=3.3.0 <4.0.0' dependencies: # native_assets_cli: ^0.10.0 - native_assets_cli: ^0.11.0-wip + native_assets_cli: + path: ../../../native_assets_cli/ yaml: ^3.1.1 yaml_edit: ^2.1.0 -resolution: workspace +dev_dependencies: + lints: ^3.0.0 diff --git a/pubspec.yaml b/pubspec.yaml index 29b068712a..c3324efe2e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -9,25 +9,6 @@ workspace: - pkgs/jni - pkgs/jnigen - pkgs/native_assets_builder - - pkgs/native_assets_builder/test_data/add_asset_link - - pkgs/native_assets_builder/test_data/complex_link - - pkgs/native_assets_builder/test_data/complex_link_helper - - pkgs/native_assets_builder/test_data/cyclic_package_1 - - pkgs/native_assets_builder/test_data/cyclic_package_2 - - pkgs/native_assets_builder/test_data/drop_dylib_link - - pkgs/native_assets_builder/test_data/no_asset_for_link - - pkgs/native_assets_builder/test_data/package_reading_metadata - - pkgs/native_assets_builder/test_data/package_with_metadata - - pkgs/native_assets_builder/test_data/simple_data_asset - - pkgs/native_assets_builder/test_data/simple_link - - pkgs/native_assets_builder/test_data/some_dev_dep - - pkgs/native_assets_builder/test_data/transformer - - pkgs/native_assets_builder/test_data/use_all_api - - pkgs/native_assets_builder/test_data/wrong_build_output - - pkgs/native_assets_builder/test_data/wrong_build_output_2 - - pkgs/native_assets_builder/test_data/wrong_build_output_3 - - pkgs/native_assets_builder/test_data/wrong_linker - - pkgs/native_assets_builder/test_data/wrong_namespace_asset - pkgs/native_assets_cli - pkgs/native_toolchain_c - pkgs/objective_c From 466625f6755f3b8087d72c47c984ad5f33cd8b32 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Mon, 13 Jan 2025 13:47:25 -0500 Subject: [PATCH 26/41] Fixed wrong_linker name --- pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml index 81cea455c0..a292d2b6cb 100644 --- a/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml @@ -1,4 +1,4 @@ -name: wrong_namespace_asset +name: wrong_linker description: Package that tries to add an asset with an id not prefixed by its package name. version: 0.1.0 From b69058e73601f7ce09e3ddf9af6420159e17c73e Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Mon, 13 Jan 2025 13:49:47 -0500 Subject: [PATCH 27/41] Fixed fail_on_os_sdk_version_link name --- .../test_data/fail_on_os_sdk_version_link/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_link/pubspec.yaml index 4d3ac3cb81..1f8f60efa8 100644 --- a/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_link/pubspec.yaml @@ -1,4 +1,4 @@ -name: fail_on_os_sdk_version +name: fail_on_os_sdk_version_link description: Fails the build due to OS API levels. version: 0.1.0 From 92c57ac78d021b8a5c9f32e60c99d98a42be1ae3 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Mon, 13 Jan 2025 13:50:32 -0500 Subject: [PATCH 28/41] Fixed native_add_source name --- .../test_data/native_add_add_source/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/native_assets_builder/test_data/native_add_add_source/pubspec.yaml b/pkgs/native_assets_builder/test_data/native_add_add_source/pubspec.yaml index 80c329a633..7aa9f6a172 100644 --- a/pkgs/native_assets_builder/test_data/native_add_add_source/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/native_add_add_source/pubspec.yaml @@ -1,4 +1,4 @@ -name: native_add +name: native_add_source description: Sums two numbers with native code. version: 0.1.0 From 27286a906a0dd6113e51085a8e14442a39c37d0a Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Mon, 13 Jan 2025 13:53:37 -0500 Subject: [PATCH 29/41] Fixed native_add_version_skew name --- .../test_data/native_add_version_skew/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/native_assets_builder/test_data/native_add_version_skew/pubspec.yaml b/pkgs/native_assets_builder/test_data/native_add_version_skew/pubspec.yaml index 310680f5c8..db4c69a77a 100644 --- a/pkgs/native_assets_builder/test_data/native_add_version_skew/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/native_add_version_skew/pubspec.yaml @@ -1,4 +1,4 @@ -name: native_add +name: native_add_version_skew description: Sums two numbers with native code. version: 0.1.0 From bad52badc41bd5bbea6a0068a82b64be4bbe695d Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Mon, 13 Jan 2025 14:10:02 -0500 Subject: [PATCH 30/41] Added all test_data to the workspace (not version_skew) --- .../test_data/add_asset_link/pubspec.yaml | 10 +++--- .../test_data/complex_link/pubspec.yaml | 6 ++-- .../complex_link_helper/pubspec.yaml | 6 ++-- .../test_data/cyclic_package_1/pubspec.yaml | 7 ++-- .../test_data/cyclic_package_2/pubspec.yaml | 7 ++-- .../test_data/dart_app/pubspec.yaml | 6 ++-- .../depend_on_fail_build/pubspec.yaml | 9 ++--- .../depend_on_fail_build_app/pubspec.yaml | 9 ++--- .../test_data/drop_dylib_link/pubspec.yaml | 10 +++--- .../test_data/fail_build/pubspec.yaml | 9 ++--- .../fail_on_os_sdk_version/pubspec.yaml | 9 ++--- .../fail_on_os_sdk_version_link/pubspec.yaml | 9 ++--- .../pubspec.yaml | 9 ++--- .../test_data/native_add/pubspec.yaml | 13 ++++---- .../native_add_add_source/pubspec.yaml | 13 ++++---- .../native_add_duplicate/pubspec.yaml | 13 ++++---- .../test/native_add_test.dart | 2 +- .../native_dynamic_linking/pubspec.yaml | 13 ++++---- .../test_data/native_subtract/pubspec.yaml | 13 ++++---- .../test_data/no_asset_for_link/pubspec.yaml | 6 ++-- .../package_reading_metadata/pubspec.yaml | 7 ++-- .../package_with_metadata/pubspec.yaml | 7 ++-- .../test_data/simple_data_asset/pubspec.yaml | 6 ++-- .../test_data/simple_link/pubspec.yaml | 6 ++-- .../test_data/some_dev_dep/pubspec.yaml | 3 +- .../test_data/system_library/pubspec.yaml | 13 ++++---- .../test_data/transformer/pubspec.yaml | 7 ++-- .../treeshaking_native_libs/pubspec.yaml | 11 +++---- .../test_data/use_all_api/pubspec.yaml | 6 ++-- .../test_data/wrong_build_output/pubspec.yaml | 7 ++-- .../wrong_build_output_2/pubspec.yaml | 7 ++-- .../wrong_build_output_3/pubspec.yaml | 7 ++-- .../test_data/wrong_linker/pubspec.yaml | 7 ++-- .../wrong_namespace_asset/pubspec.yaml | 7 ++-- pubspec.yaml | 33 +++++++++++++++++++ 35 files changed, 165 insertions(+), 148 deletions(-) diff --git a/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml index 4a873bb78f..ea43c6dd60 100644 --- a/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml @@ -5,20 +5,18 @@ version: 1.0.0 publish_to: none environment: - sdk: ^3.0.0 + sdk: ^3.6.0 dependencies: logging: ^1.1.1 meta: ^1.12.0 - native_assets_cli: ^0.10.0 + native_assets_cli: + path: ../../../native_assets_cli # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ -dependency_overrides: - native_assets_cli: - path: ../../../native_assets_cli/ dev_dependencies: - lints: ^3.0.0 test: ^1.24.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/complex_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/complex_link/pubspec.yaml index c6d1df1ffe..d08e7b6251 100644 --- a/pkgs/native_assets_builder/test_data/complex_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/complex_link/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.6.0 dependencies: cli_config: ^0.2.0 @@ -14,9 +14,9 @@ dependencies: logging: ^1.1.1 # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli dev_dependencies: - lints: ^3.0.0 path: ^1.9.0 test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/complex_link_helper/pubspec.yaml b/pkgs/native_assets_builder/test_data/complex_link_helper/pubspec.yaml index d2467cb39d..b7d873558c 100644 --- a/pkgs/native_assets_builder/test_data/complex_link_helper/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/complex_link_helper/pubspec.yaml @@ -5,16 +5,16 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.6.0 dependencies: cli_config: ^0.2.0 logging: ^1.1.1 # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli dev_dependencies: - lints: ^3.0.0 path: ^1.9.0 test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/cyclic_package_1/pubspec.yaml b/pkgs/native_assets_builder/test_data/cyclic_package_1/pubspec.yaml index 716545293d..b915d5ba0b 100644 --- a/pkgs/native_assets_builder/test_data/cyclic_package_1/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/cyclic_package_1/pubspec.yaml @@ -5,16 +5,15 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: cyclic_package_2: path: ../cyclic_package_2 # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/cyclic_package_2/pubspec.yaml b/pkgs/native_assets_builder/test_data/cyclic_package_2/pubspec.yaml index 5326c07960..325e51ee7c 100644 --- a/pkgs/native_assets_builder/test_data/cyclic_package_2/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/cyclic_package_2/pubspec.yaml @@ -5,16 +5,15 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: cyclic_package_1: path: ../cyclic_package_1 # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/dart_app/pubspec.yaml b/pkgs/native_assets_builder/test_data/dart_app/pubspec.yaml index 741d06d179..d3343683a5 100644 --- a/pkgs/native_assets_builder/test_data/dart_app/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/dart_app/pubspec.yaml @@ -3,7 +3,7 @@ name: dart_app publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: native_add: @@ -11,6 +11,4 @@ dependencies: native_subtract: path: ../native_subtract -dependency_overrides: - native_assets_cli: - path: ../../../native_assets_cli/ +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/depend_on_fail_build/pubspec.yaml b/pkgs/native_assets_builder/test_data/depend_on_fail_build/pubspec.yaml index a1f5d05bb1..0f2a8f0343 100644 --- a/pkgs/native_assets_builder/test_data/depend_on_fail_build/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/depend_on_fail_build/pubspec.yaml @@ -5,16 +5,17 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: fail_build: path: ../fail_build/ # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: + path: ../../../ffigen test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/depend_on_fail_build_app/pubspec.yaml b/pkgs/native_assets_builder/test_data/depend_on_fail_build_app/pubspec.yaml index 2c7064e5b3..af27b8b535 100644 --- a/pkgs/native_assets_builder/test_data/depend_on_fail_build_app/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/depend_on_fail_build_app/pubspec.yaml @@ -5,16 +5,17 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: depend_on_fail_build: path: ../depend_on_fail_build/ # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: + path: ../../../ffigen test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml index f930cd428d..196d50c5c6 100644 --- a/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml @@ -5,19 +5,17 @@ version: 1.0.0 publish_to: none environment: - sdk: ^3.0.0 + sdk: ^3.6.0 dependencies: logging: ^1.1.1 - native_assets_cli: ^0.10.0 + native_assets_cli: + path: ../../../native_assets_cli # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ -dependency_overrides: - native_assets_cli: - path: ../../../native_assets_cli/ dev_dependencies: - lints: ^3.0.0 test: ^1.24.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/fail_build/pubspec.yaml b/pkgs/native_assets_builder/test_data/fail_build/pubspec.yaml index dbd3c9001e..e7861316a1 100644 --- a/pkgs/native_assets_builder/test_data/fail_build/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/fail_build/pubspec.yaml @@ -5,14 +5,15 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: + path: ../../../ffigen test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version/pubspec.yaml b/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version/pubspec.yaml index 408914d3b6..815a60cc5e 100644 --- a/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version/pubspec.yaml @@ -5,14 +5,15 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: + path: ../../../ffigen test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_link/pubspec.yaml index 1f8f60efa8..89eb9dcf54 100644 --- a/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_link/pubspec.yaml @@ -5,16 +5,17 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: fail_on_os_sdk_version_linker: path: ../fail_on_os_sdk_version_linker/ # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: + path: ../../../ffigen test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_linker/pubspec.yaml b/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_linker/pubspec.yaml index 3606804123..945ba0c061 100644 --- a/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_linker/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_linker/pubspec.yaml @@ -5,14 +5,15 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: + path: ../../../ffigen test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/native_add/pubspec.yaml b/pkgs/native_assets_builder/test_data/native_add/pubspec.yaml index 2d94725e0f..f9a1726754 100644 --- a/pkgs/native_assets_builder/test_data/native_add/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/native_add/pubspec.yaml @@ -5,22 +5,21 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: logging: ^1.1.1 - native_assets_cli: ^0.10.0 + native_assets_cli: + path: ../../../native_assets_cli # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ -dependency_overrides: - native_assets_cli: - path: ../../../native_assets_cli/ dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: + path: ../../../ffigen some_dev_dep: path: ../some_dev_dep/ test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/native_add_add_source/pubspec.yaml b/pkgs/native_assets_builder/test_data/native_add_add_source/pubspec.yaml index 7aa9f6a172..b3a99edb60 100644 --- a/pkgs/native_assets_builder/test_data/native_add_add_source/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/native_add_add_source/pubspec.yaml @@ -5,20 +5,19 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: logging: ^1.1.1 - native_assets_cli: ^0.10.0 + native_assets_cli: + path: ../../../native_assets_cli # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ -dependency_overrides: - native_assets_cli: - path: ../../../native_assets_cli/ dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: + path: ../../../ffigen test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/native_add_duplicate/pubspec.yaml b/pkgs/native_assets_builder/test_data/native_add_duplicate/pubspec.yaml index c168a5b242..4d2df04670 100644 --- a/pkgs/native_assets_builder/test_data/native_add_duplicate/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/native_add_duplicate/pubspec.yaml @@ -5,24 +5,23 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: logging: ^1.1.1 native_add: path: ../native_add/ - native_assets_cli: ^0.10.0 + native_assets_cli: + path: ../../../native_assets_cli # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ -dependency_overrides: - native_assets_cli: - path: ../../../native_assets_cli/ dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: + path: ../../../ffigen some_dev_dep: path: ../some_dev_dep/ test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/native_add_version_skew/test/native_add_test.dart b/pkgs/native_assets_builder/test_data/native_add_version_skew/test/native_add_test.dart index f34b5a6eaa..16619b3300 100644 --- a/pkgs/native_assets_builder/test_data/native_add_version_skew/test/native_add_test.dart +++ b/pkgs/native_assets_builder/test_data/native_add_version_skew/test/native_add_test.dart @@ -2,7 +2,7 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -import 'package:native_add/native_add.dart'; +import 'package:native_add_version_skew/native_add.dart'; import 'package:test/test.dart'; void main() { diff --git a/pkgs/native_assets_builder/test_data/native_dynamic_linking/pubspec.yaml b/pkgs/native_assets_builder/test_data/native_dynamic_linking/pubspec.yaml index bcb9a9c818..64db0488c0 100644 --- a/pkgs/native_assets_builder/test_data/native_dynamic_linking/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/native_dynamic_linking/pubspec.yaml @@ -6,20 +6,19 @@ version: 0.1.0 repository: https://github.com/dart-lang/native/tree/main/pkgs/native_assets_cli/example/build/native_dynamic_linking environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: logging: ^1.1.1 - native_assets_cli: ^0.10.0 + native_assets_cli: + path: ../../../native_assets_cli # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ -dependency_overrides: - native_assets_cli: - path: ../../../native_assets_cli/ dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: + path: ../../../ffigen test: ^1.21.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/native_subtract/pubspec.yaml b/pkgs/native_assets_builder/test_data/native_subtract/pubspec.yaml index 83e88ae8de..a0f3583720 100644 --- a/pkgs/native_assets_builder/test_data/native_subtract/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/native_subtract/pubspec.yaml @@ -5,20 +5,19 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: logging: ^1.1.1 - native_assets_cli: ^0.10.0 + native_assets_cli: + path: ../../../native_assets_cli # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ -dependency_overrides: - native_assets_cli: - path: ../../../native_assets_cli/ dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: + path: ../../../ffigen test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/no_asset_for_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/no_asset_for_link/pubspec.yaml index 8d2ca6bf82..edb9e4f894 100644 --- a/pkgs/native_assets_builder/test_data/no_asset_for_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/no_asset_for_link/pubspec.yaml @@ -5,15 +5,15 @@ version: 1.0.0 publish_to: none environment: - sdk: ^3.0.0 + sdk: ^3.6.0 dependencies: logging: ^1.1.1 meta: ^1.12.0 # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli dev_dependencies: - lints: ^3.0.0 test: ^1.24.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/package_reading_metadata/pubspec.yaml b/pkgs/native_assets_builder/test_data/package_reading_metadata/pubspec.yaml index 40af5d7df9..8cdb219316 100644 --- a/pkgs/native_assets_builder/test_data/package_reading_metadata/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/package_reading_metadata/pubspec.yaml @@ -5,16 +5,15 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli package_with_metadata: path: ../package_with_metadata/ yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/package_with_metadata/pubspec.yaml b/pkgs/native_assets_builder/test_data/package_with_metadata/pubspec.yaml index 20881d9bf7..129b0deac9 100644 --- a/pkgs/native_assets_builder/test_data/package_with_metadata/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/package_with_metadata/pubspec.yaml @@ -5,14 +5,13 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml b/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml index f4d7c18695..58dd4d4e8f 100644 --- a/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml @@ -5,14 +5,14 @@ version: 1.0.0 publish_to: none environment: - sdk: ^3.0.0 + sdk: ^3.6.0 dependencies: logging: ^1.1.1 # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli dev_dependencies: - lints: ^3.0.0 test: ^1.24.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/simple_link/pubspec.yaml b/pkgs/native_assets_builder/test_data/simple_link/pubspec.yaml index a594c73275..d7292fdb6a 100644 --- a/pkgs/native_assets_builder/test_data/simple_link/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/simple_link/pubspec.yaml @@ -5,16 +5,16 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.6.0 dependencies: cli_config: ^0.2.0 logging: ^1.1.1 # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli dev_dependencies: - lints: ^3.0.0 path: ^1.9.0 test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/some_dev_dep/pubspec.yaml b/pkgs/native_assets_builder/test_data/some_dev_dep/pubspec.yaml index f3fe7dc849..e20ffb1c2b 100644 --- a/pkgs/native_assets_builder/test_data/some_dev_dep/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/some_dev_dep/pubspec.yaml @@ -5,4 +5,5 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/system_library/pubspec.yaml b/pkgs/native_assets_builder/test_data/system_library/pubspec.yaml index 56e5e66a4c..4835e01b55 100644 --- a/pkgs/native_assets_builder/test_data/system_library/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/system_library/pubspec.yaml @@ -5,20 +5,19 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: logging: ^1.1.1 - native_assets_cli: ^0.10.0 + native_assets_cli: + path: ../../../native_assets_cli # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ -dependency_overrides: - native_assets_cli: - path: ../../../native_assets_cli/ dev_dependencies: - ffigen: ^10.0.0 - lints: ^3.0.0 + ffigen: + path: ../../../ffigen test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/transformer/pubspec.yaml b/pkgs/native_assets_builder/test_data/transformer/pubspec.yaml index 23becbfbd1..68317d6887 100644 --- a/pkgs/native_assets_builder/test_data/transformer/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/transformer/pubspec.yaml @@ -5,13 +5,12 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: crypto: ^3.0.6 # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/treeshaking_native_libs/pubspec.yaml b/pkgs/native_assets_builder/test_data/treeshaking_native_libs/pubspec.yaml index 2d7ac64b12..6865dde738 100644 --- a/pkgs/native_assets_builder/test_data/treeshaking_native_libs/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/treeshaking_native_libs/pubspec.yaml @@ -9,18 +9,17 @@ environment: dependencies: logging: ^1.1.1 - native_assets_cli: ^0.10.0 + native_assets_cli: + path: ../../../native_assets_cli # native_toolchain_c: ^0.7.0 native_toolchain_c: path: ../../../native_toolchain_c/ -dependency_overrides: - native_assets_cli: - path: ../../../native_assets_cli/ dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: + path: ../../../ffigen some_dev_dep: path: ../some_dev_dep/ test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/use_all_api/pubspec.yaml b/pkgs/native_assets_builder/test_data/use_all_api/pubspec.yaml index 309548f415..66d8d2ba23 100644 --- a/pkgs/native_assets_builder/test_data/use_all_api/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/use_all_api/pubspec.yaml @@ -6,16 +6,16 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.6.0 dependencies: cli_config: ^0.2.0 logging: ^1.1.1 # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli dev_dependencies: - lints: ^3.0.0 path: ^1.9.0 test: ^1.23.1 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/wrong_build_output/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_build_output/pubspec.yaml index bd6fea8d8c..417f07754b 100644 --- a/pkgs/native_assets_builder/test_data/wrong_build_output/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_build_output/pubspec.yaml @@ -5,14 +5,13 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/wrong_build_output_2/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_build_output_2/pubspec.yaml index 15dc2fc18b..25f5f0ab8e 100644 --- a/pkgs/native_assets_builder/test_data/wrong_build_output_2/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_build_output_2/pubspec.yaml @@ -5,14 +5,13 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/wrong_build_output_3/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_build_output_3/pubspec.yaml index 22d638b7cd..e6331ca5d2 100644 --- a/pkgs/native_assets_builder/test_data/wrong_build_output_3/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_build_output_3/pubspec.yaml @@ -5,14 +5,13 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml index a292d2b6cb..69a62be817 100644 --- a/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_linker/pubspec.yaml @@ -5,14 +5,13 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pkgs/native_assets_builder/test_data/wrong_namespace_asset/pubspec.yaml b/pkgs/native_assets_builder/test_data/wrong_namespace_asset/pubspec.yaml index 81cea455c0..b8d64834ec 100644 --- a/pkgs/native_assets_builder/test_data/wrong_namespace_asset/pubspec.yaml +++ b/pkgs/native_assets_builder/test_data/wrong_namespace_asset/pubspec.yaml @@ -5,14 +5,13 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 dependencies: # native_assets_cli: ^0.10.0 native_assets_cli: - path: ../../../native_assets_cli/ + path: ../../../native_assets_cli yaml: ^3.1.1 yaml_edit: ^2.1.0 -dev_dependencies: - lints: ^3.0.0 +resolution: workspace diff --git a/pubspec.yaml b/pubspec.yaml index c3324efe2e..2991997ffb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -9,6 +9,39 @@ workspace: - pkgs/jni - pkgs/jnigen - pkgs/native_assets_builder + - pkgs/native_assets_builder/test_data/add_asset_link + - pkgs/native_assets_builder/test_data/complex_link + - pkgs/native_assets_builder/test_data/complex_link_helper + - pkgs/native_assets_builder/test_data/cyclic_package_1 + - pkgs/native_assets_builder/test_data/cyclic_package_2 + - pkgs/native_assets_builder/test_data/dart_app + - pkgs/native_assets_builder/test_data/depend_on_fail_build + - pkgs/native_assets_builder/test_data/depend_on_fail_build_app + - pkgs/native_assets_builder/test_data/drop_dylib_link + - pkgs/native_assets_builder/test_data/fail_build + - pkgs/native_assets_builder/test_data/fail_on_os_sdk_version + - pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_link + - pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_linker + - pkgs/native_assets_builder/test_data/native_add + - pkgs/native_assets_builder/test_data/native_add_add_source + - pkgs/native_assets_builder/test_data/native_add_duplicate + - pkgs/native_assets_builder/test_data/native_dynamic_linking + - pkgs/native_assets_builder/test_data/native_subtract + - pkgs/native_assets_builder/test_data/no_asset_for_link + - pkgs/native_assets_builder/test_data/package_reading_metadata + - pkgs/native_assets_builder/test_data/package_with_metadata + - pkgs/native_assets_builder/test_data/simple_data_asset + - pkgs/native_assets_builder/test_data/simple_link + - pkgs/native_assets_builder/test_data/some_dev_dep + - pkgs/native_assets_builder/test_data/system_library + - pkgs/native_assets_builder/test_data/transformer + - pkgs/native_assets_builder/test_data/treeshaking_native_libs + - pkgs/native_assets_builder/test_data/use_all_api + - pkgs/native_assets_builder/test_data/wrong_build_output + - pkgs/native_assets_builder/test_data/wrong_build_output_2 + - pkgs/native_assets_builder/test_data/wrong_build_output_3 + - pkgs/native_assets_builder/test_data/wrong_linker + - pkgs/native_assets_builder/test_data/wrong_namespace_asset - pkgs/native_assets_cli - pkgs/native_toolchain_c - pkgs/objective_c From 815671e8aff9bd04042b9b69dd0020dc8eb2904a Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Mon, 13 Jan 2025 14:35:28 -0500 Subject: [PATCH 31/41] Updated CI to use Flutter and dev -> beta channel --- .github/workflows/ffi.yaml | 11 +++++----- .github/workflows/native.yaml | 22 +++++++++---------- .github/workflows/native_toolchain_c.yaml | 2 +- .github/workflows/package_download_asset.yaml | 8 +++---- .github/workflows/swift2objc.yaml | 4 ++-- 5 files changed, 23 insertions(+), 24 deletions(-) diff --git a/.github/workflows/ffi.yaml b/.github/workflows/ffi.yaml index e521a3caf6..b518fbcf74 100644 --- a/.github/workflows/ffi.yaml +++ b/.github/workflows/ffi.yaml @@ -20,7 +20,6 @@ env: jobs: # Check code formatting and static analysis on a single OS (linux) - # against Dart dev. analyze: runs-on: ubuntu-latest defaults: @@ -29,10 +28,10 @@ jobs: strategy: fail-fast: false matrix: - sdk: [dev] + sdk: [beta] steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - uses: dart-lang/setup-dart@e630b99d28a3b71860378cafdc2a067c71107f94 + - uses: subosito/flutter-action@74af56c5ed2697ba4621264652728e8d217e53d3 with: sdk: ${{ matrix.sdk }} - id: install @@ -47,7 +46,7 @@ jobs: # Run tests on a matrix consisting of two dimensions: # 1. OS: ubuntu-latest, (macos-latest, windows-latest) - # 2. release channel: dev + # 2. release channel: beta test: needs: analyze runs-on: ${{ matrix.os }} @@ -59,10 +58,10 @@ jobs: matrix: # Add macos-latest and/or windows-latest if relevant for this package. os: [ubuntu-latest] - sdk: [beta, dev] + sdk: [beta] steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - uses: dart-lang/setup-dart@e630b99d28a3b71860378cafdc2a067c71107f94 + - uses: subosito/flutter-action@74af56c5ed2697ba4621264652728e8d217e53d3 with: sdk: ${{ matrix.sdk }} - id: install diff --git a/.github/workflows/native.yaml b/.github/workflows/native.yaml index a4570e2b70..5a9b05f457 100644 --- a/.github/workflows/native.yaml +++ b/.github/workflows/native.yaml @@ -31,7 +31,7 @@ jobs: fail-fast: false matrix: os: [ubuntu, macos, windows] - sdk: [stable, dev] + sdk: [stable, beta] package: [native_assets_builder, native_assets_cli, native_toolchain_c] # Breaking changes temporarily break the example run on the Dart SDK until native_assets_builder is rolled into the Dart SDK dev build. breaking-change: [false] @@ -46,7 +46,7 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - uses: dart-lang/setup-dart@e630b99d28a3b71860378cafdc2a067c71107f94 + - uses: subosito/flutter-action@74af56c5ed2697ba4621264652728e8d217e53d3 with: sdk: ${{ matrix.sdk }} @@ -122,7 +122,7 @@ jobs: - run: dart pub get -C example/build/system_library/ if: ${{ matrix.package == 'native_assets_cli' }} - + - run: dart pub get -C example/link/package_with_assets/ if: ${{ matrix.package == 'native_assets_cli' }} @@ -156,32 +156,32 @@ jobs: # TODO(https://github.com/dart-lang/native/issues/190): Enable on windows once # https://github.com/dart-lang/sdk/commit/903eea6bfb8ee405587f0866a1d1e92eea45d29e # has landed in dev channel. - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change && matrix.os != 'windows' }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change && matrix.os != 'windows' }} - run: dart --enable-experiment=native-assets test working-directory: pkgs/${{ matrix.package }}/example/build/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change }} - run: dart --enable-experiment=native-assets run working-directory: pkgs/${{ matrix.package }}/example/build/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change }} - run: dart --enable-experiment=native-assets build bin/native_add_app.dart working-directory: pkgs/${{ matrix.package }}/example/build/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change }} - run: ./native_add_app.exe working-directory: pkgs/${{ matrix.package }}/example/build/native_add_app/bin/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change }} - run: dart --enable-experiment=native-assets test working-directory: pkgs/${{ matrix.package }}/example/build/use_dart_api/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }} - + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change }} + # TODO(https://github.com/dart-lang/native/issues/1879): Enable this when the fix has rolled into Dart. # - run: dart --enable-experiment=native-assets test # working-directory: pkgs/${{ matrix.package }}/example/build/system_library/ - # if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }} + # if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change }} - name: Install coverage run: dart pub global activate coverage diff --git a/.github/workflows/native_toolchain_c.yaml b/.github/workflows/native_toolchain_c.yaml index 5af91a33db..d46ab7b345 100644 --- a/.github/workflows/native_toolchain_c.yaml +++ b/.github/workflows/native_toolchain_c.yaml @@ -34,7 +34,7 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - uses: dart-lang/setup-dart@e630b99d28a3b71860378cafdc2a067c71107f94 + - uses: subosito/flutter-action@74af56c5ed2697ba4621264652728e8d217e53d3 with: sdk: ${{ matrix.sdk }} diff --git a/.github/workflows/package_download_asset.yaml b/.github/workflows/package_download_asset.yaml index 96415865d0..cc6d55cdd0 100644 --- a/.github/workflows/package_download_asset.yaml +++ b/.github/workflows/package_download_asset.yaml @@ -32,7 +32,7 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - uses: dart-lang/setup-dart@e630b99d28a3b71860378cafdc2a067c71107f94 + - uses: subosito/flutter-action@74af56c5ed2697ba4621264652728e8d217e53d3 with: sdk: stable @@ -61,7 +61,7 @@ jobs: dart tool/build.dart -olinux -aia32 dart tool/build.dart -olinux -ariscv64 dart tool/build.dart -olinux -ax64 - + - name: Build MacOS host if: matrix.os == 'macos' run: | @@ -70,7 +70,7 @@ jobs: dart tool/build.dart -oios -iiphoneos -aarm64 dart tool/build.dart -oios -iiphonesimulator -aarm64 dart tool/build.dart -oios -iiphonesimulator -ax64 - + - name: Build Windows host if: matrix.os == 'windows' run: | @@ -78,7 +78,7 @@ jobs: dart tool/build.dart -owindows -aarm64 dart tool/build.dart -owindows -aia32 dart tool/build.dart -owindows -ax64 - + - name: Upload artifacts uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 with: diff --git a/.github/workflows/swift2objc.yaml b/.github/workflows/swift2objc.yaml index ddd79dd8e6..c027d13378 100644 --- a/.github/workflows/swift2objc.yaml +++ b/.github/workflows/swift2objc.yaml @@ -29,7 +29,7 @@ jobs: fail-fast: false steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - uses: dart-lang/setup-dart@e630b99d28a3b71860378cafdc2a067c71107f94 + - uses: subosito/flutter-action@74af56c5ed2697ba4621264652728e8d217e53d3 with: sdk: stable - id: install @@ -50,7 +50,7 @@ jobs: working-directory: pkgs/swift2objc/ steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - uses: dart-lang/setup-dart@e630b99d28a3b71860378cafdc2a067c71107f94 + - uses: subosito/flutter-action@74af56c5ed2697ba4621264652728e8d217e53d3 with: sdk: stable - name: Install dependencies From ca1602fea8db3fd839e852b8197b297b8b7c47e4 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Tue, 14 Jan 2025 17:43:31 -0500 Subject: [PATCH 32/41] CI: Replaced beta -> main channel --- .github/workflows/ffi.yaml | 6 +++--- .github/workflows/jnigen.yaml | 2 +- .github/workflows/native.yaml | 16 ++++++++-------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ffi.yaml b/.github/workflows/ffi.yaml index b518fbcf74..ef174d88f4 100644 --- a/.github/workflows/ffi.yaml +++ b/.github/workflows/ffi.yaml @@ -28,7 +28,7 @@ jobs: strategy: fail-fast: false matrix: - sdk: [beta] + sdk: [main] steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - uses: subosito/flutter-action@74af56c5ed2697ba4621264652728e8d217e53d3 @@ -46,7 +46,7 @@ jobs: # Run tests on a matrix consisting of two dimensions: # 1. OS: ubuntu-latest, (macos-latest, windows-latest) - # 2. release channel: beta + # 2. release channel: main test: needs: analyze runs-on: ${{ matrix.os }} @@ -58,7 +58,7 @@ jobs: matrix: # Add macos-latest and/or windows-latest if relevant for this package. os: [ubuntu-latest] - sdk: [beta] + sdk: [main] steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - uses: subosito/flutter-action@74af56c5ed2697ba4621264652728e8d217e53d3 diff --git a/.github/workflows/jnigen.yaml b/.github/workflows/jnigen.yaml index 462c84f104..27c608feb8 100644 --- a/.github/workflows/jnigen.yaml +++ b/.github/workflows/jnigen.yaml @@ -74,7 +74,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - sdk: [stable, beta] + sdk: [stable, main] steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - uses: subosito/flutter-action@74af56c5ed2697ba4621264652728e8d217e53d3 diff --git a/.github/workflows/native.yaml b/.github/workflows/native.yaml index 5a9b05f457..a5e32746f1 100644 --- a/.github/workflows/native.yaml +++ b/.github/workflows/native.yaml @@ -31,7 +31,7 @@ jobs: fail-fast: false matrix: os: [ubuntu, macos, windows] - sdk: [stable, beta] + sdk: [stable, main] package: [native_assets_builder, native_assets_cli, native_toolchain_c] # Breaking changes temporarily break the example run on the Dart SDK until native_assets_builder is rolled into the Dart SDK dev build. breaking-change: [false] @@ -156,32 +156,32 @@ jobs: # TODO(https://github.com/dart-lang/native/issues/190): Enable on windows once # https://github.com/dart-lang/sdk/commit/903eea6bfb8ee405587f0866a1d1e92eea45d29e # has landed in dev channel. - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change && matrix.os != 'windows' }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'main' && !matrix.breaking-change && matrix.os != 'windows' }} - run: dart --enable-experiment=native-assets test working-directory: pkgs/${{ matrix.package }}/example/build/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'main' && !matrix.breaking-change }} - run: dart --enable-experiment=native-assets run working-directory: pkgs/${{ matrix.package }}/example/build/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'main' && !matrix.breaking-change }} - run: dart --enable-experiment=native-assets build bin/native_add_app.dart working-directory: pkgs/${{ matrix.package }}/example/build/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'main' && !matrix.breaking-change }} - run: ./native_add_app.exe working-directory: pkgs/${{ matrix.package }}/example/build/native_add_app/bin/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'main' && !matrix.breaking-change }} - run: dart --enable-experiment=native-assets test working-directory: pkgs/${{ matrix.package }}/example/build/use_dart_api/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'main' && !matrix.breaking-change }} # TODO(https://github.com/dart-lang/native/issues/1879): Enable this when the fix has rolled into Dart. # - run: dart --enable-experiment=native-assets test # working-directory: pkgs/${{ matrix.package }}/example/build/system_library/ - # if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'beta' && !matrix.breaking-change }} + # if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'main' && !matrix.breaking-change }} - name: Install coverage run: dart pub global activate coverage From 33640fae7fe8aecfc2552f8ea75695dc76cc15b2 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Tue, 14 Jan 2025 18:13:38 -0500 Subject: [PATCH 33/41] Reworked native_assets_builder test helpers to remove workspace --- pkgs/native_assets_builder/test/helpers.dart | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/pkgs/native_assets_builder/test/helpers.dart b/pkgs/native_assets_builder/test/helpers.dart index c64a7f79e5..31a0fd0487 100644 --- a/pkgs/native_assets_builder/test/helpers.dart +++ b/pkgs/native_assets_builder/test/helpers.dart @@ -237,13 +237,22 @@ Future copyTestProjects({ await targetFile.writeAsBytes(await sourceFile.readAsBytes()); } for (final pathToModify in filesToModify) { + const packagesToOverride = ['native_assets_cli', 'native_toolchain_c']; final sourceFile = File.fromUri(sourceUri.resolveUri(pathToModify)); final targetFileUri = targetUri.resolveUri(pathToModify); - final sourceString = await sourceFile.readAsString(); - final modifiedString = sourceString.replaceAll( - 'path: ../../', - 'path: ${pkgNativeAssetsBuilderUri.toFilePath().unescape()}', - ); + var sourceString = await sourceFile.readAsString(); + sourceString += '\ndependency_overrides:\n'; + for (final package in packagesToOverride) { + sourceString += ' $package:\n'; + sourceString += ' path: ../../../$package\n'; + } + + final modifiedString = sourceString + .replaceAll( + 'path: ../../', + 'path: ${pkgNativeAssetsBuilderUri.toFilePath().unescape()}', + ) + .replaceAll('resolution: workspace', ''); await File.fromUri(targetFileUri) .writeAsString(modifiedString, flush: true); } From 58f28cd8eab71c38b9738239326d1edc2b17ab3f Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Tue, 14 Jan 2025 18:53:46 -0500 Subject: [PATCH 34/41] Fixed more CI checks --- .github/workflows/ffigen.yml | 12 ++++++++---- .github/workflows/jnigen.yaml | 1 + .github/workflows/objective_c.yaml | 6 ++++++ pkgs/native_assets_builder/test/helpers.dart | 10 ++++++---- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ffigen.yml b/.github/workflows/ffigen.yml index 6e1690b926..7f35fef86b 100644 --- a/.github/workflows/ffigen.yml +++ b/.github/workflows/ffigen.yml @@ -79,7 +79,7 @@ jobs: with: channel: 'stable' - name: Install dependencies - run: flutter pub get && flutter pub get --directory="../objective_c" + run: flutter pub get - name: Build test dylib and bindings run: dart test/setup.dart - name: Run VM tests and collect coverage @@ -109,8 +109,10 @@ jobs: - uses: subosito/flutter-action@74af56c5ed2697ba4621264652728e8d217e53d3 with: channel: 'stable' + - name: Configure native-assets + run: flutter config --enable-native-assets - name: Install dependencies - run: flutter pub get && flutter pub get --directory="../objective_c" + run: flutter pub get - name: Build test dylib and bindings run: dart test/setup.dart --main-thread-dispatcher - name: Run Flutter tests @@ -142,7 +144,7 @@ jobs: # If we need to change the generated code, we should temporarily disable this # test, or temporarily disable the requirement for all bots to be green to # merge PRs. - # Running this sanity check on one OS should be sufficient. Chosing Windows + # Running this sanity check on one OS should be sufficient. Choosing Windows # because it is the most likely to break. test-windows-flutter: needs: analyze @@ -155,9 +157,11 @@ jobs: - uses: subosito/flutter-action@74af56c5ed2697ba4621264652728e8d217e53d3 with: channel: "master" + - name: Configure native-assets + run: flutter config --enable-native-assets - name: Install dependencies run: flutter pub get - name: Build test dylib and bindings run: dart test/setup.dart - name: Run VM tests - run: flutter pub run test test_flutter/ + run: flutter test test_flutter/ diff --git a/.github/workflows/jnigen.yaml b/.github/workflows/jnigen.yaml index 27c608feb8..55e43c1214 100644 --- a/.github/workflows/jnigen.yaml +++ b/.github/workflows/jnigen.yaml @@ -147,6 +147,7 @@ jobs: sudo apt-get update -y sudo apt-get install -y clang-format build-essential cmake - run: flutter pub get + - run: flutter pub get -C example - name: Check formatting run: dart format --output=none --set-exit-if-changed . - name: Run lints diff --git a/.github/workflows/objective_c.yaml b/.github/workflows/objective_c.yaml index 2c2ee64cbb..58082e3243 100644 --- a/.github/workflows/objective_c.yaml +++ b/.github/workflows/objective_c.yaml @@ -37,6 +37,8 @@ jobs: - id: install name: Install dependencies run: flutter pub get + - name: Install example dependencies + run: flutter pub get -C example - name: Check formatting run: dart format --output=none --set-exit-if-changed . if: always() && steps.install.outcome == 'success' @@ -57,6 +59,8 @@ jobs: channel: 'stable' - name: Install dependencies run: flutter pub get + - name: Install example dependencies + run: flutter pub get -C example - name: Build test dylib # TODO(https://github.com/dart-lang/native/issues/1068): Remove this. run: dart test/setup.dart @@ -93,5 +97,7 @@ jobs: channel: 'stable' - name: Install dependencies run: flutter pub get + - name: Install example dependencies + run: flutter pub get -C example - name: Build the example app run: flutter build macos diff --git a/pkgs/native_assets_builder/test/helpers.dart b/pkgs/native_assets_builder/test/helpers.dart index 31a0fd0487..85e530775c 100644 --- a/pkgs/native_assets_builder/test/helpers.dart +++ b/pkgs/native_assets_builder/test/helpers.dart @@ -241,10 +241,12 @@ Future copyTestProjects({ final sourceFile = File.fromUri(sourceUri.resolveUri(pathToModify)); final targetFileUri = targetUri.resolveUri(pathToModify); var sourceString = await sourceFile.readAsString(); - sourceString += '\ndependency_overrides:\n'; - for (final package in packagesToOverride) { - sourceString += ' $package:\n'; - sourceString += ' path: ../../../$package\n'; + if (!pathToModify.path.contains('native_add_version_skew')) { + sourceString += '\ndependency_overrides:\n'; + for (final package in packagesToOverride) { + sourceString += ' $package:\n'; + sourceString += ' path: ../../../$package\n'; + } } final modifiedString = sourceString From f389a656ccfaa053812177ecbf929d0e071c21e6 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Tue, 14 Jan 2025 18:59:42 -0500 Subject: [PATCH 35/41] Removed extra pub gets from CI --- .github/workflows/ffigen.yml | 2 +- .github/workflows/ffigen_weekly.yml | 2 +- .github/workflows/jnigen.yaml | 1 - .github/workflows/native.yaml | 56 ----------------------------- 4 files changed, 2 insertions(+), 59 deletions(-) diff --git a/.github/workflows/ffigen.yml b/.github/workflows/ffigen.yml index 7f35fef86b..a0ea03f772 100644 --- a/.github/workflows/ffigen.yml +++ b/.github/workflows/ffigen.yml @@ -37,7 +37,7 @@ jobs: channel: 'stable' - id: install name: Install dependencies - run: flutter pub get && flutter pub get --directory="example/shared_bindings" && flutter pub get --directory="../objective_c" + run: flutter pub get && flutter pub get --directory="example/shared_bindings" - name: Check formatting run: dart format --output=none --set-exit-if-changed . if: always() && steps.install.outcome == 'success' diff --git a/.github/workflows/ffigen_weekly.yml b/.github/workflows/ffigen_weekly.yml index 863eac3842..23610f8704 100644 --- a/.github/workflows/ffigen_weekly.yml +++ b/.github/workflows/ffigen_weekly.yml @@ -32,7 +32,7 @@ jobs: with: channel: 'stable' - name: Install dependencies - run: flutter pub get && flutter pub get --directory="../objective_c" + run: flutter pub get - name: Build test dylib and bindings run: dart test/setup.dart --main-thread-dispatcher - name: Run VM tests diff --git a/.github/workflows/jnigen.yaml b/.github/workflows/jnigen.yaml index 55e43c1214..0d6f2b6a47 100644 --- a/.github/workflows/jnigen.yaml +++ b/.github/workflows/jnigen.yaml @@ -180,7 +180,6 @@ jobs: - run: | sudo apt-get update -y sudo apt-get install -y ninja-build libgtk-3-dev libclang-dev - - run: dart pub get - run: dart run jni:setup - name: Get dependencies run: dart pub get diff --git a/.github/workflows/native.yaml b/.github/workflows/native.yaml index a5e32746f1..7e65b5e81b 100644 --- a/.github/workflows/native.yaml +++ b/.github/workflows/native.yaml @@ -57,54 +57,9 @@ jobs: - run: dart pub get - - run: dart pub get -C test_data/dart_app/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/native_add/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/native_add_duplicate/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/native_add_add_source/ - if: ${{ matrix.package == 'native_assets_builder' }} - - run: dart pub get -C test_data/native_add_version_skew/ if: ${{ matrix.package == 'native_assets_builder' }} - - run: dart pub get -C test_data/native_subtract/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/package_reading_metadata/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/package_with_metadata/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/simple_link/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/complex_link/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/complex_link_helper/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/drop_dylib_link/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/add_asset_link/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/transformer/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/treeshaking_native_libs/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/native_dynamic_linking/ - if: ${{ matrix.package == 'native_assets_builder' }} - - run: dart pub get -C example/build/download_asset/ if: ${{ matrix.package == 'native_assets_cli' }} @@ -128,17 +83,6 @@ jobs: - run: dart pub get -C example/link/app_with_asset_treeshaking/ if: ${{ matrix.package == 'native_assets_cli' }} - - run: dart pub get -C test_data/fail_build/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/depend_on_fail_build/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/depend_on_fail_build_app/ - if: ${{ matrix.package == 'native_assets_builder' }} - - - run: dart pub get -C test_data/system_library/ - if: ${{ matrix.package == 'native_assets_builder' }} - run: dart analyze --fatal-infos # Run on dev to ensure we're not depending on deprecated SDK things. From bc7ec7259ab12e3ffe458890355feb83aa30864b Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Tue, 14 Jan 2025 19:30:03 -0500 Subject: [PATCH 36/41] Added native_assets_cli/example/* to workspace --- .github/workflows/native.yaml | 24 ------------------- .../example/build/download_asset/pubspec.yaml | 17 +++++-------- .../example/build/local_asset/pubspec.yaml | 11 ++++----- .../example/build/native_add_app/pubspec.yaml | 9 +++---- .../build/native_add_library/pubspec.yaml | 16 ++++--------- .../build/native_dynamic_linking/pubspec.yaml | 18 +++++--------- .../native_dynamic_linking/test/add_test.dart | 2 +- .../example/build/system_library/pubspec.yaml | 18 +++++--------- .../system_library/test/memory_test.dart | 2 +- .../example/build/use_dart_api/pubspec.yaml | 16 ++++--------- .../app_with_asset_treeshaking/pubspec.yaml | 5 ++-- .../link/package_with_assets/pubspec.yaml | 13 +++++----- pubspec.yaml | 9 +++++++ 13 files changed, 57 insertions(+), 103 deletions(-) diff --git a/.github/workflows/native.yaml b/.github/workflows/native.yaml index 7e65b5e81b..0e8851cee1 100644 --- a/.github/workflows/native.yaml +++ b/.github/workflows/native.yaml @@ -60,30 +60,6 @@ jobs: - run: dart pub get -C test_data/native_add_version_skew/ if: ${{ matrix.package == 'native_assets_builder' }} - - run: dart pub get -C example/build/download_asset/ - if: ${{ matrix.package == 'native_assets_cli' }} - - - run: dart pub get -C example/build/native_dynamic_linking/ - if: ${{ matrix.package == 'native_assets_cli' }} - - - run: dart pub get -C example/build/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' }} - - - run: dart pub get -C example/build/native_add_library/ - if: ${{ matrix.package == 'native_assets_cli' }} - - - run: dart pub get -C example/build/use_dart_api/ - if: ${{ matrix.package == 'native_assets_cli' }} - - - run: dart pub get -C example/build/system_library/ - if: ${{ matrix.package == 'native_assets_cli' }} - - - run: dart pub get -C example/link/package_with_assets/ - if: ${{ matrix.package == 'native_assets_cli' }} - - - run: dart pub get -C example/link/app_with_asset_treeshaking/ - if: ${{ matrix.package == 'native_assets_cli' }} - - run: dart analyze --fatal-infos # Run on dev to ensure we're not depending on deprecated SDK things. diff --git a/pkgs/native_assets_cli/example/build/download_asset/pubspec.yaml b/pkgs/native_assets_cli/example/build/download_asset/pubspec.yaml index db126a5706..3c267e41a3 100644 --- a/pkgs/native_assets_cli/example/build/download_asset/pubspec.yaml +++ b/pkgs/native_assets_cli/example/build/download_asset/pubspec.yaml @@ -6,22 +6,17 @@ version: 0.1.0 repository: https://github.com/dart-lang/native/tree/main/pkgs/native_assets_cli/example/build/download_asset environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: crypto: ^3.0.3 logging: ^1.1.1 - native_assets_cli: ^0.10.0 - # native_toolchain_c: ^0.7.0 - native_toolchain_c: - path: ../../../../native_toolchain_c/ - -dependency_overrides: - native_assets_cli: - path: ../../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip + native_toolchain_c: ^0.8.0-wip dev_dependencies: args: ^2.6.0 - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: ^16.0.0 + lints: ^5.0.0 test: ^1.21.0 diff --git a/pkgs/native_assets_cli/example/build/local_asset/pubspec.yaml b/pkgs/native_assets_cli/example/build/local_asset/pubspec.yaml index 6153ca5f4e..f1539a58a9 100644 --- a/pkgs/native_assets_cli/example/build/local_asset/pubspec.yaml +++ b/pkgs/native_assets_cli/example/build/local_asset/pubspec.yaml @@ -6,15 +6,14 @@ version: 0.1.0 repository: https://github.com/dart-lang/native/tree/main/pkgs/native_assets_cli/example/build/native_add_library environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: logging: ^1.1.1 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: ^16.0.0 + lints: ^5.0.0 test: ^1.21.0 diff --git a/pkgs/native_assets_cli/example/build/native_add_app/pubspec.yaml b/pkgs/native_assets_cli/example/build/native_add_app/pubspec.yaml index c54314224f..cdd0ff930b 100644 --- a/pkgs/native_assets_cli/example/build/native_add_app/pubspec.yaml +++ b/pkgs/native_assets_cli/example/build/native_add_app/pubspec.yaml @@ -6,16 +6,13 @@ version: 0.1.0 repository: https://github.com/dart-lang/native/tree/main/pkgs/native_assets_cli/example/build/native_add_app environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: native_add_library: path: ../native_add_library/ -dependency_overrides: - native_assets_cli: - path: ../../../../native_assets_cli/ - dev_dependencies: - lints: ^3.0.0 + lints: ^5.0.0 test: ^1.21.0 diff --git a/pkgs/native_assets_cli/example/build/native_add_library/pubspec.yaml b/pkgs/native_assets_cli/example/build/native_add_library/pubspec.yaml index 0d0bc2d6eb..d1ffb938e8 100644 --- a/pkgs/native_assets_cli/example/build/native_add_library/pubspec.yaml +++ b/pkgs/native_assets_cli/example/build/native_add_library/pubspec.yaml @@ -6,20 +6,14 @@ version: 0.1.0 repository: https://github.com/dart-lang/native/tree/main/pkgs/native_assets_cli/example/build/native_add_library environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: logging: ^1.1.1 - native_assets_cli: ^0.10.0 - # native_toolchain_c: ^0.7.0 - native_toolchain_c: - path: ../../../../native_toolchain_c/ - -dependency_overrides: - native_assets_cli: - path: ../../../../native_assets_cli + native_assets_cli: ^0.11.0-wip + native_toolchain_c: ^0.8.0-wip dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: ^16.0.0 test: ^1.21.0 diff --git a/pkgs/native_assets_cli/example/build/native_dynamic_linking/pubspec.yaml b/pkgs/native_assets_cli/example/build/native_dynamic_linking/pubspec.yaml index 8243b011ad..ddd1fa14a6 100644 --- a/pkgs/native_assets_cli/example/build/native_dynamic_linking/pubspec.yaml +++ b/pkgs/native_assets_cli/example/build/native_dynamic_linking/pubspec.yaml @@ -1,25 +1,19 @@ publish_to: none -name: native_dynamic_linking +name: native_dynamic_linking_example description: Dynamically link native libraries to each other. version: 0.1.0 repository: https://github.com/dart-lang/native/tree/main/pkgs/native_assets_cli/example/build/native_dynamic_linking environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: logging: ^1.1.1 - native_assets_cli: ^0.10.0 - # native_toolchain_c: ^0.7.0 - native_toolchain_c: - path: ../../../../native_toolchain_c/ - -dependency_overrides: - native_assets_cli: - path: ../../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip + native_toolchain_c: ^0.8.0-wip dev_dependencies: - ffigen: ^8.0.2 - lints: ^3.0.0 + ffigen: ^16.0.0 test: ^1.21.0 diff --git a/pkgs/native_assets_cli/example/build/native_dynamic_linking/test/add_test.dart b/pkgs/native_assets_cli/example/build/native_dynamic_linking/test/add_test.dart index 906e3a8f20..0702154b9d 100644 --- a/pkgs/native_assets_cli/example/build/native_dynamic_linking/test/add_test.dart +++ b/pkgs/native_assets_cli/example/build/native_dynamic_linking/test/add_test.dart @@ -2,7 +2,7 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -import 'package:native_dynamic_linking/add.dart'; +import 'package:native_dynamic_linking_example/add.dart'; import 'package:test/test.dart'; void main() { diff --git a/pkgs/native_assets_cli/example/build/system_library/pubspec.yaml b/pkgs/native_assets_cli/example/build/system_library/pubspec.yaml index e7cfc3c6d1..56cf228a63 100644 --- a/pkgs/native_assets_cli/example/build/system_library/pubspec.yaml +++ b/pkgs/native_assets_cli/example/build/system_library/pubspec.yaml @@ -1,24 +1,18 @@ -name: system_library +name: system_library_example description: Uses some functions from system lirbaries. version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: logging: ^1.1.1 - native_assets_cli: ^0.10.0 - # native_toolchain_c: ^0.7.0 - native_toolchain_c: - path: ../../../../native_toolchain_c/ - -dependency_overrides: - native_assets_cli: - path: ../../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip + native_toolchain_c: ^0.8.0-wip dev_dependencies: - ffigen: ^10.0.0 - lints: ^3.0.0 + ffigen: ^16.0.0 test: ^1.23.1 diff --git a/pkgs/native_assets_cli/example/build/system_library/test/memory_test.dart b/pkgs/native_assets_cli/example/build/system_library/test/memory_test.dart index 988cf7a60e..ba282b724e 100644 --- a/pkgs/native_assets_cli/example/build/system_library/test/memory_test.dart +++ b/pkgs/native_assets_cli/example/build/system_library/test/memory_test.dart @@ -5,7 +5,7 @@ import 'dart:ffi'; import 'dart:io'; -import 'package:system_library/memory.dart'; +import 'package:system_library_example/memory.dart'; import 'package:test/test.dart'; void main() { diff --git a/pkgs/native_assets_cli/example/build/use_dart_api/pubspec.yaml b/pkgs/native_assets_cli/example/build/use_dart_api/pubspec.yaml index 650be81322..3b94855dc9 100644 --- a/pkgs/native_assets_cli/example/build/use_dart_api/pubspec.yaml +++ b/pkgs/native_assets_cli/example/build/use_dart_api/pubspec.yaml @@ -5,20 +5,14 @@ version: 0.1.0 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: logging: ^1.1.1 - native_assets_cli: ^0.10.0 - # native_toolchain_c: ^0.7.0 - native_toolchain_c: - path: ../../../../native_toolchain_c/ - -dependency_overrides: - native_assets_cli: - path: ../../../../native_assets_cli/ + native_assets_cli: ^0.11.0-wip + native_toolchain_c: ^0.8.0-wip dev_dependencies: - ffigen: ^10.0.0 - lints: ^3.0.0 + ffigen: ^16.0.0 test: ^1.23.1 diff --git a/pkgs/native_assets_cli/example/link/app_with_asset_treeshaking/pubspec.yaml b/pkgs/native_assets_cli/example/link/app_with_asset_treeshaking/pubspec.yaml index 0fc93b81df..04c679f662 100644 --- a/pkgs/native_assets_cli/example/link/app_with_asset_treeshaking/pubspec.yaml +++ b/pkgs/native_assets_cli/example/link/app_with_asset_treeshaking/pubspec.yaml @@ -5,13 +5,14 @@ description: A sample command-line application. version: 1.0.0 environment: - sdk: ^3.0.0 + sdk: ^3.6.0 +resolution: workspace dependencies: logging: ^1.1.1 package_with_assets: path: ../package_with_assets/ dev_dependencies: - lints: ^3.0.0 + lints: ^5.0.0 test: ^1.24.0 diff --git a/pkgs/native_assets_cli/example/link/package_with_assets/pubspec.yaml b/pkgs/native_assets_cli/example/link/package_with_assets/pubspec.yaml index 0cc7dccd31..97c20520ff 100644 --- a/pkgs/native_assets_cli/example/link/package_with_assets/pubspec.yaml +++ b/pkgs/native_assets_cli/example/link/package_with_assets/pubspec.yaml @@ -6,16 +6,17 @@ version: 1.0.0 # repository: https://github.com/my_org/my_repo environment: - sdk: ^3.0.0 + sdk: ^3.6.0 +resolution: workspace dependencies: logging: ^1.1.1 - meta: ^1.12.0 - # native_assets_cli: ^0.10.0 - native_assets_cli: - path: ../../../../native_assets_cli/ + meta: ^1.15.0 + native_assets_cli: ^0.11.0-wip record_use: ^0.3.0 dev_dependencies: - lints: ^3.0.0 test: ^1.24.0 + +dependency_overrides: + meta: ^1.16.0 diff --git a/pubspec.yaml b/pubspec.yaml index 2991997ffb..218095682d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -43,6 +43,15 @@ workspace: - pkgs/native_assets_builder/test_data/wrong_linker - pkgs/native_assets_builder/test_data/wrong_namespace_asset - pkgs/native_assets_cli + - pkgs/native_assets_cli/example/build/download_asset + - pkgs/native_assets_cli/example/build/local_asset + - pkgs/native_assets_cli/example/build/native_add_app + - pkgs/native_assets_cli/example/build/native_add_library + - pkgs/native_assets_cli/example/build/native_dynamic_linking + - pkgs/native_assets_cli/example/build/system_library + - pkgs/native_assets_cli/example/build/use_dart_api + - pkgs/native_assets_cli/example/link/app_with_asset_treeshaking + - pkgs/native_assets_cli/example/link/package_with_assets - pkgs/native_toolchain_c - pkgs/objective_c - pkgs/swift2objc From 29c6eea59ed378156cf7378de7c07b4c63e372a8 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Tue, 14 Jan 2025 20:02:11 -0500 Subject: [PATCH 37/41] Added ffigen/example/* to the workspace --- pkgs/ffigen/example/c_json/pubspec.yaml | 4 ++-- pkgs/ffigen/example/ffinative/pubspec.yaml | 5 +++-- pkgs/ffigen/example/libclang-example/pubspec.yaml | 5 +++-- pkgs/ffigen/example/objective_c/pubspec.yaml | 10 +++------- pkgs/ffigen/example/shared_bindings/pubspec.yaml | 4 ++-- pkgs/ffigen/example/simple/pubspec.yaml | 5 +++-- pkgs/ffigen/example/swift/pubspec.yaml | 10 +++------- pubspec.yaml | 7 +++++++ 8 files changed, 26 insertions(+), 24 deletions(-) diff --git a/pkgs/ffigen/example/c_json/pubspec.yaml b/pkgs/ffigen/example/c_json/pubspec.yaml index 4694200a07..2268d1c79d 100644 --- a/pkgs/ffigen/example/c_json/pubspec.yaml +++ b/pkgs/ffigen/example/c_json/pubspec.yaml @@ -5,8 +5,9 @@ name: c_json_example environment: - sdk: '>=3.2.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: ffi: ^2.0.1 path: ^1.8.0 @@ -14,4 +15,3 @@ dependencies: dev_dependencies: ffigen: path: '../../' - lints: ^2.0.1 diff --git a/pkgs/ffigen/example/ffinative/pubspec.yaml b/pkgs/ffigen/example/ffinative/pubspec.yaml index 226c26cb6b..a6eea820c8 100644 --- a/pkgs/ffigen/example/ffinative/pubspec.yaml +++ b/pkgs/ffigen/example/ffinative/pubspec.yaml @@ -5,11 +5,12 @@ name: ffinative_example environment: - sdk: '>=3.3.0-252.0.dev <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: ffi: ^2.0.1 + dev_dependencies: ffigen: path: '../../' - lints: ^2.0.0 diff --git a/pkgs/ffigen/example/libclang-example/pubspec.yaml b/pkgs/ffigen/example/libclang-example/pubspec.yaml index e27a2b4cab..571962e002 100644 --- a/pkgs/ffigen/example/libclang-example/pubspec.yaml +++ b/pkgs/ffigen/example/libclang-example/pubspec.yaml @@ -5,11 +5,12 @@ name: libclang_example environment: - sdk: '>=3.2.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: ffi: ^2.0.1 + dev_dependencies: ffigen: path: '../../' - lints: ^2.0.1 diff --git a/pkgs/ffigen/example/objective_c/pubspec.yaml b/pkgs/ffigen/example/objective_c/pubspec.yaml index 8ce0791fce..4f52b55dc8 100644 --- a/pkgs/ffigen/example/objective_c/pubspec.yaml +++ b/pkgs/ffigen/example/objective_c/pubspec.yaml @@ -5,18 +5,14 @@ name: objective_c_example environment: - sdk: '>=3.2.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: args: ^2.6.0 ffi: ^2.0.1 - objective_c: ^0.0.1 + objective_c: ^4.1.0-wip dev_dependencies: ffigen: path: ../../ - lints: ^2.0.0 - -dependency_overrides: - objective_c: - path: ../../../objective_c/ diff --git a/pkgs/ffigen/example/shared_bindings/pubspec.yaml b/pkgs/ffigen/example/shared_bindings/pubspec.yaml index 42a6120ef8..52495fa35b 100644 --- a/pkgs/ffigen/example/shared_bindings/pubspec.yaml +++ b/pkgs/ffigen/example/shared_bindings/pubspec.yaml @@ -5,8 +5,9 @@ name: shared_bindings environment: - sdk: '>=3.2.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: cli_util: ^0.4.2 ffi: ^2.0.1 @@ -15,4 +16,3 @@ dependencies: dev_dependencies: ffigen: path: '../../' - lints: ^2.0.1 diff --git a/pkgs/ffigen/example/simple/pubspec.yaml b/pkgs/ffigen/example/simple/pubspec.yaml index f1912eb6b0..c88242ccd8 100644 --- a/pkgs/ffigen/example/simple/pubspec.yaml +++ b/pkgs/ffigen/example/simple/pubspec.yaml @@ -5,11 +5,12 @@ name: simple_example environment: - sdk: '>=3.2.0 <4.0.0' + sdk: ^3.6.0 +resolution: workspace dependencies: ffi: ^2.0.1 + dev_dependencies: ffigen: path: '../../' - lints: ^2.0.1 diff --git a/pkgs/ffigen/example/swift/pubspec.yaml b/pkgs/ffigen/example/swift/pubspec.yaml index 1194dde572..597aa76f98 100644 --- a/pkgs/ffigen/example/swift/pubspec.yaml +++ b/pkgs/ffigen/example/swift/pubspec.yaml @@ -5,18 +5,14 @@ name: swift_example environment: - sdk: ">=3.2.0-42.1.beta <4.0.0" + sdk: ^3.6.0 +resolution: workspace dependencies: args: ^2.6.0 ffi: ^2.0.1 - objective_c: ^0.0.1 + objective_c: ^4.1.0-wip dev_dependencies: ffigen: path: ../../ - lints: ^2.0.0 - -dependency_overrides: - objective_c: - path: ../../../objective_c/ diff --git a/pubspec.yaml b/pubspec.yaml index 218095682d..c2040c6f75 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -6,6 +6,13 @@ environment: workspace: - pkgs/ffi - pkgs/ffigen + - pkgs/ffigen/example/c_json + - pkgs/ffigen/example/ffinative + - pkgs/ffigen/example/libclang-example + - pkgs/ffigen/example/objective_c + - pkgs/ffigen/example/shared_bindings + - pkgs/ffigen/example/simple + - pkgs/ffigen/example/swift - pkgs/jni - pkgs/jnigen - pkgs/native_assets_builder From e7e5adb8dc998099af93ee7bb203def33e77a6ee Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Wed, 15 Jan 2025 15:51:17 -0500 Subject: [PATCH 38/41] Bumped versions and added Dart 3.6 to changelogs --- pkgs/ffi/CHANGELOG.md | 4 ++++ pkgs/ffi/pubspec.yaml | 2 +- pkgs/ffigen/CHANGELOG.md | 1 + pkgs/jni/CHANGELOG.md | 4 ++++ pkgs/jni/pubspec.yaml | 2 +- pkgs/jnigen/CHANGELOG.md | 1 + pkgs/native_assets_builder/CHANGELOG.md | 1 + pkgs/native_assets_cli/CHANGELOG.md | 1 + pkgs/native_toolchain_c/CHANGELOG.md | 1 + pkgs/objective_c/CHANGELOG.md | 1 + 10 files changed, 16 insertions(+), 2 deletions(-) diff --git a/pkgs/ffi/CHANGELOG.md b/pkgs/ffi/CHANGELOG.md index fa7df106d6..60ab6371fb 100644 --- a/pkgs/ffi/CHANGELOG.md +++ b/pkgs/ffi/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.1.4 + +- Require Dart 3.6.0 or greater + ## 2.1.3 - Use `package:dart_flutter_team_lints`. diff --git a/pkgs/ffi/pubspec.yaml b/pkgs/ffi/pubspec.yaml index 59a6ea9a11..fe999a5d8d 100644 --- a/pkgs/ffi/pubspec.yaml +++ b/pkgs/ffi/pubspec.yaml @@ -1,5 +1,5 @@ name: ffi -version: 2.1.3 +version: 2.1.4 description: Utilities for working with Foreign Function Interface (FFI) code. repository: https://github.com/dart-lang/native/tree/main/pkgs/ffi issue_tracker: https://github.com/dart-lang/native/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Affi diff --git a/pkgs/ffigen/CHANGELOG.md b/pkgs/ffigen/CHANGELOG.md index 963097449a..963a6447a5 100644 --- a/pkgs/ffigen/CHANGELOG.md +++ b/pkgs/ffigen/CHANGELOG.md @@ -1,6 +1,7 @@ ## 17.0.0-wip - Use package:objective_c 5.0.0 +- Require Dart 3.6.0 or greater ## 16.1.0 diff --git a/pkgs/jni/CHANGELOG.md b/pkgs/jni/CHANGELOG.md index db31af1ea0..668ecd54dd 100644 --- a/pkgs/jni/CHANGELOG.md +++ b/pkgs/jni/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.13.1 + +- Require Dart 3.6.0 or greater + ## 0.13.0 - **Breaking Change**: Separated primitive arrays from object arrays. diff --git a/pkgs/jni/pubspec.yaml b/pkgs/jni/pubspec.yaml index e03c3a2c92..b85717c5e9 100644 --- a/pkgs/jni/pubspec.yaml +++ b/pkgs/jni/pubspec.yaml @@ -4,7 +4,7 @@ name: jni description: A library to access JNI from Dart and Flutter that acts as a support library for package:jnigen. -version: 0.13.0 +version: 0.13.1 repository: https://github.com/dart-lang/native/tree/main/pkgs/jni issue_tracker: https://github.com/dart-lang/native/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Ajni diff --git a/pkgs/jnigen/CHANGELOG.md b/pkgs/jnigen/CHANGELOG.md index e3a702bfd8..bff3f26678 100644 --- a/pkgs/jnigen/CHANGELOG.md +++ b/pkgs/jnigen/CHANGELOG.md @@ -3,6 +3,7 @@ - Fixed a bug where Kotlin wildcards would crash the code generation. - Support nullability annotations that are on Java elements like methods and fields instead of directly on the return type or field type. +- Require Dart 3.6.0 or greater ## 0.13.0 diff --git a/pkgs/native_assets_builder/CHANGELOG.md b/pkgs/native_assets_builder/CHANGELOG.md index a0c5ece281..6bb8ad6077 100644 --- a/pkgs/native_assets_builder/CHANGELOG.md +++ b/pkgs/native_assets_builder/CHANGELOG.md @@ -1,6 +1,7 @@ ## 0.11.0-wip - Bump `package:native_assets_cli` to 0.11.0. +- Require Dart 3.6.0 or greater ## 0.10.2 diff --git a/pkgs/native_assets_cli/CHANGELOG.md b/pkgs/native_assets_cli/CHANGELOG.md index a77777ebf3..ea1c667504 100644 --- a/pkgs/native_assets_cli/CHANGELOG.md +++ b/pkgs/native_assets_cli/CHANGELOG.md @@ -7,6 +7,7 @@ for the same target. The `outputDirectory` is the same if the config is the same. - **Breaking change** The `output.json` is now part of `BuildInput`. +- Require Dart 3.6.0 or greater ## 0.10.0 diff --git a/pkgs/native_toolchain_c/CHANGELOG.md b/pkgs/native_toolchain_c/CHANGELOG.md index aa9bd3d350..d766d8b043 100644 --- a/pkgs/native_toolchain_c/CHANGELOG.md +++ b/pkgs/native_toolchain_c/CHANGELOG.md @@ -1,6 +1,7 @@ ## 0.8.0-wip - Bump `package:native_assets_cli` to 0.11.0. +- Require Dart 3.6.0 or greater ## 0.7.0 diff --git a/pkgs/objective_c/CHANGELOG.md b/pkgs/objective_c/CHANGELOG.md index e2d76da9f4..cc9d4b7c3d 100644 --- a/pkgs/objective_c/CHANGELOG.md +++ b/pkgs/objective_c/CHANGELOG.md @@ -1,6 +1,7 @@ ## 5.0.0-wip - Add various ObjC categories (extension methods) to the built in classes. +- Require Dart 3.6.0 or greater ## 4.1.0 From c4fe35c526529380a2f6e5674af58f7c474ef0fe Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Wed, 15 Jan 2025 16:36:44 -0500 Subject: [PATCH 39/41] Fix some more CIs --- .github/workflows/ffigen_weekly.yml | 2 ++ .../test_data/native_add_version_skew/hook/build.dart | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ffigen_weekly.yml b/.github/workflows/ffigen_weekly.yml index 23610f8704..b65086cfa4 100644 --- a/.github/workflows/ffigen_weekly.yml +++ b/.github/workflows/ffigen_weekly.yml @@ -31,6 +31,8 @@ jobs: - uses: subosito/flutter-action@74af56c5ed2697ba4621264652728e8d217e53d3 with: channel: 'stable' + - name: Configure native-assets + run: flutter config --enable-native-assets - name: Install dependencies run: flutter pub get - name: Build test dylib and bindings diff --git a/pkgs/native_assets_builder/test_data/native_add_version_skew/hook/build.dart b/pkgs/native_assets_builder/test_data/native_add_version_skew/hook/build.dart index 445348dfb2..dc68f619db 100644 --- a/pkgs/native_assets_builder/test_data/native_add_version_skew/hook/build.dart +++ b/pkgs/native_assets_builder/test_data/native_add_version_skew/hook/build.dart @@ -13,7 +13,7 @@ void main(List arguments) async { name: packageName, assetName: 'src/${packageName}_bindings_generated.dart', sources: [ - 'src/$packageName.c', + 'src/native_add.c', ], ); await cbuilder.run( From a2f412a2195d7f3de8d755ed56de8ba1a10a4bc4 Mon Sep 17 00:00:00 2001 From: Levi Lesches Date: Wed, 15 Jan 2025 16:46:34 -0500 Subject: [PATCH 40/41] Fix even more CI --- .github/workflows/jnigen.yaml | 18 +++++++++--------- .github/workflows/objective_c.yaml | 2 -- .github/workflows/publish.yaml | 1 + 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/.github/workflows/jnigen.yaml b/.github/workflows/jnigen.yaml index 0d6f2b6a47..7be99f6eb3 100644 --- a/.github/workflows/jnigen.yaml +++ b/.github/workflows/jnigen.yaml @@ -53,7 +53,7 @@ jobs: args: '--set-exit-if-changed' - id: install name: Install dependencies - run: dart pub get + run: flutter pub get - name: install dependencies for android test runner run: flutter pub get working-directory: ./pkgs/jnigen/android_test_runner @@ -94,7 +94,7 @@ jobs: sudo apt-get update -y sudo apt-get install -y clang-format - name: Install dependencies - run: dart pub get + run: flutter pub get - name: build in_app_java APK run: flutter build apk --target-platform=android-arm64 working-directory: ./pkgs/jnigen/example/in_app_java @@ -182,7 +182,7 @@ jobs: sudo apt-get install -y ninja-build libgtk-3-dev libclang-dev - run: dart run jni:setup - name: Get dependencies - run: dart pub get + run: flutter pub get - name: Run tests run: dart test --test-randomize-ordering-seed random - name: Install coverage @@ -226,7 +226,7 @@ jobs: distribution: 'zulu' java-version: '17' - run: Add-Content $env:GITHUB_PATH "$env:JAVA_HOME\bin\server" - - run: dart pub get + - run: flutter pub get - run: dart run jni:setup - run: dart test --test-randomize-ordering-seed random @@ -254,7 +254,7 @@ jobs: java-version: '17' - run: git config --global core.autocrlf true - run: Add-Content $env:GITHUB_PATH "$env:JAVA_HOME\bin\server" - - run: dart pub get + - run: flutter pub get - run: dart run jnigen:setup - name: Build summarizer run: dart run jnigen:setup @@ -278,7 +278,7 @@ jobs: with: distribution: 'temurin' java-version: '17' - - run: dart pub get + - run: flutter pub get - run: dart run jni:setup - run: dart test --test-randomize-ordering-seed random @@ -304,7 +304,7 @@ jobs: distribution: 'temurin' java-version: '17' - run: git config --global core.autocrlf true - - run: dart pub get + - run: flutter pub get - name: Build summarizer run: dart run jnigen:setup - name: Run tests @@ -393,7 +393,7 @@ jobs: sudo apt-get update -y sudo apt-get install -y ninja-build libgtk-3-dev clang-format - run: flutter config --enable-linux-desktop - - run: dart pub get + - run: flutter pub get - name: Generate full bindings run: dart run jnigen --config jnigen.yaml --override classes="org.apache.pdfbox" - name: Analyze generated bindings @@ -402,7 +402,7 @@ jobs: flutter analyze - name: Run standalone example run: | - dart pub get + flutter pub get dart run jni:setup wget 'https://raw.githubusercontent.com/dart-lang/site-www/a7f170389e210adc2aef810cc9a6fdbfa78059a5/src/guides/language/specifications/DartLangSpec-v2.2.pdf' dart run bin/pdf_info.dart DartLangSpec-v2.2.pdf diff --git a/.github/workflows/objective_c.yaml b/.github/workflows/objective_c.yaml index 58082e3243..7fc5cb61c1 100644 --- a/.github/workflows/objective_c.yaml +++ b/.github/workflows/objective_c.yaml @@ -97,7 +97,5 @@ jobs: channel: 'stable' - name: Install dependencies run: flutter pub get - - name: Install example dependencies - run: flutter pub get -C example - name: Build the example app run: flutter build macos diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 161bbf02f8..202fed3474 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -18,3 +18,4 @@ jobs: with: write-comments: false sdk: stable + use-flutter: true From 1d866637ea5b68b6006ee2d2a2ab52bf28b02dca Mon Sep 17 00:00:00 2001 From: Hossein Yousefi Date: Tue, 21 Jan 2025 19:36:09 +0100 Subject: [PATCH 41/41] Fix package:jni ffigen issues --- pkgs/jni/lib/src/accessors.dart | 5 + pkgs/jni/lib/src/errors.dart | 19 +- pkgs/jni/lib/src/jni.dart | 14 +- .../third_party/global_env_extensions.dart | 585 ++++++----- .../third_party/jni_bindings_generated.dart | 974 ++++++++++-------- pkgs/jni/src/dartjni.c | 6 +- pkgs/jni/src/dartjni.h | 6 +- pkgs/jni/src/jni_constants.h | 47 +- pkgs/jni/src/third_party/global_jni_env.c | 6 +- .../generate_c_extensions.dart | 4 +- .../generate_dart_extensions.dart | 38 +- 11 files changed, 916 insertions(+), 788 deletions(-) diff --git a/pkgs/jni/lib/src/accessors.dart b/pkgs/jni/lib/src/accessors.dart index 548acb4cd1..b8429b835b 100644 --- a/pkgs/jni/lib/src/accessors.dart +++ b/pkgs/jni/lib/src/accessors.dart @@ -62,6 +62,11 @@ extension JniResultMethods on JniResult { return value.l; } + JObjectRefType get referenceType { + check(); + return JObjectRefType.fromValue(value.i); + } + JReference get reference { final pointer = objectPointer; return pointer == nullptr ? jNullReference : JGlobalReference(pointer); diff --git a/pkgs/jni/lib/src/errors.dart b/pkgs/jni/lib/src/errors.dart index af1ab32f07..88c85393e2 100644 --- a/pkgs/jni/lib/src/errors.dart +++ b/pkgs/jni/lib/src/errors.dart @@ -20,25 +20,24 @@ final class DoubleReleaseError extends StateError { DoubleReleaseError() : super('Double release error'); } -/// Represents JNI errors that might be returned by methods like -/// `JNI_CreateJavaVM`. +/// Represents JNI errors that might be returned by methods like `CreateJavaVM`. sealed class JniError extends Error { static const _errors = { - JniErrorCode.JNI_ERR: JniGenericError.new, - JniErrorCode.JNI_EDETACHED: JniThreadDetachedError.new, - JniErrorCode.JNI_EVERSION: JniVersionError.new, - JniErrorCode.JNI_ENOMEM: JniOutOfMemoryError.new, - JniErrorCode.JNI_EEXIST: JniVmExistsError.new, - JniErrorCode.JNI_EINVAL: JniArgumentError.new, + JniErrorCode.ERR: JniGenericError.new, + JniErrorCode.EDETACHED: JniThreadDetachedError.new, + JniErrorCode.EVERSION: JniVersionError.new, + JniErrorCode.ENOMEM: JniOutOfMemoryError.new, + JniErrorCode.EEXIST: JniVmExistsError.new, + JniErrorCode.EINVAL: JniArgumentError.new, }; final String message; JniError(this.message); - factory JniError.of(int status) { + factory JniError.of(JniErrorCode status) { if (!_errors.containsKey(status)) { - status = JniErrorCode.JNI_ERR; + status = JniErrorCode.ERR; } return _errors[status]!(); } diff --git a/pkgs/jni/lib/src/jni.dart b/pkgs/jni/lib/src/jni.dart index 29423de007..ec95025959 100644 --- a/pkgs/jni/lib/src/jni.dart +++ b/pkgs/jni/lib/src/jni.dart @@ -81,7 +81,7 @@ abstract final class Jni { List jvmOptions = const [], List classPath = const [], bool ignoreUnrecognized = false, - int jniVersion = JniVersions.JNI_VERSION_1_6, + JniVersions jniVersion = JniVersions.VERSION_1_6, }) { final status = spawnIfNotExists( dylibDir: dylibDir, @@ -105,7 +105,7 @@ abstract final class Jni { List jvmOptions = const [], List classPath = const [], bool ignoreUnrecognized = false, - int jniVersion = JniVersions.JNI_VERSION_1_6, + JniVersions jniVersion = JniVersions.VERSION_1_6, }) => using((arena) { _dylibDir = dylibDir; @@ -118,9 +118,9 @@ abstract final class Jni { allocator: arena, ); final status = _bindings.SpawnJvm(jvmArgs); - if (status == JniErrorCode.JNI_OK) { + if (status == JniErrorCode.OK) { return true; - } else if (status == DART_JNI_SINGLETON_EXISTS) { + } else if (status == JniErrorCode.SINGLETON_EXISTS) { return false; } else { throw JniError.of(status); @@ -132,7 +132,7 @@ abstract final class Jni { List classPath = const [], String? dylibPath, bool ignoreUnrecognized = false, - int version = JniVersions.JNI_VERSION_1_6, + JniVersions version = JniVersions.VERSION_1_6, required Allocator allocator, }) { final args = allocator(); @@ -159,7 +159,7 @@ abstract final class Jni { args.ref.nOptions = count; } args.ref.ignoreUnrecognized = ignoreUnrecognized ? 1 : 0; - args.ref.version = version; + args.ref.version = version.value; return args; } @@ -284,7 +284,7 @@ extension ProtectedJniExtensions on Jni { static Dart_FinalizableHandle newJObjectFinalizableHandle( Object object, Pointer reference, - int refType, + JObjectRefType refType, ) { ensureInitialized(); return Jni._bindings diff --git a/pkgs/jni/lib/src/third_party/global_env_extensions.dart b/pkgs/jni/lib/src/third_party/global_env_extensions.dart index 4563d629c7..60dc7955a4 100644 --- a/pkgs/jni/lib/src/third_party/global_env_extensions.dart +++ b/pkgs/jni/lib/src/third_party/global_env_extensions.dart @@ -45,14 +45,17 @@ class GlobalJniEnv { late final _GetVersion = ptr.ref.GetVersion.asFunction(isLeaf: true); - int GetVersion() => _GetVersion().integer; + DartJIntMarker GetVersion() => _GetVersion().integer; late final _DefineClass = ptr.ref.DefineClass.asFunction< - JniClassLookupResult Function(ffi.Pointer name, - JObjectPtr loader, ffi.Pointer buf, int bufLen)>(); + JniClassLookupResult Function( + ffi.Pointer name, + JObjectPtr loader, + ffi.Pointer buf, + DartJIntMarker bufLen)>(); JClassPtr DefineClass(ffi.Pointer name, JObjectPtr loader, - ffi.Pointer buf, int bufLen) => + ffi.Pointer buf, DartJIntMarker bufLen) => _DefineClass(name, loader, buf, bufLen).value; late final _FindClass = ptr.ref.FindClass @@ -74,10 +77,11 @@ class GlobalJniEnv { _FromReflectedField(field).fieldID; late final _ToReflectedMethod = ptr.ref.ToReflectedMethod.asFunction< - JniResult Function(JClassPtr cls, JMethodIDPtr methodId, int isStatic)>(); + JniResult Function( + JClassPtr cls, JMethodIDPtr methodId, DartJBooleanMarker isStatic)>(); JObjectPtr ToReflectedMethod( - JClassPtr cls, JMethodIDPtr methodId, int isStatic) => + JClassPtr cls, JMethodIDPtr methodId, DartJBooleanMarker isStatic) => _ToReflectedMethod(cls, methodId, isStatic).objectPointer; late final _GetSuperclass = ptr.ref.GetSuperclass @@ -93,21 +97,22 @@ class GlobalJniEnv { _IsAssignableFrom(clazz1, clazz2).boolean; late final _ToReflectedField = ptr.ref.ToReflectedField.asFunction< - JniResult Function(JClassPtr cls, JFieldIDPtr fieldID, int isStatic)>(); + JniResult Function( + JClassPtr cls, JFieldIDPtr fieldID, DartJBooleanMarker isStatic)>(); JObjectPtr ToReflectedField( - JClassPtr cls, JFieldIDPtr fieldID, int isStatic) => + JClassPtr cls, JFieldIDPtr fieldID, DartJBooleanMarker isStatic) => _ToReflectedField(cls, fieldID, isStatic).objectPointer; late final _Throw = ptr.ref.Throw.asFunction(); - int Throw(JThrowablePtr obj) => _Throw(obj).integer; + DartJIntMarker Throw(JThrowablePtr obj) => _Throw(obj).integer; late final _ThrowNew = ptr.ref.ThrowNew.asFunction< JniResult Function(JClassPtr clazz, ffi.Pointer message)>(); - int ThrowNew(JClassPtr clazz, ffi.Pointer message) => + DartJIntMarker ThrowNew(JClassPtr clazz, ffi.Pointer message) => _ThrowNew(clazz, message).integer; late final _ExceptionOccurred = @@ -130,10 +135,11 @@ class GlobalJniEnv { void FatalError(ffi.Pointer msg) => _FatalError(msg).check(); - late final _PushLocalFrame = - ptr.ref.PushLocalFrame.asFunction(); + late final _PushLocalFrame = ptr.ref.PushLocalFrame + .asFunction(); - int PushLocalFrame(int capacity) => _PushLocalFrame(capacity).integer; + DartJIntMarker PushLocalFrame(DartJIntMarker capacity) => + _PushLocalFrame(capacity).integer; late final _PopLocalFrame = ptr.ref.PopLocalFrame.asFunction(); @@ -170,9 +176,9 @@ class GlobalJniEnv { JObjectPtr NewLocalRef(JObjectPtr obj) => _NewLocalRef(obj).objectPointer; late final _EnsureLocalCapacity = ptr.ref.EnsureLocalCapacity - .asFunction(); + .asFunction(); - int EnsureLocalCapacity(int capacity) => + DartJIntMarker EnsureLocalCapacity(DartJIntMarker capacity) => _EnsureLocalCapacity(capacity).integer; late final _AllocObject = @@ -244,98 +250,98 @@ class GlobalJniEnv { late final _CallByteMethod = ptr.ref.CallByteMethod .asFunction(); - int CallByteMethod(JObjectPtr obj, JMethodIDPtr methodID) => + DartJByteMarker CallByteMethod(JObjectPtr obj, JMethodIDPtr methodID) => _CallByteMethod(obj, methodID).byte; late final _CallByteMethodA = ptr.ref.CallByteMethodA.asFunction< JniResult Function( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallByteMethodA( + DartJByteMarker CallByteMethodA( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args) => _CallByteMethodA(obj, methodID, args).byte; late final _CallCharMethod = ptr.ref.CallCharMethod .asFunction(); - int CallCharMethod(JObjectPtr obj, JMethodIDPtr methodID) => + DartJCharMarker CallCharMethod(JObjectPtr obj, JMethodIDPtr methodID) => _CallCharMethod(obj, methodID).char; late final _CallCharMethodA = ptr.ref.CallCharMethodA.asFunction< JniResult Function( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallCharMethodA( + DartJCharMarker CallCharMethodA( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args) => _CallCharMethodA(obj, methodID, args).char; late final _CallShortMethod = ptr.ref.CallShortMethod .asFunction(); - int CallShortMethod(JObjectPtr obj, JMethodIDPtr methodID) => + DartJShortMarker CallShortMethod(JObjectPtr obj, JMethodIDPtr methodID) => _CallShortMethod(obj, methodID).short; late final _CallShortMethodA = ptr.ref.CallShortMethodA.asFunction< JniResult Function( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallShortMethodA( + DartJShortMarker CallShortMethodA( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args) => _CallShortMethodA(obj, methodID, args).short; late final _CallIntMethod = ptr.ref.CallIntMethod .asFunction(); - int CallIntMethod(JObjectPtr obj, JMethodIDPtr methodID) => + DartJIntMarker CallIntMethod(JObjectPtr obj, JMethodIDPtr methodID) => _CallIntMethod(obj, methodID).integer; late final _CallIntMethodA = ptr.ref.CallIntMethodA.asFunction< JniResult Function( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallIntMethodA( + DartJIntMarker CallIntMethodA( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args) => _CallIntMethodA(obj, methodID, args).integer; late final _CallLongMethod = ptr.ref.CallLongMethod .asFunction(); - int CallLongMethod(JObjectPtr obj, JMethodIDPtr methodID) => + DartJLongMarker CallLongMethod(JObjectPtr obj, JMethodIDPtr methodID) => _CallLongMethod(obj, methodID).long; late final _CallLongMethodA = ptr.ref.CallLongMethodA.asFunction< JniResult Function( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallLongMethodA( + DartJLongMarker CallLongMethodA( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args) => _CallLongMethodA(obj, methodID, args).long; late final _CallFloatMethod = ptr.ref.CallFloatMethod .asFunction(); - double CallFloatMethod(JObjectPtr obj, JMethodIDPtr methodID) => + DartJFloatMarker CallFloatMethod(JObjectPtr obj, JMethodIDPtr methodID) => _CallFloatMethod(obj, methodID).float; late final _CallFloatMethodA = ptr.ref.CallFloatMethodA.asFunction< JniResult Function( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>(); - double CallFloatMethodA( + DartJFloatMarker CallFloatMethodA( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args) => _CallFloatMethodA(obj, methodID, args).float; late final _CallDoubleMethod = ptr.ref.CallDoubleMethod .asFunction(); - double CallDoubleMethod(JObjectPtr obj, JMethodIDPtr methodID) => + DartJDoubleMarker CallDoubleMethod(JObjectPtr obj, JMethodIDPtr methodID) => _CallDoubleMethod(obj, methodID).doubleFloat; late final _CallDoubleMethodA = ptr.ref.CallDoubleMethodA.asFunction< JniResult Function( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>(); - double CallDoubleMethodA( + DartJDoubleMarker CallDoubleMethodA( JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args) => _CallDoubleMethodA(obj, methodID, args).doubleFloat; @@ -394,7 +400,7 @@ class GlobalJniEnv { JniResult Function( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>(); - int CallNonvirtualByteMethod( + DartJByteMarker CallNonvirtualByteMethod( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) => _CallNonvirtualByteMethod(obj, clazz, methodID).byte; @@ -403,7 +409,7 @@ class GlobalJniEnv { JniResult Function(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallNonvirtualByteMethodA(JObjectPtr obj, JClassPtr clazz, + DartJByteMarker CallNonvirtualByteMethodA(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallNonvirtualByteMethodA(obj, clazz, methodID, args).byte; @@ -412,7 +418,7 @@ class GlobalJniEnv { JniResult Function( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>(); - int CallNonvirtualCharMethod( + DartJCharMarker CallNonvirtualCharMethod( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) => _CallNonvirtualCharMethod(obj, clazz, methodID).char; @@ -421,7 +427,7 @@ class GlobalJniEnv { JniResult Function(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallNonvirtualCharMethodA(JObjectPtr obj, JClassPtr clazz, + DartJCharMarker CallNonvirtualCharMethodA(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallNonvirtualCharMethodA(obj, clazz, methodID, args).char; @@ -430,7 +436,7 @@ class GlobalJniEnv { JniResult Function( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>(); - int CallNonvirtualShortMethod( + DartJShortMarker CallNonvirtualShortMethod( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) => _CallNonvirtualShortMethod(obj, clazz, methodID).short; @@ -439,7 +445,7 @@ class GlobalJniEnv { JniResult Function(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallNonvirtualShortMethodA(JObjectPtr obj, JClassPtr clazz, + DartJShortMarker CallNonvirtualShortMethodA(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallNonvirtualShortMethodA(obj, clazz, methodID, args).short; @@ -448,7 +454,7 @@ class GlobalJniEnv { JniResult Function( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>(); - int CallNonvirtualIntMethod( + DartJIntMarker CallNonvirtualIntMethod( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) => _CallNonvirtualIntMethod(obj, clazz, methodID).integer; @@ -457,7 +463,7 @@ class GlobalJniEnv { JniResult Function(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallNonvirtualIntMethodA(JObjectPtr obj, JClassPtr clazz, + DartJIntMarker CallNonvirtualIntMethodA(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallNonvirtualIntMethodA(obj, clazz, methodID, args).integer; @@ -466,7 +472,7 @@ class GlobalJniEnv { JniResult Function( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>(); - int CallNonvirtualLongMethod( + DartJLongMarker CallNonvirtualLongMethod( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) => _CallNonvirtualLongMethod(obj, clazz, methodID).long; @@ -475,7 +481,7 @@ class GlobalJniEnv { JniResult Function(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallNonvirtualLongMethodA(JObjectPtr obj, JClassPtr clazz, + DartJLongMarker CallNonvirtualLongMethodA(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallNonvirtualLongMethodA(obj, clazz, methodID, args).long; @@ -484,7 +490,7 @@ class GlobalJniEnv { JniResult Function( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>(); - double CallNonvirtualFloatMethod( + DartJFloatMarker CallNonvirtualFloatMethod( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) => _CallNonvirtualFloatMethod(obj, clazz, methodID).float; @@ -493,7 +499,7 @@ class GlobalJniEnv { JniResult Function(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - double CallNonvirtualFloatMethodA(JObjectPtr obj, JClassPtr clazz, + DartJFloatMarker CallNonvirtualFloatMethodA(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallNonvirtualFloatMethodA(obj, clazz, methodID, args).float; @@ -502,7 +508,7 @@ class GlobalJniEnv { JniResult Function( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>(); - double CallNonvirtualDoubleMethod( + DartJDoubleMarker CallNonvirtualDoubleMethod( JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) => _CallNonvirtualDoubleMethod(obj, clazz, methodID).doubleFloat; @@ -511,7 +517,7 @@ class GlobalJniEnv { JniResult Function(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - double CallNonvirtualDoubleMethodA(JObjectPtr obj, JClassPtr clazz, + DartJDoubleMarker CallNonvirtualDoubleMethodA(JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallNonvirtualDoubleMethodA(obj, clazz, methodID, args).doubleFloat; @@ -559,49 +565,49 @@ class GlobalJniEnv { .asFunction( isLeaf: true); - int GetByteField(JObjectPtr obj, JFieldIDPtr fieldID) => + DartJByteMarker GetByteField(JObjectPtr obj, JFieldIDPtr fieldID) => _GetByteField(obj, fieldID).byte; late final _GetCharField = ptr.ref.GetCharField .asFunction( isLeaf: true); - int GetCharField(JObjectPtr obj, JFieldIDPtr fieldID) => + DartJCharMarker GetCharField(JObjectPtr obj, JFieldIDPtr fieldID) => _GetCharField(obj, fieldID).char; late final _GetShortField = ptr.ref.GetShortField .asFunction( isLeaf: true); - int GetShortField(JObjectPtr obj, JFieldIDPtr fieldID) => + DartJShortMarker GetShortField(JObjectPtr obj, JFieldIDPtr fieldID) => _GetShortField(obj, fieldID).short; late final _GetIntField = ptr.ref.GetIntField .asFunction( isLeaf: true); - int GetIntField(JObjectPtr obj, JFieldIDPtr fieldID) => + DartJIntMarker GetIntField(JObjectPtr obj, JFieldIDPtr fieldID) => _GetIntField(obj, fieldID).integer; late final _GetLongField = ptr.ref.GetLongField .asFunction( isLeaf: true); - int GetLongField(JObjectPtr obj, JFieldIDPtr fieldID) => + DartJLongMarker GetLongField(JObjectPtr obj, JFieldIDPtr fieldID) => _GetLongField(obj, fieldID).long; late final _GetFloatField = ptr.ref.GetFloatField .asFunction( isLeaf: true); - double GetFloatField(JObjectPtr obj, JFieldIDPtr fieldID) => + DartJFloatMarker GetFloatField(JObjectPtr obj, JFieldIDPtr fieldID) => _GetFloatField(obj, fieldID).float; late final _GetDoubleField = ptr.ref.GetDoubleField .asFunction( isLeaf: true); - double GetDoubleField(JObjectPtr obj, JFieldIDPtr fieldID) => + DartJDoubleMarker GetDoubleField(JObjectPtr obj, JFieldIDPtr fieldID) => _GetDoubleField(obj, fieldID).doubleFloat; late final _SetObjectField = ptr.ref.SetObjectField.asFunction< @@ -612,59 +618,63 @@ class GlobalJniEnv { _SetObjectField(obj, fieldID, val).check(); late final _SetBooleanField = ptr.ref.SetBooleanField.asFunction< - JThrowablePtr Function( - JObjectPtr obj, JFieldIDPtr fieldID, int val)>(isLeaf: true); + JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, + DartJBooleanMarker val)>(isLeaf: true); - void SetBooleanField(JObjectPtr obj, JFieldIDPtr fieldID, int val) => + void SetBooleanField( + JObjectPtr obj, JFieldIDPtr fieldID, DartJBooleanMarker val) => _SetBooleanField(obj, fieldID, val).check(); late final _SetByteField = ptr.ref.SetByteField.asFunction< - JThrowablePtr Function( - JObjectPtr obj, JFieldIDPtr fieldID, int val)>(isLeaf: true); + JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, + DartJByteMarker val)>(isLeaf: true); - void SetByteField(JObjectPtr obj, JFieldIDPtr fieldID, int val) => + void SetByteField(JObjectPtr obj, JFieldIDPtr fieldID, DartJByteMarker val) => _SetByteField(obj, fieldID, val).check(); late final _SetCharField = ptr.ref.SetCharField.asFunction< - JThrowablePtr Function( - JObjectPtr obj, JFieldIDPtr fieldID, int val)>(isLeaf: true); + JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, + DartJCharMarker val)>(isLeaf: true); - void SetCharField(JObjectPtr obj, JFieldIDPtr fieldID, int val) => + void SetCharField(JObjectPtr obj, JFieldIDPtr fieldID, DartJCharMarker val) => _SetCharField(obj, fieldID, val).check(); late final _SetShortField = ptr.ref.SetShortField.asFunction< - JThrowablePtr Function( - JObjectPtr obj, JFieldIDPtr fieldID, int val)>(isLeaf: true); + JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, + DartJShortMarker val)>(isLeaf: true); - void SetShortField(JObjectPtr obj, JFieldIDPtr fieldID, int val) => + void SetShortField( + JObjectPtr obj, JFieldIDPtr fieldID, DartJShortMarker val) => _SetShortField(obj, fieldID, val).check(); late final _SetIntField = ptr.ref.SetIntField.asFunction< - JThrowablePtr Function( - JObjectPtr obj, JFieldIDPtr fieldID, int val)>(isLeaf: true); + JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, + DartJIntMarker val)>(isLeaf: true); - void SetIntField(JObjectPtr obj, JFieldIDPtr fieldID, int val) => + void SetIntField(JObjectPtr obj, JFieldIDPtr fieldID, DartJIntMarker val) => _SetIntField(obj, fieldID, val).check(); late final _SetLongField = ptr.ref.SetLongField.asFunction< - JThrowablePtr Function( - JObjectPtr obj, JFieldIDPtr fieldID, int val)>(isLeaf: true); + JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, + DartJLongMarker val)>(isLeaf: true); - void SetLongField(JObjectPtr obj, JFieldIDPtr fieldID, int val) => + void SetLongField(JObjectPtr obj, JFieldIDPtr fieldID, DartJLongMarker val) => _SetLongField(obj, fieldID, val).check(); late final _SetFloatField = ptr.ref.SetFloatField.asFunction< - JThrowablePtr Function( - JObjectPtr obj, JFieldIDPtr fieldID, double val)>(isLeaf: true); + JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, + DartJFloatMarker val)>(isLeaf: true); - void SetFloatField(JObjectPtr obj, JFieldIDPtr fieldID, double val) => + void SetFloatField( + JObjectPtr obj, JFieldIDPtr fieldID, DartJFloatMarker val) => _SetFloatField(obj, fieldID, val).check(); late final _SetDoubleField = ptr.ref.SetDoubleField.asFunction< - JThrowablePtr Function( - JObjectPtr obj, JFieldIDPtr fieldID, double val)>(isLeaf: true); + JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, + DartJDoubleMarker val)>(isLeaf: true); - void SetDoubleField(JObjectPtr obj, JFieldIDPtr fieldID, double val) => + void SetDoubleField( + JObjectPtr obj, JFieldIDPtr fieldID, DartJDoubleMarker val) => _SetDoubleField(obj, fieldID, val).check(); late final _GetStaticMethodID = ptr.ref.GetStaticMethodID.asFunction< @@ -708,35 +718,38 @@ class GlobalJniEnv { late final _CallStaticByteMethod = ptr.ref.CallStaticByteMethod .asFunction(); - int CallStaticByteMethod(JClassPtr clazz, JMethodIDPtr methodID) => + DartJByteMarker CallStaticByteMethod( + JClassPtr clazz, JMethodIDPtr methodID) => _CallStaticByteMethod(clazz, methodID).byte; late final _CallStaticByteMethodA = ptr.ref.CallStaticByteMethodA.asFunction< JniResult Function( JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallStaticByteMethodA( + DartJByteMarker CallStaticByteMethodA( JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallStaticByteMethodA(clazz, methodID, args).byte; late final _CallStaticCharMethod = ptr.ref.CallStaticCharMethod .asFunction(); - int CallStaticCharMethod(JClassPtr clazz, JMethodIDPtr methodID) => + DartJCharMarker CallStaticCharMethod( + JClassPtr clazz, JMethodIDPtr methodID) => _CallStaticCharMethod(clazz, methodID).char; late final _CallStaticCharMethodA = ptr.ref.CallStaticCharMethodA.asFunction< JniResult Function( JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallStaticCharMethodA( + DartJCharMarker CallStaticCharMethodA( JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallStaticCharMethodA(clazz, methodID, args).char; late final _CallStaticShortMethod = ptr.ref.CallStaticShortMethod .asFunction(); - int CallStaticShortMethod(JClassPtr clazz, JMethodIDPtr methodID) => + DartJShortMarker CallStaticShortMethod( + JClassPtr clazz, JMethodIDPtr methodID) => _CallStaticShortMethod(clazz, methodID).short; late final _CallStaticShortMethodA = ptr.ref.CallStaticShortMethodA @@ -744,42 +757,44 @@ class GlobalJniEnv { JniResult Function(JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallStaticShortMethodA( + DartJShortMarker CallStaticShortMethodA( JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallStaticShortMethodA(clazz, methodID, args).short; late final _CallStaticIntMethod = ptr.ref.CallStaticIntMethod .asFunction(); - int CallStaticIntMethod(JClassPtr clazz, JMethodIDPtr methodID) => + DartJIntMarker CallStaticIntMethod(JClassPtr clazz, JMethodIDPtr methodID) => _CallStaticIntMethod(clazz, methodID).integer; late final _CallStaticIntMethodA = ptr.ref.CallStaticIntMethodA.asFunction< JniResult Function( JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallStaticIntMethodA( + DartJIntMarker CallStaticIntMethodA( JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallStaticIntMethodA(clazz, methodID, args).integer; late final _CallStaticLongMethod = ptr.ref.CallStaticLongMethod .asFunction(); - int CallStaticLongMethod(JClassPtr clazz, JMethodIDPtr methodID) => + DartJLongMarker CallStaticLongMethod( + JClassPtr clazz, JMethodIDPtr methodID) => _CallStaticLongMethod(clazz, methodID).long; late final _CallStaticLongMethodA = ptr.ref.CallStaticLongMethodA.asFunction< JniResult Function( JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - int CallStaticLongMethodA( + DartJLongMarker CallStaticLongMethodA( JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallStaticLongMethodA(clazz, methodID, args).long; late final _CallStaticFloatMethod = ptr.ref.CallStaticFloatMethod .asFunction(); - double CallStaticFloatMethod(JClassPtr clazz, JMethodIDPtr methodID) => + DartJFloatMarker CallStaticFloatMethod( + JClassPtr clazz, JMethodIDPtr methodID) => _CallStaticFloatMethod(clazz, methodID).float; late final _CallStaticFloatMethodA = ptr.ref.CallStaticFloatMethodA @@ -787,14 +802,15 @@ class GlobalJniEnv { JniResult Function(JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - double CallStaticFloatMethodA( + DartJFloatMarker CallStaticFloatMethodA( JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallStaticFloatMethodA(clazz, methodID, args).float; late final _CallStaticDoubleMethod = ptr.ref.CallStaticDoubleMethod .asFunction(); - double CallStaticDoubleMethod(JClassPtr clazz, JMethodIDPtr methodID) => + DartJDoubleMarker CallStaticDoubleMethod( + JClassPtr clazz, JMethodIDPtr methodID) => _CallStaticDoubleMethod(clazz, methodID).doubleFloat; late final _CallStaticDoubleMethodA = ptr.ref.CallStaticDoubleMethodA @@ -802,7 +818,7 @@ class GlobalJniEnv { JniResult Function(JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>(); - double CallStaticDoubleMethodA( + DartJDoubleMarker CallStaticDoubleMethodA( JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args) => _CallStaticDoubleMethodA(clazz, methodID, args).doubleFloat; @@ -846,49 +862,50 @@ class GlobalJniEnv { .asFunction( isLeaf: true); - int GetStaticByteField(JClassPtr clazz, JFieldIDPtr fieldID) => + DartJByteMarker GetStaticByteField(JClassPtr clazz, JFieldIDPtr fieldID) => _GetStaticByteField(clazz, fieldID).byte; late final _GetStaticCharField = ptr.ref.GetStaticCharField .asFunction( isLeaf: true); - int GetStaticCharField(JClassPtr clazz, JFieldIDPtr fieldID) => + DartJCharMarker GetStaticCharField(JClassPtr clazz, JFieldIDPtr fieldID) => _GetStaticCharField(clazz, fieldID).char; late final _GetStaticShortField = ptr.ref.GetStaticShortField .asFunction( isLeaf: true); - int GetStaticShortField(JClassPtr clazz, JFieldIDPtr fieldID) => + DartJShortMarker GetStaticShortField(JClassPtr clazz, JFieldIDPtr fieldID) => _GetStaticShortField(clazz, fieldID).short; late final _GetStaticIntField = ptr.ref.GetStaticIntField .asFunction( isLeaf: true); - int GetStaticIntField(JClassPtr clazz, JFieldIDPtr fieldID) => + DartJIntMarker GetStaticIntField(JClassPtr clazz, JFieldIDPtr fieldID) => _GetStaticIntField(clazz, fieldID).integer; late final _GetStaticLongField = ptr.ref.GetStaticLongField .asFunction( isLeaf: true); - int GetStaticLongField(JClassPtr clazz, JFieldIDPtr fieldID) => + DartJLongMarker GetStaticLongField(JClassPtr clazz, JFieldIDPtr fieldID) => _GetStaticLongField(clazz, fieldID).long; late final _GetStaticFloatField = ptr.ref.GetStaticFloatField .asFunction( isLeaf: true); - double GetStaticFloatField(JClassPtr clazz, JFieldIDPtr fieldID) => + DartJFloatMarker GetStaticFloatField(JClassPtr clazz, JFieldIDPtr fieldID) => _GetStaticFloatField(clazz, fieldID).float; late final _GetStaticDoubleField = ptr.ref.GetStaticDoubleField .asFunction( isLeaf: true); - double GetStaticDoubleField(JClassPtr clazz, JFieldIDPtr fieldID) => + DartJDoubleMarker GetStaticDoubleField( + JClassPtr clazz, JFieldIDPtr fieldID) => _GetStaticDoubleField(clazz, fieldID).doubleFloat; late final _SetStaticObjectField = ptr.ref.SetStaticObjectField.asFunction< @@ -900,71 +917,82 @@ class GlobalJniEnv { _SetStaticObjectField(clazz, fieldID, val).check(); late final _SetStaticBooleanField = ptr.ref.SetStaticBooleanField.asFunction< - JThrowablePtr Function( - JClassPtr clazz, JFieldIDPtr fieldID, int val)>(isLeaf: true); + JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, + DartJBooleanMarker val)>(isLeaf: true); - void SetStaticBooleanField(JClassPtr clazz, JFieldIDPtr fieldID, int val) => + void SetStaticBooleanField( + JClassPtr clazz, JFieldIDPtr fieldID, DartJBooleanMarker val) => _SetStaticBooleanField(clazz, fieldID, val).check(); late final _SetStaticByteField = ptr.ref.SetStaticByteField.asFunction< - JThrowablePtr Function( - JClassPtr clazz, JFieldIDPtr fieldID, int val)>(isLeaf: true); + JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, + DartJByteMarker val)>(isLeaf: true); - void SetStaticByteField(JClassPtr clazz, JFieldIDPtr fieldID, int val) => + void SetStaticByteField( + JClassPtr clazz, JFieldIDPtr fieldID, DartJByteMarker val) => _SetStaticByteField(clazz, fieldID, val).check(); late final _SetStaticCharField = ptr.ref.SetStaticCharField.asFunction< - JThrowablePtr Function( - JClassPtr clazz, JFieldIDPtr fieldID, int val)>(isLeaf: true); + JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, + DartJCharMarker val)>(isLeaf: true); - void SetStaticCharField(JClassPtr clazz, JFieldIDPtr fieldID, int val) => + void SetStaticCharField( + JClassPtr clazz, JFieldIDPtr fieldID, DartJCharMarker val) => _SetStaticCharField(clazz, fieldID, val).check(); late final _SetStaticShortField = ptr.ref.SetStaticShortField.asFunction< - JThrowablePtr Function( - JClassPtr clazz, JFieldIDPtr fieldID, int val)>(isLeaf: true); + JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, + DartJShortMarker val)>(isLeaf: true); - void SetStaticShortField(JClassPtr clazz, JFieldIDPtr fieldID, int val) => + void SetStaticShortField( + JClassPtr clazz, JFieldIDPtr fieldID, DartJShortMarker val) => _SetStaticShortField(clazz, fieldID, val).check(); late final _SetStaticIntField = ptr.ref.SetStaticIntField.asFunction< - JThrowablePtr Function( - JClassPtr clazz, JFieldIDPtr fieldID, int val)>(isLeaf: true); + JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, + DartJIntMarker val)>(isLeaf: true); - void SetStaticIntField(JClassPtr clazz, JFieldIDPtr fieldID, int val) => + void SetStaticIntField( + JClassPtr clazz, JFieldIDPtr fieldID, DartJIntMarker val) => _SetStaticIntField(clazz, fieldID, val).check(); late final _SetStaticLongField = ptr.ref.SetStaticLongField.asFunction< - JThrowablePtr Function( - JClassPtr clazz, JFieldIDPtr fieldID, int val)>(isLeaf: true); + JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, + DartJLongMarker val)>(isLeaf: true); - void SetStaticLongField(JClassPtr clazz, JFieldIDPtr fieldID, int val) => + void SetStaticLongField( + JClassPtr clazz, JFieldIDPtr fieldID, DartJLongMarker val) => _SetStaticLongField(clazz, fieldID, val).check(); late final _SetStaticFloatField = ptr.ref.SetStaticFloatField.asFunction< - JThrowablePtr Function( - JClassPtr clazz, JFieldIDPtr fieldID, double val)>(isLeaf: true); + JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, + DartJFloatMarker val)>(isLeaf: true); - void SetStaticFloatField(JClassPtr clazz, JFieldIDPtr fieldID, double val) => + void SetStaticFloatField( + JClassPtr clazz, JFieldIDPtr fieldID, DartJFloatMarker val) => _SetStaticFloatField(clazz, fieldID, val).check(); late final _SetStaticDoubleField = ptr.ref.SetStaticDoubleField.asFunction< - JThrowablePtr Function( - JClassPtr clazz, JFieldIDPtr fieldID, double val)>(isLeaf: true); + JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, + DartJDoubleMarker val)>(isLeaf: true); - void SetStaticDoubleField(JClassPtr clazz, JFieldIDPtr fieldID, double val) => + void SetStaticDoubleField( + JClassPtr clazz, JFieldIDPtr fieldID, DartJDoubleMarker val) => _SetStaticDoubleField(clazz, fieldID, val).check(); late final _NewString = ptr.ref.NewString.asFunction< - JniResult Function(ffi.Pointer unicodeChars, int len)>(); + JniResult Function( + ffi.Pointer unicodeChars, DartJIntMarker len)>(); - JStringPtr NewString(ffi.Pointer unicodeChars, int len) => + JStringPtr NewString( + ffi.Pointer unicodeChars, DartJIntMarker len) => _NewString(unicodeChars, len).objectPointer; late final _GetStringLength = ptr.ref.GetStringLength .asFunction(isLeaf: true); - int GetStringLength(JStringPtr string) => _GetStringLength(string).integer; + DartJIntMarker GetStringLength(JStringPtr string) => + _GetStringLength(string).integer; late final _GetStringChars = ptr.ref.GetStringChars.asFunction< JniPointerResult Function( @@ -990,7 +1018,7 @@ class GlobalJniEnv { late final _GetStringUTFLength = ptr.ref.GetStringUTFLength .asFunction(isLeaf: true); - int GetStringUTFLength(JStringPtr string) => + DartJIntMarker GetStringUTFLength(JStringPtr string) => _GetStringUTFLength(string).integer; late final _GetStringUTFChars = ptr.ref.GetStringUTFChars.asFunction< @@ -1010,73 +1038,79 @@ class GlobalJniEnv { late final _GetArrayLength = ptr.ref.GetArrayLength .asFunction(isLeaf: true); - int GetArrayLength(JArrayPtr array) => _GetArrayLength(array).integer; + DartJIntMarker GetArrayLength(JArrayPtr array) => + _GetArrayLength(array).integer; late final _NewObjectArray = ptr.ref.NewObjectArray.asFunction< - JniResult Function( - int length, JClassPtr elementClass, JObjectPtr initialElement)>(); + JniResult Function(DartJIntMarker length, JClassPtr elementClass, + JObjectPtr initialElement)>(); - JObjectArrayPtr NewObjectArray( - int length, JClassPtr elementClass, JObjectPtr initialElement) => + JObjectArrayPtr NewObjectArray(DartJIntMarker length, JClassPtr elementClass, + JObjectPtr initialElement) => _NewObjectArray(length, elementClass, initialElement).objectPointer; - late final _GetObjectArrayElement = ptr.ref.GetObjectArrayElement - .asFunction( - isLeaf: true); + late final _GetObjectArrayElement = ptr.ref.GetObjectArrayElement.asFunction< + JniResult Function( + JObjectArrayPtr array, DartJIntMarker index)>(isLeaf: true); - JObjectPtr GetObjectArrayElement(JObjectArrayPtr array, int index) => + JObjectPtr GetObjectArrayElement( + JObjectArrayPtr array, DartJIntMarker index) => _GetObjectArrayElement(array, index).objectPointer; late final _SetObjectArrayElement = ptr.ref.SetObjectArrayElement.asFunction< - JThrowablePtr Function( - JObjectArrayPtr array, int index, JObjectPtr val)>(isLeaf: true); + JThrowablePtr Function(JObjectArrayPtr array, DartJIntMarker index, + JObjectPtr val)>(isLeaf: true); void SetObjectArrayElement( - JObjectArrayPtr array, int index, JObjectPtr val) => + JObjectArrayPtr array, DartJIntMarker index, JObjectPtr val) => _SetObjectArrayElement(array, index, val).check(); - late final _NewBooleanArray = - ptr.ref.NewBooleanArray.asFunction(); + late final _NewBooleanArray = ptr.ref.NewBooleanArray + .asFunction(); - JBooleanArrayPtr NewBooleanArray(int length) => + JBooleanArrayPtr NewBooleanArray(DartJIntMarker length) => _NewBooleanArray(length).objectPointer; - late final _NewByteArray = - ptr.ref.NewByteArray.asFunction(); + late final _NewByteArray = ptr.ref.NewByteArray + .asFunction(); - JByteArrayPtr NewByteArray(int length) => _NewByteArray(length).objectPointer; + JByteArrayPtr NewByteArray(DartJIntMarker length) => + _NewByteArray(length).objectPointer; - late final _NewCharArray = - ptr.ref.NewCharArray.asFunction(); + late final _NewCharArray = ptr.ref.NewCharArray + .asFunction(); - JCharArrayPtr NewCharArray(int length) => _NewCharArray(length).objectPointer; + JCharArrayPtr NewCharArray(DartJIntMarker length) => + _NewCharArray(length).objectPointer; - late final _NewShortArray = - ptr.ref.NewShortArray.asFunction(); + late final _NewShortArray = ptr.ref.NewShortArray + .asFunction(); - JShortArrayPtr NewShortArray(int length) => + JShortArrayPtr NewShortArray(DartJIntMarker length) => _NewShortArray(length).objectPointer; - late final _NewIntArray = - ptr.ref.NewIntArray.asFunction(); + late final _NewIntArray = ptr.ref.NewIntArray + .asFunction(); - JIntArrayPtr NewIntArray(int length) => _NewIntArray(length).objectPointer; + JIntArrayPtr NewIntArray(DartJIntMarker length) => + _NewIntArray(length).objectPointer; - late final _NewLongArray = - ptr.ref.NewLongArray.asFunction(); + late final _NewLongArray = ptr.ref.NewLongArray + .asFunction(); - JLongArrayPtr NewLongArray(int length) => _NewLongArray(length).objectPointer; + JLongArrayPtr NewLongArray(DartJIntMarker length) => + _NewLongArray(length).objectPointer; - late final _NewFloatArray = - ptr.ref.NewFloatArray.asFunction(); + late final _NewFloatArray = ptr.ref.NewFloatArray + .asFunction(); - JFloatArrayPtr NewFloatArray(int length) => + JFloatArrayPtr NewFloatArray(DartJIntMarker length) => _NewFloatArray(length).objectPointer; - late final _NewDoubleArray = - ptr.ref.NewDoubleArray.asFunction(); + late final _NewDoubleArray = ptr.ref.NewDoubleArray + .asFunction(); - JDoubleArrayPtr NewDoubleArray(int length) => + JDoubleArrayPtr NewDoubleArray(DartJIntMarker length) => _NewDoubleArray(length).objectPointer; late final _GetBooleanArrayElements = ptr.ref.GetBooleanArrayElements @@ -1148,246 +1182,248 @@ class GlobalJniEnv { late final _ReleaseBooleanArrayElements = ptr.ref.ReleaseBooleanArrayElements .asFunction< JThrowablePtr Function(JBooleanArrayPtr array, - ffi.Pointer elems, int mode)>(); + ffi.Pointer elems, DartJIntMarker mode)>(); void ReleaseBooleanArrayElements(JBooleanArrayPtr array, - ffi.Pointer elems, int mode) => + ffi.Pointer elems, DartJIntMarker mode) => _ReleaseBooleanArrayElements(array, elems, mode).check(); late final _ReleaseByteArrayElements = ptr.ref.ReleaseByteArrayElements .asFunction< - JThrowablePtr Function( - JByteArrayPtr array, ffi.Pointer elems, int mode)>(); + JThrowablePtr Function(JByteArrayPtr array, + ffi.Pointer elems, DartJIntMarker mode)>(); - void ReleaseByteArrayElements( - JByteArrayPtr array, ffi.Pointer elems, int mode) => + void ReleaseByteArrayElements(JByteArrayPtr array, + ffi.Pointer elems, DartJIntMarker mode) => _ReleaseByteArrayElements(array, elems, mode).check(); late final _ReleaseCharArrayElements = ptr.ref.ReleaseCharArrayElements .asFunction< - JThrowablePtr Function( - JCharArrayPtr array, ffi.Pointer elems, int mode)>(); + JThrowablePtr Function(JCharArrayPtr array, + ffi.Pointer elems, DartJIntMarker mode)>(); - void ReleaseCharArrayElements( - JCharArrayPtr array, ffi.Pointer elems, int mode) => + void ReleaseCharArrayElements(JCharArrayPtr array, + ffi.Pointer elems, DartJIntMarker mode) => _ReleaseCharArrayElements(array, elems, mode).check(); late final _ReleaseShortArrayElements = ptr.ref.ReleaseShortArrayElements .asFunction< JThrowablePtr Function(JShortArrayPtr array, - ffi.Pointer elems, int mode)>(); + ffi.Pointer elems, DartJIntMarker mode)>(); - void ReleaseShortArrayElements( - JShortArrayPtr array, ffi.Pointer elems, int mode) => + void ReleaseShortArrayElements(JShortArrayPtr array, + ffi.Pointer elems, DartJIntMarker mode) => _ReleaseShortArrayElements(array, elems, mode).check(); late final _ReleaseIntArrayElements = ptr.ref.ReleaseIntArrayElements .asFunction< - JThrowablePtr Function( - JIntArrayPtr array, ffi.Pointer elems, int mode)>(); + JThrowablePtr Function(JIntArrayPtr array, + ffi.Pointer elems, DartJIntMarker mode)>(); - void ReleaseIntArrayElements( - JIntArrayPtr array, ffi.Pointer elems, int mode) => + void ReleaseIntArrayElements(JIntArrayPtr array, + ffi.Pointer elems, DartJIntMarker mode) => _ReleaseIntArrayElements(array, elems, mode).check(); late final _ReleaseLongArrayElements = ptr.ref.ReleaseLongArrayElements .asFunction< - JThrowablePtr Function( - JLongArrayPtr array, ffi.Pointer elems, int mode)>(); + JThrowablePtr Function(JLongArrayPtr array, + ffi.Pointer elems, DartJIntMarker mode)>(); - void ReleaseLongArrayElements( - JLongArrayPtr array, ffi.Pointer elems, int mode) => + void ReleaseLongArrayElements(JLongArrayPtr array, + ffi.Pointer elems, DartJIntMarker mode) => _ReleaseLongArrayElements(array, elems, mode).check(); late final _ReleaseFloatArrayElements = ptr.ref.ReleaseFloatArrayElements .asFunction< JThrowablePtr Function(JFloatArrayPtr array, - ffi.Pointer elems, int mode)>(); + ffi.Pointer elems, DartJIntMarker mode)>(); - void ReleaseFloatArrayElements( - JFloatArrayPtr array, ffi.Pointer elems, int mode) => + void ReleaseFloatArrayElements(JFloatArrayPtr array, + ffi.Pointer elems, DartJIntMarker mode) => _ReleaseFloatArrayElements(array, elems, mode).check(); late final _ReleaseDoubleArrayElements = ptr.ref.ReleaseDoubleArrayElements .asFunction< JThrowablePtr Function(JDoubleArrayPtr array, - ffi.Pointer elems, int mode)>(); + ffi.Pointer elems, DartJIntMarker mode)>(); - void ReleaseDoubleArrayElements( - JDoubleArrayPtr array, ffi.Pointer elems, int mode) => + void ReleaseDoubleArrayElements(JDoubleArrayPtr array, + ffi.Pointer elems, DartJIntMarker mode) => _ReleaseDoubleArrayElements(array, elems, mode).check(); late final _GetBooleanArrayRegion = ptr.ref.GetBooleanArrayRegion.asFunction< - JThrowablePtr Function(JBooleanArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JBooleanArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void GetBooleanArrayRegion(JBooleanArrayPtr array, int start, int len, - ffi.Pointer buf) => + void GetBooleanArrayRegion(JBooleanArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _GetBooleanArrayRegion(array, start, len, buf).check(); late final _GetByteArrayRegion = ptr.ref.GetByteArrayRegion.asFunction< - JThrowablePtr Function(JByteArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JByteArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void GetByteArrayRegion(JByteArrayPtr array, int start, int len, - ffi.Pointer buf) => + void GetByteArrayRegion(JByteArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _GetByteArrayRegion(array, start, len, buf).check(); late final _GetCharArrayRegion = ptr.ref.GetCharArrayRegion.asFunction< - JThrowablePtr Function(JCharArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JCharArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void GetCharArrayRegion(JCharArrayPtr array, int start, int len, - ffi.Pointer buf) => + void GetCharArrayRegion(JCharArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _GetCharArrayRegion(array, start, len, buf).check(); late final _GetShortArrayRegion = ptr.ref.GetShortArrayRegion.asFunction< - JThrowablePtr Function(JShortArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JShortArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void GetShortArrayRegion(JShortArrayPtr array, int start, int len, - ffi.Pointer buf) => + void GetShortArrayRegion(JShortArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _GetShortArrayRegion(array, start, len, buf).check(); late final _GetIntArrayRegion = ptr.ref.GetIntArrayRegion.asFunction< - JThrowablePtr Function(JIntArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JIntArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void GetIntArrayRegion(JIntArrayPtr array, int start, int len, - ffi.Pointer buf) => + void GetIntArrayRegion(JIntArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _GetIntArrayRegion(array, start, len, buf).check(); late final _GetLongArrayRegion = ptr.ref.GetLongArrayRegion.asFunction< - JThrowablePtr Function(JLongArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JLongArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void GetLongArrayRegion(JLongArrayPtr array, int start, int len, - ffi.Pointer buf) => + void GetLongArrayRegion(JLongArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _GetLongArrayRegion(array, start, len, buf).check(); late final _GetFloatArrayRegion = ptr.ref.GetFloatArrayRegion.asFunction< - JThrowablePtr Function(JFloatArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JFloatArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void GetFloatArrayRegion(JFloatArrayPtr array, int start, int len, - ffi.Pointer buf) => + void GetFloatArrayRegion(JFloatArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _GetFloatArrayRegion(array, start, len, buf).check(); late final _GetDoubleArrayRegion = ptr.ref.GetDoubleArrayRegion.asFunction< - JThrowablePtr Function(JDoubleArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JDoubleArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void GetDoubleArrayRegion(JDoubleArrayPtr array, int start, int len, - ffi.Pointer buf) => + void GetDoubleArrayRegion(JDoubleArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _GetDoubleArrayRegion(array, start, len, buf).check(); late final _SetBooleanArrayRegion = ptr.ref.SetBooleanArrayRegion.asFunction< - JThrowablePtr Function(JBooleanArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JBooleanArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void SetBooleanArrayRegion(JBooleanArrayPtr array, int start, int len, - ffi.Pointer buf) => + void SetBooleanArrayRegion(JBooleanArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _SetBooleanArrayRegion(array, start, len, buf).check(); late final _SetByteArrayRegion = ptr.ref.SetByteArrayRegion.asFunction< - JThrowablePtr Function(JByteArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JByteArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void SetByteArrayRegion(JByteArrayPtr array, int start, int len, - ffi.Pointer buf) => + void SetByteArrayRegion(JByteArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _SetByteArrayRegion(array, start, len, buf).check(); late final _SetCharArrayRegion = ptr.ref.SetCharArrayRegion.asFunction< - JThrowablePtr Function(JCharArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JCharArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void SetCharArrayRegion(JCharArrayPtr array, int start, int len, - ffi.Pointer buf) => + void SetCharArrayRegion(JCharArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _SetCharArrayRegion(array, start, len, buf).check(); late final _SetShortArrayRegion = ptr.ref.SetShortArrayRegion.asFunction< - JThrowablePtr Function(JShortArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JShortArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void SetShortArrayRegion(JShortArrayPtr array, int start, int len, - ffi.Pointer buf) => + void SetShortArrayRegion(JShortArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _SetShortArrayRegion(array, start, len, buf).check(); late final _SetIntArrayRegion = ptr.ref.SetIntArrayRegion.asFunction< - JThrowablePtr Function(JIntArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JIntArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void SetIntArrayRegion(JIntArrayPtr array, int start, int len, - ffi.Pointer buf) => + void SetIntArrayRegion(JIntArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _SetIntArrayRegion(array, start, len, buf).check(); late final _SetLongArrayRegion = ptr.ref.SetLongArrayRegion.asFunction< - JThrowablePtr Function(JLongArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JLongArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void SetLongArrayRegion(JLongArrayPtr array, int start, int len, - ffi.Pointer buf) => + void SetLongArrayRegion(JLongArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _SetLongArrayRegion(array, start, len, buf).check(); late final _SetFloatArrayRegion = ptr.ref.SetFloatArrayRegion.asFunction< - JThrowablePtr Function(JFloatArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JFloatArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void SetFloatArrayRegion(JFloatArrayPtr array, int start, int len, - ffi.Pointer buf) => + void SetFloatArrayRegion(JFloatArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _SetFloatArrayRegion(array, start, len, buf).check(); late final _SetDoubleArrayRegion = ptr.ref.SetDoubleArrayRegion.asFunction< - JThrowablePtr Function(JDoubleArrayPtr array, int start, int len, - ffi.Pointer buf)>(); + JThrowablePtr Function(JDoubleArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void SetDoubleArrayRegion(JDoubleArrayPtr array, int start, int len, - ffi.Pointer buf) => + void SetDoubleArrayRegion(JDoubleArrayPtr array, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _SetDoubleArrayRegion(array, start, len, buf).check(); late final _RegisterNatives = ptr.ref.RegisterNatives.asFunction< JniResult Function(JClassPtr clazz, ffi.Pointer methods, - int nMethods)>(); + DartJIntMarker nMethods)>(); - int RegisterNatives(JClassPtr clazz, ffi.Pointer methods, - int nMethods) => + DartJIntMarker RegisterNatives(JClassPtr clazz, + ffi.Pointer methods, DartJIntMarker nMethods) => _RegisterNatives(clazz, methods, nMethods).integer; late final _UnregisterNatives = ptr.ref.UnregisterNatives .asFunction(); - int UnregisterNatives(JClassPtr clazz) => _UnregisterNatives(clazz).integer; + DartJIntMarker UnregisterNatives(JClassPtr clazz) => + _UnregisterNatives(clazz).integer; late final _MonitorEnter = ptr.ref.MonitorEnter.asFunction(); - int MonitorEnter(JObjectPtr obj) => _MonitorEnter(obj).integer; + DartJIntMarker MonitorEnter(JObjectPtr obj) => _MonitorEnter(obj).integer; late final _MonitorExit = ptr.ref.MonitorExit.asFunction(); - int MonitorExit(JObjectPtr obj) => _MonitorExit(obj).integer; + DartJIntMarker MonitorExit(JObjectPtr obj) => _MonitorExit(obj).integer; late final _GetJavaVM = ptr.ref.GetJavaVM - .asFunction> vm)>( + .asFunction> vm)>( isLeaf: true); - int GetJavaVM(ffi.Pointer> vm) => _GetJavaVM(vm).integer; + DartJIntMarker GetJavaVM(ffi.Pointer> vm) => + _GetJavaVM(vm).integer; late final _GetStringRegion = ptr.ref.GetStringRegion.asFunction< - JThrowablePtr Function( - JStringPtr str, int start, int len, ffi.Pointer buf)>(); + JThrowablePtr Function(JStringPtr str, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void GetStringRegion( - JStringPtr str, int start, int len, ffi.Pointer buf) => + void GetStringRegion(JStringPtr str, DartJIntMarker start, DartJIntMarker len, + ffi.Pointer buf) => _GetStringRegion(str, start, len, buf).check(); late final _GetStringUTFRegion = ptr.ref.GetStringUTFRegion.asFunction< - JThrowablePtr Function( - JStringPtr str, int start, int len, ffi.Pointer buf)>(); + JThrowablePtr Function(JStringPtr str, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf)>(); - void GetStringUTFRegion( - JStringPtr str, int start, int len, ffi.Pointer buf) => + void GetStringUTFRegion(JStringPtr str, DartJIntMarker start, + DartJIntMarker len, ffi.Pointer buf) => _GetStringUTFRegion(str, start, len, buf).check(); late final _GetPrimitiveArrayCritical = ptr.ref.GetPrimitiveArrayCritical @@ -1401,11 +1437,11 @@ class GlobalJniEnv { late final _ReleasePrimitiveArrayCritical = ptr.ref.ReleasePrimitiveArrayCritical.asFunction< - JThrowablePtr Function( - JArrayPtr array, ffi.Pointer carray, int mode)>(); + JThrowablePtr Function(JArrayPtr array, ffi.Pointer carray, + DartJIntMarker mode)>(); void ReleasePrimitiveArrayCritical( - JArrayPtr array, ffi.Pointer carray, int mode) => + JArrayPtr array, ffi.Pointer carray, DartJIntMarker mode) => _ReleasePrimitiveArrayCritical(array, carray, mode).check(); late final _GetStringCritical = ptr.ref.GetStringCritical.asFunction< @@ -1440,9 +1476,11 @@ class GlobalJniEnv { bool ExceptionCheck() => _ExceptionCheck().boolean; late final _NewDirectByteBuffer = ptr.ref.NewDirectByteBuffer.asFunction< - JniResult Function(ffi.Pointer address, int capacity)>(); + JniResult Function( + ffi.Pointer address, DartJLongMarker capacity)>(); - JObjectPtr NewDirectByteBuffer(ffi.Pointer address, int capacity) => + JObjectPtr NewDirectByteBuffer( + ffi.Pointer address, DartJLongMarker capacity) => _NewDirectByteBuffer(address, capacity).objectPointer; late final _GetDirectBufferAddress = ptr.ref.GetDirectBufferAddress @@ -1454,13 +1492,14 @@ class GlobalJniEnv { late final _GetDirectBufferCapacity = ptr.ref.GetDirectBufferCapacity .asFunction(isLeaf: true); - int GetDirectBufferCapacity(JObjectPtr buf) => + DartJLongMarker GetDirectBufferCapacity(JObjectPtr buf) => _GetDirectBufferCapacity(buf).long; late final _GetObjectRefType = ptr.ref.GetObjectRefType .asFunction(isLeaf: true); - int GetObjectRefType(JObjectPtr obj) => _GetObjectRefType(obj).integer; + JObjectRefType GetObjectRefType(JObjectPtr obj) => + _GetObjectRefType(obj).referenceType; late final _GetBooleanArrayElement = ptr.ref.GetBooleanArrayElement .asFunction( diff --git a/pkgs/jni/lib/src/third_party/jni_bindings_generated.dart b/pkgs/jni/lib/src/third_party/jni_bindings_generated.dart index e970cbe4b8..6462c56a42 100644 --- a/pkgs/jni/lib/src/third_party/jni_bindings_generated.dart +++ b/pkgs/jni/lib/src/third_party/jni_bindings_generated.dart @@ -66,9 +66,9 @@ class JniBindings { late final ffi.Pointer _tlsKey = _lookup('tlsKey'); - int get tlsKey => _tlsKey.value; + Dart__darwin_pthread_key_t get tlsKey => _tlsKey.value; - set tlsKey(int value) => _tlsKey.value = value; + set tlsKey(Dart__darwin_pthread_key_t value) => _tlsKey.value = value; JniClassLookupResult FindClass( ffi.Pointer name, @@ -98,35 +98,35 @@ class JniBindings { late final _GetExceptionDetails = _GetExceptionDetailsPtr.asFunction< JniExceptionDetails Function(JThrowablePtr)>(); - ffi.Pointer GetJavaVM() { + ffi.Pointer GetJavaVM() { return _GetJavaVM(); } late final _GetJavaVMPtr = - _lookup Function()>>('GetJavaVM'); + _lookup Function()>>('GetJavaVM'); late final _GetJavaVM = - _GetJavaVMPtr.asFunction Function()>(); + _GetJavaVMPtr.asFunction Function()>(); - ffi.Pointer GetJniEnv() { + ffi.Pointer GetJniEnv() { return _GetJniEnv(); } late final _GetJniEnvPtr = - _lookup Function()>>('GetJniEnv'); + _lookup Function()>>('GetJniEnv'); late final _GetJniEnv = - _GetJniEnvPtr.asFunction Function()>(); + _GetJniEnvPtr.asFunction Function()>(); /// Spawn a JVM with given arguments. /// /// Returns JNI_OK on success, and one of the documented JNI error codes on /// failure. It returns DART_JNI_SINGLETON_EXISTS if an attempt to spawn multiple /// JVMs is made, even if the underlying API potentially supports multiple VMs. - int SpawnJvm( + JniErrorCode SpawnJvm( ffi.Pointer args, ) { - return _SpawnJvm( + return JniErrorCode.fromValue(_SpawnJvm( args, - ); + )); } late final _SpawnJvmPtr = _lookup< @@ -244,19 +244,19 @@ class JniBindings { Dart_FinalizableHandle newJObjectFinalizableHandle( Object object, JObjectPtr reference, - int refType, + JObjectRefType refType, ) { return _newJObjectFinalizableHandle( object, reference, - refType, + refType.value, ); } late final _newJObjectFinalizableHandlePtr = _lookup< ffi.NativeFunction< Dart_FinalizableHandle Function(ffi.Handle, JObjectPtr, - ffi.Int32)>>('newJObjectFinalizableHandle'); + ffi.UnsignedInt)>>('newJObjectFinalizableHandle'); late final _newJObjectFinalizableHandle = _newJObjectFinalizableHandlePtr .asFunction(); @@ -306,33 +306,186 @@ class JniBindings { _GetGlobalEnvPtr.asFunction Function()>(); } -typedef pthread_key_t = __darwin_pthread_key_t; -typedef __darwin_pthread_key_t = ffi.UnsignedLong; +enum JniBooleanValues { + FALSE(0), + TRUE(1); -/// Types used by JNI API to distinguish between primitive types. -abstract class JniCallType { - static const int booleanType = 0; - static const int byteType = 1; - static const int shortType = 2; - static const int charType = 3; - static const int intType = 4; - static const int longType = 5; - static const int floatType = 6; - static const int doubleType = 7; - static const int objectType = 8; - static const int voidType = 9; + final int value; + const JniBooleanValues(this.value); + + static JniBooleanValues fromValue(int value) => switch (value) { + 0 => FALSE, + 1 => TRUE, + _ => throw ArgumentError("Unknown value for JniBooleanValues: $value"), + }; } -/// Result type for use by JNI. -/// -/// If [exception] is null, it means the result is valid. -/// It's assumed that the caller knows the expected type in [result]. -final class JniResult extends ffi.Struct { - external JValue value; +enum JniVersions { + VERSION_1_1(65537), + VERSION_1_2(65538), + VERSION_1_4(65540), + VERSION_1_6(65542); + + final int value; + const JniVersions(this.value); + + static JniVersions fromValue(int value) => switch (value) { + 65537 => VERSION_1_1, + 65538 => VERSION_1_2, + 65540 => VERSION_1_4, + 65542 => VERSION_1_6, + _ => throw ArgumentError("Unknown value for JniVersions: $value"), + }; +} - external JThrowablePtr exception; +enum JniErrorCode { + /// no error + OK(0), + + /// generic error + ERR(-1), + + /// thread detached from the VM + EDETACHED(-2), + + /// JNI version error + EVERSION(-3), + + /// Out of memory + ENOMEM(-4), + + /// VM already created + EEXIST(-5), + + /// Invalid argument + EINVAL(-6), + SINGLETON_EXISTS(-99); + + final int value; + const JniErrorCode(this.value); + + static JniErrorCode fromValue(int value) => switch (value) { + 0 => OK, + -1 => ERR, + -2 => EDETACHED, + -3 => EVERSION, + -4 => ENOMEM, + -5 => EEXIST, + -6 => EINVAL, + -99 => SINGLETON_EXISTS, + _ => throw ArgumentError("Unknown value for JniErrorCode: $value"), + }; +} + +enum JniBufferWriteBack { + /// copy content, do not free buffer + COMMIT(1), + + /// free buffer w/o copying back + ABORT(2); + + final int value; + const JniBufferWriteBack(this.value); + + static JniBufferWriteBack fromValue(int value) => switch (value) { + 1 => COMMIT, + 2 => ABORT, + _ => + throw ArgumentError("Unknown value for JniBufferWriteBack: $value"), + }; +} + +final class _opaque_pthread_mutex_t extends ffi.Struct { + @ffi.Long() + external int __sig; + + @ffi.Array.multi([56]) + external ffi.Array __opaque; +} + +typedef __darwin_pthread_mutex_t = _opaque_pthread_mutex_t; +typedef pthread_mutex_t = __darwin_pthread_mutex_t; +typedef MutexLock = pthread_mutex_t; + +final class _opaque_pthread_cond_t extends ffi.Struct { + @ffi.Long() + external int __sig; + + @ffi.Array.multi([40]) + external ffi.Array __opaque; } +typedef __darwin_pthread_cond_t = _opaque_pthread_cond_t; +typedef pthread_cond_t = __darwin_pthread_cond_t; +typedef ConditionVariable = pthread_cond_t; + +/// Reference types, in C. +typedef JObjectPtr = ffi.Pointer; + +final class CallbackResult extends ffi.Struct { + external MutexLock lock; + + external ConditionVariable cond; + + @ffi.Int() + external int ready; + + external JObjectPtr object; +} + +typedef __darwin_pthread_key_t = ffi.UnsignedLong; +typedef Dart__darwin_pthread_key_t = int; +typedef pthread_key_t = __darwin_pthread_key_t; + +/// Types used by JNI API to distinguish between primitive types. +enum JniCallType { + booleanType(0), + byteType(1), + shortType(2), + charType(3), + intType(4), + longType(5), + floatType(6), + doubleType(7), + objectType(8), + voidType(9); + + final int value; + const JniCallType(this.value); + + static JniCallType fromValue(int value) => switch (value) { + 0 => booleanType, + 1 => byteType, + 2 => shortType, + 3 => charType, + 4 => intType, + 5 => longType, + 6 => floatType, + 7 => doubleType, + 8 => objectType, + 9 => voidType, + _ => throw ArgumentError("Unknown value for JniCallType: $value"), + }; +} + +/// Primitive types that match up with Java equivalents. +typedef JBooleanMarker = ffi.Uint8; +typedef DartJBooleanMarker = int; +typedef JByteMarker = ffi.Int8; +typedef DartJByteMarker = int; +typedef JCharMarker = ffi.Uint16; +typedef DartJCharMarker = int; +typedef JShortMarker = ffi.Int16; +typedef DartJShortMarker = int; +typedef JIntMarker = ffi.Int32; +typedef DartJIntMarker = int; +typedef JLongMarker = ffi.Int64; +typedef DartJLongMarker = int; +typedef JFloatMarker = ffi.Float; +typedef DartJFloatMarker = double; +typedef JDoubleMarker = ffi.Double; +typedef DartJDoubleMarker = double; + final class JValue extends ffi.Union { @JBooleanMarker() external int z; @@ -361,20 +514,20 @@ final class JValue extends ffi.Union { external JObjectPtr l; } -/// Primitive types that match up with Java equivalents. -typedef JBooleanMarker = ffi.Uint8; -typedef JByteMarker = ffi.Int8; -typedef JCharMarker = ffi.Uint16; -typedef JShortMarker = ffi.Int16; -typedef JIntMarker = ffi.Int32; -typedef JLongMarker = ffi.Int64; -typedef JFloatMarker = ffi.Float; -typedef JDoubleMarker = ffi.Double; - -/// Reference types, in C. -typedef JObjectPtr = ffi.Pointer; typedef JThrowablePtr = JObjectPtr; +/// Result type for use by JNI. +/// +/// If [exception] is null, it means the result is valid. +/// It's assumed that the caller knows the expected type in [result]. +final class JniResult extends ffi.Struct { + external JValue value; + + external JThrowablePtr exception; +} + +typedef JClassPtr = JObjectPtr; + /// Similar to [JniResult] but for class lookups. final class JniClassLookupResult extends ffi.Struct { external JClassPtr value; @@ -382,8 +535,6 @@ final class JniClassLookupResult extends ffi.Struct { external JThrowablePtr exception; } -typedef JClassPtr = JObjectPtr; - /// Similar to [JniResult] but for method/field ID lookups. final class JniPointerResult extends ffi.Struct { external ffi.Pointer value; @@ -391,6 +542,8 @@ final class JniPointerResult extends ffi.Struct { external JThrowablePtr exception; } +typedef JStringPtr = JObjectPtr; + /// JniExceptionDetails holds 2 jstring objects, one is the result of /// calling `toString` on exception object, other is stack trace; final class JniExceptionDetails extends ffi.Struct { @@ -399,49 +552,57 @@ final class JniExceptionDetails extends ffi.Struct { external JStringPtr stacktrace; } -typedef JStringPtr = JObjectPtr; typedef JavaVM = ffi.Pointer; +typedef JniEnv = ffi.Pointer; -/// JNI invocation interface. -final class JNIInvokeInterface extends ffi.Struct { - external ffi.Pointer reserved0; +/// "cardinal indices and sizes" +typedef JSizeMarker = JIntMarker; - external ffi.Pointer reserved1; +final class jmethodID_ extends ffi.Opaque {} - external ffi.Pointer reserved2; +typedef JMethodIDPtr = ffi.Pointer; - external ffi - .Pointer vm)>> - DestroyJavaVM; +final class jfieldID_ extends ffi.Opaque {} - external ffi.Pointer< - ffi.NativeFunction< - JIntMarker Function( - ffi.Pointer vm, - ffi.Pointer> p_env, - ffi.Pointer thr_args)>> AttachCurrentThread; +typedef JFieldIDPtr = ffi.Pointer; +typedef JArrayPtr = JObjectPtr; +typedef JObjectArrayPtr = JArrayPtr; +typedef JBooleanArrayPtr = JArrayPtr; +typedef JByteArrayPtr = JArrayPtr; +typedef JCharArrayPtr = JArrayPtr; +typedef JShortArrayPtr = JArrayPtr; +typedef JIntArrayPtr = JArrayPtr; +typedef JLongArrayPtr = JArrayPtr; +typedef JFloatArrayPtr = JArrayPtr; +typedef JDoubleArrayPtr = JArrayPtr; - external ffi - .Pointer vm)>> - DetachCurrentThread; +final class JNINativeMethod extends ffi.Struct { + external ffi.Pointer name; - external ffi.Pointer< - ffi.NativeFunction< - JIntMarker Function( - ffi.Pointer vm, - ffi.Pointer> p_env, - JIntMarker version)>> GetEnv; + external ffi.Pointer signature; - external ffi.Pointer< - ffi.NativeFunction< - JIntMarker Function( - ffi.Pointer vm, - ffi.Pointer> p_env, - ffi.Pointer thr_args)>> AttachCurrentThreadAsDaemon; + external ffi.Pointer fnPtr; } -typedef JavaVM1 = ffi.Pointer; -typedef JniEnv = ffi.Pointer; +typedef JWeakPtr = JObjectPtr; + +enum JObjectRefType { + JNIInvalidRefType(0), + JNILocalRefType(1), + JNIGlobalRefType(2), + JNIWeakGlobalRefType(3); + + final int value; + const JObjectRefType(this.value); + + static JObjectRefType fromValue(int value) => switch (value) { + 0 => JNIInvalidRefType, + 1 => JNILocalRefType, + 2 => JNIGlobalRefType, + 3 => JNIWeakGlobalRefType, + _ => throw ArgumentError("Unknown value for JObjectRefType: $value"), + }; +} /// Table of interface function pointers. final class JNINativeInterface extends ffi.Struct { @@ -453,14 +614,14 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer reserved3; - external ffi.Pointer< - ffi.NativeFunction env)>> + external ffi + .Pointer env)>> GetVersion; external ffi.Pointer< ffi.NativeFunction< JClassPtr Function( - ffi.Pointer env, + ffi.Pointer env, ffi.Pointer name, JObjectPtr loader, ffi.Pointer buf, @@ -469,325 +630,325 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JClassPtr Function( - ffi.Pointer env, ffi.Pointer name)>> FindClass; + ffi.Pointer env, ffi.Pointer name)>> FindClass; external ffi.Pointer< - ffi.NativeFunction< - JMethodIDPtr Function( - ffi.Pointer env, JObjectPtr method)>> - FromReflectedMethod; + ffi.NativeFunction< + JMethodIDPtr Function( + ffi.Pointer env, JObjectPtr method)>> FromReflectedMethod; external ffi.Pointer< ffi.NativeFunction< - JFieldIDPtr Function(ffi.Pointer env, JObjectPtr field)>> + JFieldIDPtr Function(ffi.Pointer env, JObjectPtr field)>> FromReflectedField; /// spec doesn't show jboolean parameter external ffi.Pointer< ffi.NativeFunction< JObjectPtr Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr cls, JMethodIDPtr methodId, JBooleanMarker isStatic)>> ToReflectedMethod; external ffi.Pointer< ffi.NativeFunction< - JClassPtr Function(ffi.Pointer env, JClassPtr clazz)>> + JClassPtr Function(ffi.Pointer env, JClassPtr clazz)>> GetSuperclass; external ffi.Pointer< - ffi.NativeFunction< - JBooleanMarker Function(ffi.Pointer env, JClassPtr clazz1, - JClassPtr clazz2)>> IsAssignableFrom; + ffi.NativeFunction< + JBooleanMarker Function( + ffi.Pointer env, JClassPtr clazz1, JClassPtr clazz2)>> + IsAssignableFrom; /// spec doesn't show jboolean parameter external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer env, JClassPtr cls, + JObjectPtr Function(ffi.Pointer env, JClassPtr cls, JFieldIDPtr fieldID, JBooleanMarker isStatic)>> ToReflectedField; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer env, JThrowablePtr obj)>> + JIntMarker Function(ffi.Pointer env, JThrowablePtr obj)>> Throw; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer env, JClassPtr clazz, + JIntMarker Function(ffi.Pointer env, JClassPtr clazz, ffi.Pointer message)>> ThrowNew; external ffi.Pointer< - ffi.NativeFunction env)>> + ffi.NativeFunction env)>> ExceptionOccurred; external ffi - .Pointer env)>> + .Pointer env)>> ExceptionDescribe; external ffi - .Pointer env)>> + .Pointer env)>> ExceptionClear; external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, ffi.Pointer msg)>> FatalError; + ffi.Pointer env, ffi.Pointer msg)>> FatalError; external ffi.Pointer< ffi.NativeFunction< JIntMarker Function( - ffi.Pointer env, JIntMarker capacity)>> PushLocalFrame; + ffi.Pointer env, JIntMarker capacity)>> PushLocalFrame; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer env, JObjectPtr result)>> + JObjectPtr Function(ffi.Pointer env, JObjectPtr result)>> PopLocalFrame; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer env, JObjectPtr obj)>> + JObjectPtr Function(ffi.Pointer env, JObjectPtr obj)>> NewGlobalRef; external ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer env, JObjectPtr globalRef)>> DeleteGlobalRef; + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer env, JObjectPtr globalRef)>> + DeleteGlobalRef; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JObjectPtr localRef)>> + ffi.Void Function(ffi.Pointer env, JObjectPtr localRef)>> DeleteLocalRef; external ffi.Pointer< ffi.NativeFunction< JBooleanMarker Function( - ffi.Pointer env, JObjectPtr ref1, JObjectPtr ref2)>> + ffi.Pointer env, JObjectPtr ref1, JObjectPtr ref2)>> IsSameObject; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer env, JObjectPtr obj)>> + JObjectPtr Function(ffi.Pointer env, JObjectPtr obj)>> NewLocalRef; external ffi.Pointer< ffi.NativeFunction< JIntMarker Function( - ffi.Pointer env, JIntMarker capacity)>> + ffi.Pointer env, JIntMarker capacity)>> EnsureLocalCapacity; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer env, JClassPtr clazz)>> + JObjectPtr Function(ffi.Pointer env, JClassPtr clazz)>> AllocObject; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer env, JClassPtr clazz, + JObjectPtr Function(ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID)>> NewObject; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer, JClassPtr, JMethodIDPtr, + JObjectPtr Function(ffi.Pointer, JClassPtr, JMethodIDPtr, ffi.Pointer)>> NewObjectV; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer env, JClassPtr clazz, + JObjectPtr Function(ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>> NewObjectA; external ffi.Pointer< ffi.NativeFunction< - JClassPtr Function(ffi.Pointer env, JObjectPtr obj)>> + JClassPtr Function(ffi.Pointer env, JObjectPtr obj)>> GetObjectClass; external ffi.Pointer< ffi.NativeFunction< JBooleanMarker Function( - ffi.Pointer env, JObjectPtr obj, JClassPtr clazz)>> + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz)>> IsInstanceOf; external ffi.Pointer< ffi.NativeFunction< JMethodIDPtr Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, ffi.Pointer name, ffi.Pointer sig)>> GetMethodID; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer env, JObjectPtr obj, + JObjectPtr Function(ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID)>> CallObjectMethod; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, + JObjectPtr Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, ffi.Pointer)>> CallObjectMethodV; external ffi.Pointer< ffi.NativeFunction< JObjectPtr Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>> CallObjectMethodA; external ffi.Pointer< ffi.NativeFunction< - JBooleanMarker Function(ffi.Pointer env, JObjectPtr obj, + JBooleanMarker Function(ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID)>> CallBooleanMethod; external ffi.Pointer< ffi.NativeFunction< - JBooleanMarker Function(ffi.Pointer, JObjectPtr, - JMethodIDPtr, ffi.Pointer)>> CallBooleanMethodV; + JBooleanMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, + ffi.Pointer)>> CallBooleanMethodV; external ffi.Pointer< ffi.NativeFunction< JBooleanMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodId, ffi.Pointer args)>> CallBooleanMethodA; external ffi.Pointer< ffi.NativeFunction< - JByteMarker Function(ffi.Pointer env, JObjectPtr obj, + JByteMarker Function(ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID)>> CallByteMethod; external ffi.Pointer< ffi.NativeFunction< - JByteMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, + JByteMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, ffi.Pointer)>> CallByteMethodV; external ffi.Pointer< ffi.NativeFunction< JByteMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>> CallByteMethodA; external ffi.Pointer< ffi.NativeFunction< - JCharMarker Function(ffi.Pointer env, JObjectPtr obj, + JCharMarker Function(ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID)>> CallCharMethod; external ffi.Pointer< ffi.NativeFunction< - JCharMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, + JCharMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, ffi.Pointer)>> CallCharMethodV; external ffi.Pointer< ffi.NativeFunction< JCharMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>> CallCharMethodA; external ffi.Pointer< ffi.NativeFunction< - JShortMarker Function(ffi.Pointer env, JObjectPtr obj, + JShortMarker Function(ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID)>> CallShortMethod; external ffi.Pointer< ffi.NativeFunction< - JShortMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, + JShortMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, ffi.Pointer)>> CallShortMethodV; external ffi.Pointer< ffi.NativeFunction< JShortMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>> CallShortMethodA; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer env, JObjectPtr obj, + JIntMarker Function(ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID)>> CallIntMethod; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, + JIntMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, ffi.Pointer)>> CallIntMethodV; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer env, JObjectPtr obj, + JIntMarker Function(ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>> CallIntMethodA; external ffi.Pointer< ffi.NativeFunction< - JLongMarker Function(ffi.Pointer env, JObjectPtr obj, + JLongMarker Function(ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID)>> CallLongMethod; external ffi.Pointer< ffi.NativeFunction< - JLongMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, + JLongMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, ffi.Pointer)>> CallLongMethodV; external ffi.Pointer< ffi.NativeFunction< JLongMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>> CallLongMethodA; external ffi.Pointer< ffi.NativeFunction< - JFloatMarker Function(ffi.Pointer env, JObjectPtr obj, + JFloatMarker Function(ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID)>> CallFloatMethod; external ffi.Pointer< ffi.NativeFunction< - JFloatMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, + JFloatMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, ffi.Pointer)>> CallFloatMethodV; external ffi.Pointer< ffi.NativeFunction< JFloatMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>> CallFloatMethodA; external ffi.Pointer< ffi.NativeFunction< - JDoubleMarker Function(ffi.Pointer env, JObjectPtr obj, + JDoubleMarker Function(ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID)>> CallDoubleMethod; external ffi.Pointer< ffi.NativeFunction< - JDoubleMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, + JDoubleMarker Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, ffi.Pointer)>> CallDoubleMethodV; external ffi.Pointer< ffi.NativeFunction< JDoubleMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>> CallDoubleMethodA; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JObjectPtr obj, + ffi.Void Function(ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID)>> CallVoidMethod; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, + ffi.Void Function(ffi.Pointer, JObjectPtr, JMethodIDPtr, ffi.Pointer)>> CallVoidMethodV; external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer args)>> CallVoidMethodA; @@ -795,7 +956,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JObjectPtr Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>> CallNonvirtualObjectMethod; @@ -803,7 +964,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JObjectPtr Function( - ffi.Pointer, + ffi.Pointer, JObjectPtr, JClassPtr, JMethodIDPtr, @@ -812,7 +973,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JObjectPtr Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, @@ -821,7 +982,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JBooleanMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>> CallNonvirtualBooleanMethod; @@ -829,7 +990,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JBooleanMarker Function( - ffi.Pointer, + ffi.Pointer, JObjectPtr, JClassPtr, JMethodIDPtr, @@ -838,7 +999,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JBooleanMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, @@ -847,20 +1008,20 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JByteMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>> CallNonvirtualByteMethod; external ffi.Pointer< ffi.NativeFunction< - JByteMarker Function(ffi.Pointer, JObjectPtr, JClassPtr, + JByteMarker Function(ffi.Pointer, JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallNonvirtualByteMethodV; external ffi.Pointer< ffi.NativeFunction< JByteMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, @@ -869,20 +1030,20 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JCharMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>> CallNonvirtualCharMethod; external ffi.Pointer< ffi.NativeFunction< - JCharMarker Function(ffi.Pointer, JObjectPtr, JClassPtr, + JCharMarker Function(ffi.Pointer, JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallNonvirtualCharMethodV; external ffi.Pointer< ffi.NativeFunction< JCharMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, @@ -891,20 +1052,20 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JShortMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>> CallNonvirtualShortMethod; external ffi.Pointer< ffi.NativeFunction< - JShortMarker Function(ffi.Pointer, JObjectPtr, JClassPtr, + JShortMarker Function(ffi.Pointer, JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallNonvirtualShortMethodV; external ffi.Pointer< ffi.NativeFunction< JShortMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, @@ -912,18 +1073,18 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer env, JObjectPtr obj, + JIntMarker Function(ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>> CallNonvirtualIntMethod; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer, JObjectPtr, JClassPtr, + JIntMarker Function(ffi.Pointer, JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallNonvirtualIntMethodV; external ffi.Pointer< ffi.NativeFunction< JIntMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, @@ -932,20 +1093,20 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JLongMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>> CallNonvirtualLongMethod; external ffi.Pointer< ffi.NativeFunction< - JLongMarker Function(ffi.Pointer, JObjectPtr, JClassPtr, + JLongMarker Function(ffi.Pointer, JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallNonvirtualLongMethodV; external ffi.Pointer< ffi.NativeFunction< JLongMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, @@ -954,20 +1115,20 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JFloatMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>> CallNonvirtualFloatMethod; external ffi.Pointer< ffi.NativeFunction< - JFloatMarker Function(ffi.Pointer, JObjectPtr, JClassPtr, + JFloatMarker Function(ffi.Pointer, JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallNonvirtualFloatMethodV; external ffi.Pointer< ffi.NativeFunction< JFloatMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, @@ -976,7 +1137,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JDoubleMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>> CallNonvirtualDoubleMethod; @@ -984,7 +1145,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JDoubleMarker Function( - ffi.Pointer, + ffi.Pointer, JObjectPtr, JClassPtr, JMethodIDPtr, @@ -993,7 +1154,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JDoubleMarker Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, @@ -1002,20 +1163,20 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>> CallNonvirtualVoidMethod; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, JObjectPtr, JClassPtr, + ffi.Void Function(ffi.Pointer, JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallNonvirtualVoidMethodV; external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID, @@ -1024,285 +1185,285 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JFieldIDPtr Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, ffi.Pointer name, ffi.Pointer sig)>> GetFieldID; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer env, JObjectPtr obj, + JObjectPtr Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID)>> GetObjectField; external ffi.Pointer< ffi.NativeFunction< - JBooleanMarker Function(ffi.Pointer env, JObjectPtr obj, + JBooleanMarker Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID)>> GetBooleanField; external ffi.Pointer< ffi.NativeFunction< - JByteMarker Function(ffi.Pointer env, JObjectPtr obj, + JByteMarker Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID)>> GetByteField; external ffi.Pointer< ffi.NativeFunction< - JCharMarker Function(ffi.Pointer env, JObjectPtr obj, + JCharMarker Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID)>> GetCharField; external ffi.Pointer< ffi.NativeFunction< - JShortMarker Function(ffi.Pointer env, JObjectPtr obj, + JShortMarker Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID)>> GetShortField; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer env, JObjectPtr obj, + JIntMarker Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID)>> GetIntField; external ffi.Pointer< ffi.NativeFunction< - JLongMarker Function(ffi.Pointer env, JObjectPtr obj, + JLongMarker Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID)>> GetLongField; external ffi.Pointer< ffi.NativeFunction< - JFloatMarker Function(ffi.Pointer env, JObjectPtr obj, + JFloatMarker Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID)>> GetFloatField; external ffi.Pointer< ffi.NativeFunction< - JDoubleMarker Function(ffi.Pointer env, JObjectPtr obj, + JDoubleMarker Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID)>> GetDoubleField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JObjectPtr obj, + ffi.Void Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID, JObjectPtr val)>> SetObjectField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JObjectPtr obj, + ffi.Void Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID, JBooleanMarker val)>> SetBooleanField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JObjectPtr obj, + ffi.Void Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID, JByteMarker val)>> SetByteField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JObjectPtr obj, + ffi.Void Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID, JCharMarker val)>> SetCharField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JObjectPtr obj, + ffi.Void Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID, JShortMarker val)>> SetShortField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JObjectPtr obj, + ffi.Void Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID, JIntMarker val)>> SetIntField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JObjectPtr obj, + ffi.Void Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID, JLongMarker val)>> SetLongField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JObjectPtr obj, + ffi.Void Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID, JFloatMarker val)>> SetFloatField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JObjectPtr obj, + ffi.Void Function(ffi.Pointer env, JObjectPtr obj, JFieldIDPtr fieldID, JDoubleMarker val)>> SetDoubleField; external ffi.Pointer< ffi.NativeFunction< JMethodIDPtr Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, ffi.Pointer name, ffi.Pointer sig)>> GetStaticMethodID; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer env, JClassPtr clazz, + JObjectPtr Function(ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID)>> CallStaticObjectMethod; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer, JClassPtr, JMethodIDPtr, + JObjectPtr Function(ffi.Pointer, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallStaticObjectMethodV; external ffi.Pointer< ffi.NativeFunction< JObjectPtr Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>> CallStaticObjectMethodA; external ffi.Pointer< ffi.NativeFunction< - JBooleanMarker Function(ffi.Pointer env, JClassPtr clazz, + JBooleanMarker Function(ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID)>> CallStaticBooleanMethod; external ffi.Pointer< ffi.NativeFunction< - JBooleanMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, + JBooleanMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallStaticBooleanMethodV; external ffi.Pointer< ffi.NativeFunction< JBooleanMarker Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>> CallStaticBooleanMethodA; external ffi.Pointer< ffi.NativeFunction< - JByteMarker Function(ffi.Pointer env, JClassPtr clazz, + JByteMarker Function(ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID)>> CallStaticByteMethod; external ffi.Pointer< ffi.NativeFunction< - JByteMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, + JByteMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallStaticByteMethodV; external ffi.Pointer< ffi.NativeFunction< JByteMarker Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>> CallStaticByteMethodA; external ffi.Pointer< ffi.NativeFunction< - JCharMarker Function(ffi.Pointer env, JClassPtr clazz, + JCharMarker Function(ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID)>> CallStaticCharMethod; external ffi.Pointer< ffi.NativeFunction< - JCharMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, + JCharMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallStaticCharMethodV; external ffi.Pointer< ffi.NativeFunction< JCharMarker Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>> CallStaticCharMethodA; external ffi.Pointer< ffi.NativeFunction< - JShortMarker Function(ffi.Pointer env, JClassPtr clazz, + JShortMarker Function(ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID)>> CallStaticShortMethod; external ffi.Pointer< ffi.NativeFunction< - JShortMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, + JShortMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallStaticShortMethodV; external ffi.Pointer< ffi.NativeFunction< JShortMarker Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>> CallStaticShortMethodA; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer env, JClassPtr clazz, + JIntMarker Function(ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID)>> CallStaticIntMethod; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, + JIntMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallStaticIntMethodV; external ffi.Pointer< ffi.NativeFunction< JIntMarker Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>> CallStaticIntMethodA; external ffi.Pointer< ffi.NativeFunction< - JLongMarker Function(ffi.Pointer env, JClassPtr clazz, + JLongMarker Function(ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID)>> CallStaticLongMethod; external ffi.Pointer< ffi.NativeFunction< - JLongMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, + JLongMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallStaticLongMethodV; external ffi.Pointer< ffi.NativeFunction< JLongMarker Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>> CallStaticLongMethodA; external ffi.Pointer< ffi.NativeFunction< - JFloatMarker Function(ffi.Pointer env, JClassPtr clazz, + JFloatMarker Function(ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID)>> CallStaticFloatMethod; external ffi.Pointer< ffi.NativeFunction< - JFloatMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, + JFloatMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallStaticFloatMethodV; external ffi.Pointer< ffi.NativeFunction< JFloatMarker Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>> CallStaticFloatMethodA; external ffi.Pointer< ffi.NativeFunction< - JDoubleMarker Function(ffi.Pointer env, JClassPtr clazz, + JDoubleMarker Function(ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID)>> CallStaticDoubleMethod; external ffi.Pointer< ffi.NativeFunction< - JDoubleMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, + JDoubleMarker Function(ffi.Pointer, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallStaticDoubleMethodV; external ffi.Pointer< ffi.NativeFunction< JDoubleMarker Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>> CallStaticDoubleMethodA; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JClassPtr clazz, + ffi.Void Function(ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID)>> CallStaticVoidMethod; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, JClassPtr, JMethodIDPtr, + ffi.Void Function(ffi.Pointer, JClassPtr, JMethodIDPtr, ffi.Pointer)>> CallStaticVoidMethodV; external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer args)>> CallStaticVoidMethodA; @@ -1310,271 +1471,271 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JFieldIDPtr Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, ffi.Pointer name, ffi.Pointer sig)>> GetStaticFieldID; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer env, JClassPtr clazz, + JObjectPtr Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID)>> GetStaticObjectField; external ffi.Pointer< ffi.NativeFunction< - JBooleanMarker Function(ffi.Pointer env, JClassPtr clazz, + JBooleanMarker Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID)>> GetStaticBooleanField; external ffi.Pointer< ffi.NativeFunction< - JByteMarker Function(ffi.Pointer env, JClassPtr clazz, + JByteMarker Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID)>> GetStaticByteField; external ffi.Pointer< ffi.NativeFunction< - JCharMarker Function(ffi.Pointer env, JClassPtr clazz, + JCharMarker Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID)>> GetStaticCharField; external ffi.Pointer< ffi.NativeFunction< - JShortMarker Function(ffi.Pointer env, JClassPtr clazz, + JShortMarker Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID)>> GetStaticShortField; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer env, JClassPtr clazz, + JIntMarker Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID)>> GetStaticIntField; external ffi.Pointer< ffi.NativeFunction< - JLongMarker Function(ffi.Pointer env, JClassPtr clazz, + JLongMarker Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID)>> GetStaticLongField; external ffi.Pointer< ffi.NativeFunction< - JFloatMarker Function(ffi.Pointer env, JClassPtr clazz, + JFloatMarker Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID)>> GetStaticFloatField; external ffi.Pointer< ffi.NativeFunction< - JDoubleMarker Function(ffi.Pointer env, JClassPtr clazz, + JDoubleMarker Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID)>> GetStaticDoubleField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JClassPtr clazz, + ffi.Void Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID, JObjectPtr val)>> SetStaticObjectField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JClassPtr clazz, + ffi.Void Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID, JBooleanMarker val)>> SetStaticBooleanField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JClassPtr clazz, + ffi.Void Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID, JByteMarker val)>> SetStaticByteField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JClassPtr clazz, + ffi.Void Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID, JCharMarker val)>> SetStaticCharField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JClassPtr clazz, + ffi.Void Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID, JShortMarker val)>> SetStaticShortField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JClassPtr clazz, + ffi.Void Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID, JIntMarker val)>> SetStaticIntField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JClassPtr clazz, + ffi.Void Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID, JLongMarker val)>> SetStaticLongField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JClassPtr clazz, + ffi.Void Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID, JFloatMarker val)>> SetStaticFloatField; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JClassPtr clazz, + ffi.Void Function(ffi.Pointer env, JClassPtr clazz, JFieldIDPtr fieldID, JDoubleMarker val)>> SetStaticDoubleField; external ffi.Pointer< ffi.NativeFunction< JStringPtr Function( - ffi.Pointer env, + ffi.Pointer env, ffi.Pointer unicodeChars, JSizeMarker len)>> NewString; external ffi.Pointer< - ffi.NativeFunction< - JSizeMarker Function( - ffi.Pointer env, JStringPtr string)>> GetStringLength; + ffi.NativeFunction< + JSizeMarker Function(ffi.Pointer env, JStringPtr string)>> + GetStringLength; external ffi.Pointer< ffi.NativeFunction< ffi.Pointer Function( - ffi.Pointer env, + ffi.Pointer env, JStringPtr string, ffi.Pointer isCopy)>> GetStringChars; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JStringPtr string, + ffi.Void Function(ffi.Pointer env, JStringPtr string, ffi.Pointer isCopy)>> ReleaseStringChars; external ffi.Pointer< ffi.NativeFunction< JStringPtr Function( - ffi.Pointer env, ffi.Pointer bytes)>> + ffi.Pointer env, ffi.Pointer bytes)>> NewStringUTF; external ffi.Pointer< - ffi.NativeFunction< - JSizeMarker Function( - ffi.Pointer env, JStringPtr string)>> GetStringUTFLength; + ffi.NativeFunction< + JSizeMarker Function(ffi.Pointer env, JStringPtr string)>> + GetStringUTFLength; external ffi.Pointer< ffi.NativeFunction< ffi.Pointer Function( - ffi.Pointer env, + ffi.Pointer env, JStringPtr string, ffi.Pointer isCopy)>> GetStringUTFChars; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JStringPtr string, + ffi.Void Function(ffi.Pointer env, JStringPtr string, ffi.Pointer utf)>> ReleaseStringUTFChars; external ffi.Pointer< ffi.NativeFunction< - JSizeMarker Function(ffi.Pointer env, JArrayPtr array)>> + JSizeMarker Function(ffi.Pointer env, JArrayPtr array)>> GetArrayLength; external ffi.Pointer< ffi.NativeFunction< JObjectArrayPtr Function( - ffi.Pointer env, + ffi.Pointer env, JSizeMarker length, JClassPtr elementClass, JObjectPtr initialElement)>> NewObjectArray; external ffi.Pointer< ffi.NativeFunction< - JObjectPtr Function(ffi.Pointer env, JObjectArrayPtr array, + JObjectPtr Function(ffi.Pointer env, JObjectArrayPtr array, JSizeMarker index)>> GetObjectArrayElement; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JObjectArrayPtr array, + ffi.Void Function(ffi.Pointer env, JObjectArrayPtr array, JSizeMarker index, JObjectPtr val)>> SetObjectArrayElement; external ffi.Pointer< ffi.NativeFunction< JBooleanArrayPtr Function( - ffi.Pointer env, JSizeMarker length)>> NewBooleanArray; + ffi.Pointer env, JSizeMarker length)>> NewBooleanArray; external ffi.Pointer< ffi.NativeFunction< JByteArrayPtr Function( - ffi.Pointer env, JSizeMarker length)>> NewByteArray; + ffi.Pointer env, JSizeMarker length)>> NewByteArray; external ffi.Pointer< ffi.NativeFunction< JCharArrayPtr Function( - ffi.Pointer env, JSizeMarker length)>> NewCharArray; + ffi.Pointer env, JSizeMarker length)>> NewCharArray; external ffi.Pointer< ffi.NativeFunction< JShortArrayPtr Function( - ffi.Pointer env, JSizeMarker length)>> NewShortArray; + ffi.Pointer env, JSizeMarker length)>> NewShortArray; external ffi.Pointer< ffi.NativeFunction< JIntArrayPtr Function( - ffi.Pointer env, JSizeMarker length)>> NewIntArray; + ffi.Pointer env, JSizeMarker length)>> NewIntArray; external ffi.Pointer< ffi.NativeFunction< JLongArrayPtr Function( - ffi.Pointer env, JSizeMarker length)>> NewLongArray; + ffi.Pointer env, JSizeMarker length)>> NewLongArray; external ffi.Pointer< ffi.NativeFunction< JFloatArrayPtr Function( - ffi.Pointer env, JSizeMarker length)>> NewFloatArray; + ffi.Pointer env, JSizeMarker length)>> NewFloatArray; external ffi.Pointer< ffi.NativeFunction< JDoubleArrayPtr Function( - ffi.Pointer env, JSizeMarker length)>> NewDoubleArray; + ffi.Pointer env, JSizeMarker length)>> NewDoubleArray; external ffi.Pointer< ffi.NativeFunction< ffi.Pointer Function( - ffi.Pointer env, + ffi.Pointer env, JBooleanArrayPtr array, ffi.Pointer isCopy)>> GetBooleanArrayElements; external ffi.Pointer< ffi.NativeFunction< ffi.Pointer Function( - ffi.Pointer env, + ffi.Pointer env, JByteArrayPtr array, ffi.Pointer isCopy)>> GetByteArrayElements; external ffi.Pointer< ffi.NativeFunction< ffi.Pointer Function( - ffi.Pointer env, + ffi.Pointer env, JCharArrayPtr array, ffi.Pointer isCopy)>> GetCharArrayElements; external ffi.Pointer< ffi.NativeFunction< ffi.Pointer Function( - ffi.Pointer env, + ffi.Pointer env, JShortArrayPtr array, ffi.Pointer isCopy)>> GetShortArrayElements; external ffi.Pointer< ffi.NativeFunction< ffi.Pointer Function( - ffi.Pointer env, + ffi.Pointer env, JIntArrayPtr array, ffi.Pointer isCopy)>> GetIntArrayElements; external ffi.Pointer< ffi.NativeFunction< ffi.Pointer Function( - ffi.Pointer env, + ffi.Pointer env, JLongArrayPtr array, ffi.Pointer isCopy)>> GetLongArrayElements; external ffi.Pointer< ffi.NativeFunction< ffi.Pointer Function( - ffi.Pointer env, + ffi.Pointer env, JFloatArrayPtr array, ffi.Pointer isCopy)>> GetFloatArrayElements; external ffi.Pointer< ffi.NativeFunction< ffi.Pointer Function( - ffi.Pointer env, + ffi.Pointer env, JDoubleArrayPtr array, ffi.Pointer isCopy)>> GetDoubleArrayElements; external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JBooleanArrayPtr array, ffi.Pointer elems, JIntMarker mode)>> ReleaseBooleanArrayElements; @@ -1582,7 +1743,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JByteArrayPtr array, ffi.Pointer elems, JIntMarker mode)>> ReleaseByteArrayElements; @@ -1590,7 +1751,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JCharArrayPtr array, ffi.Pointer elems, JIntMarker mode)>> ReleaseCharArrayElements; @@ -1598,7 +1759,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JShortArrayPtr array, ffi.Pointer elems, JIntMarker mode)>> ReleaseShortArrayElements; @@ -1606,7 +1767,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JIntArrayPtr array, ffi.Pointer elems, JIntMarker mode)>> ReleaseIntArrayElements; @@ -1614,7 +1775,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JLongArrayPtr array, ffi.Pointer elems, JIntMarker mode)>> ReleaseLongArrayElements; @@ -1622,7 +1783,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JFloatArrayPtr array, ffi.Pointer elems, JIntMarker mode)>> ReleaseFloatArrayElements; @@ -1630,7 +1791,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JDoubleArrayPtr array, ffi.Pointer elems, JIntMarker mode)>> ReleaseDoubleArrayElements; @@ -1638,7 +1799,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JBooleanArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1647,7 +1808,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JByteArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1656,7 +1817,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JCharArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1665,7 +1826,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JShortArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1674,7 +1835,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JIntArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1683,7 +1844,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JLongArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1692,7 +1853,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JFloatArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1701,7 +1862,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JDoubleArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1711,7 +1872,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JBooleanArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1720,7 +1881,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JByteArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1729,7 +1890,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JCharArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1738,7 +1899,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JShortArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1747,7 +1908,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JIntArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1756,7 +1917,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JLongArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1765,7 +1926,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JFloatArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1774,7 +1935,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JDoubleArrayPtr array, JSizeMarker start, JSizeMarker len, @@ -1783,35 +1944,35 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< JIntMarker Function( - ffi.Pointer env, + ffi.Pointer env, JClassPtr clazz, ffi.Pointer methods, JIntMarker nMethods)>> RegisterNatives; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer env, JClassPtr clazz)>> + JIntMarker Function(ffi.Pointer env, JClassPtr clazz)>> UnregisterNatives; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer env, JObjectPtr obj)>> + JIntMarker Function(ffi.Pointer env, JObjectPtr obj)>> MonitorEnter; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer env, JObjectPtr obj)>> + JIntMarker Function(ffi.Pointer env, JObjectPtr obj)>> MonitorExit; external ffi.Pointer< ffi.NativeFunction< - JIntMarker Function(ffi.Pointer env, - ffi.Pointer> vm)>> GetJavaVM; + JIntMarker Function(ffi.Pointer env, + ffi.Pointer> vm)>> GetJavaVM; external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JStringPtr str, JSizeMarker start, JSizeMarker len, @@ -1820,7 +1981,7 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JStringPtr str, JSizeMarker start, JSizeMarker len, @@ -1829,14 +1990,14 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Pointer Function( - ffi.Pointer env, + ffi.Pointer env, JArrayPtr array, ffi.Pointer isCopy)>> GetPrimitiveArrayCritical; external ffi.Pointer< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer env, + ffi.Pointer env, JArrayPtr array, ffi.Pointer carray, JIntMarker mode)>> ReleasePrimitiveArrayCritical; @@ -1844,92 +2005,101 @@ final class JNINativeInterface extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< ffi.Pointer Function( - ffi.Pointer env, + ffi.Pointer env, JStringPtr str, ffi.Pointer isCopy)>> GetStringCritical; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JStringPtr str, + ffi.Void Function(ffi.Pointer env, JStringPtr str, ffi.Pointer carray)>> ReleaseStringCritical; external ffi.Pointer< ffi.NativeFunction< - JWeakPtr Function(ffi.Pointer env, JObjectPtr obj)>> + JWeakPtr Function(ffi.Pointer env, JObjectPtr obj)>> NewWeakGlobalRef; external ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer env, JWeakPtr obj)>> + ffi.Void Function(ffi.Pointer env, JWeakPtr obj)>> DeleteWeakGlobalRef; external ffi.Pointer< - ffi.NativeFunction env)>> + ffi.NativeFunction env)>> ExceptionCheck; external ffi.Pointer< ffi.NativeFunction< JObjectPtr Function( - ffi.Pointer env, + ffi.Pointer env, ffi.Pointer address, JLongMarker capacity)>> NewDirectByteBuffer; external ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer env, JObjectPtr buf)>> - GetDirectBufferAddress; + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer env, JObjectPtr buf)>> GetDirectBufferAddress; external ffi.Pointer< ffi.NativeFunction< - JLongMarker Function(ffi.Pointer env, JObjectPtr buf)>> + JLongMarker Function(ffi.Pointer env, JObjectPtr buf)>> GetDirectBufferCapacity; /// added in JNI 1.6 external ffi.Pointer< - ffi.NativeFunction< - ffi.Int32 Function(ffi.Pointer env, JObjectPtr obj)>> - GetObjectRefType; + ffi.NativeFunction< + ffi.UnsignedInt Function( + ffi.Pointer env, JObjectPtr obj)>> GetObjectRefType; } typedef JniEnv1 = ffi.Pointer; -/// "cardinal indices and sizes" -typedef JSizeMarker = JIntMarker; -typedef JMethodIDPtr = ffi.Pointer; +/// JNI invocation interface. +final class JNIInvokeInterface extends ffi.Struct { + external ffi.Pointer reserved0; -final class jmethodID_ extends ffi.Opaque {} + external ffi.Pointer reserved1; -typedef JFieldIDPtr = ffi.Pointer; + external ffi.Pointer reserved2; -final class jfieldID_ extends ffi.Opaque {} + external ffi + .Pointer vm)>> + DestroyJavaVM; -typedef JArrayPtr = JObjectPtr; -typedef JObjectArrayPtr = JArrayPtr; -typedef JBooleanArrayPtr = JArrayPtr; -typedef JByteArrayPtr = JArrayPtr; -typedef JCharArrayPtr = JArrayPtr; -typedef JShortArrayPtr = JArrayPtr; -typedef JIntArrayPtr = JArrayPtr; -typedef JLongArrayPtr = JArrayPtr; -typedef JFloatArrayPtr = JArrayPtr; -typedef JDoubleArrayPtr = JArrayPtr; + external ffi.Pointer< + ffi.NativeFunction< + JIntMarker Function( + ffi.Pointer vm, + ffi.Pointer> p_env, + ffi.Pointer thr_args)>> AttachCurrentThread; -final class JNINativeMethod extends ffi.Struct { - external ffi.Pointer name; + external ffi + .Pointer vm)>> + DetachCurrentThread; - external ffi.Pointer signature; + external ffi.Pointer< + ffi.NativeFunction< + JIntMarker Function( + ffi.Pointer vm, + ffi.Pointer> p_env, + JIntMarker version)>> GetEnv; - external ffi.Pointer fnPtr; + external ffi.Pointer< + ffi.NativeFunction< + JIntMarker Function( + ffi.Pointer vm, + ffi.Pointer> p_env, + ffi.Pointer thr_args)>> AttachCurrentThreadAsDaemon; } -typedef JWeakPtr = JObjectPtr; +typedef JavaVM1 = ffi.Pointer; + +/// JNI 1.2+ initialization. (As of 1.6, the pre-1.2 structures are no +/// longer supported.) +final class JavaVMOption extends ffi.Struct { + external ffi.Pointer optionString; -abstract class JObjectRefType { - static const int JNIInvalidRefType = 0; - static const int JNILocalRefType = 1; - static const int JNIGlobalRefType = 2; - static const int JNIWeakGlobalRefType = 3; + external ffi.Pointer extraInfo; } final class JavaVMInitArgs extends ffi.Struct { @@ -1946,53 +2116,10 @@ final class JavaVMInitArgs extends ffi.Struct { external int ignoreUnrecognized; } -/// JNI 1.2+ initialization. (As of 1.6, the pre-1.2 structures are no -/// longer supported.) -final class JavaVMOption extends ffi.Struct { - external ffi.Pointer optionString; - - external ffi.Pointer extraInfo; -} - -final class CallbackResult extends ffi.Struct { - external MutexLock lock; - - external ConditionVariable cond; - - @ffi.Int() - external int ready; - - external JObjectPtr object; -} - -typedef MutexLock = pthread_mutex_t; -typedef pthread_mutex_t = __darwin_pthread_mutex_t; -typedef __darwin_pthread_mutex_t = _opaque_pthread_mutex_t; - -final class _opaque_pthread_mutex_t extends ffi.Struct { - @ffi.Long() - external int __sig; - - @ffi.Array.multi([56]) - external ffi.Array __opaque; -} - -typedef ConditionVariable = pthread_cond_t; -typedef pthread_cond_t = __darwin_pthread_cond_t; -typedef __darwin_pthread_cond_t = _opaque_pthread_cond_t; - -final class _opaque_pthread_cond_t extends ffi.Struct { - @ffi.Long() - external int __sig; - - @ffi.Array.multi([40]) - external ffi.Array __opaque; -} +final class _Dart_FinalizableHandle extends ffi.Opaque {} typedef Dart_FinalizableHandle = ffi.Pointer<_Dart_FinalizableHandle>; -final class _Dart_FinalizableHandle extends ffi.Opaque {} - final class GlobalJniEnvStruct extends ffi.Struct { external ffi.Pointer reserved0; @@ -3196,7 +3323,7 @@ final class GlobalJniEnvStruct extends ffi.Struct { external ffi.Pointer< ffi.NativeFunction< - JniResult Function(ffi.Pointer> vm)>> GetJavaVM; + JniResult Function(ffi.Pointer> vm)>> GetJavaVM; external ffi.Pointer< ffi.NativeFunction< @@ -3339,50 +3466,3 @@ final class GlobalJniEnvStruct extends ffi.Struct { JThrowablePtr Function(JDoubleArrayPtr array, JSizeMarker index, JDoubleMarker element)>> SetDoubleArrayElement; } - -/// This file re-exports some JNI constants as enum, because they are not -/// currently being included when they are in macro form. -abstract class JniBooleanValues { - static const int JNI_FALSE = 0; - static const int JNI_TRUE = 1; -} - -abstract class JniVersions { - static const int JNI_VERSION_1_1 = 65537; - static const int JNI_VERSION_1_2 = 65538; - static const int JNI_VERSION_1_4 = 65540; - static const int JNI_VERSION_1_6 = 65542; -} - -abstract class JniErrorCode { - /// no error - static const int JNI_OK = 0; - - /// generic error - static const int JNI_ERR = -1; - - /// thread detached from the VM - static const int JNI_EDETACHED = -2; - - /// JNI version error - static const int JNI_EVERSION = -3; - - /// Out of memory - static const int JNI_ENOMEM = -4; - - /// VM already created - static const int JNI_EEXIST = -5; - - /// Invalid argument - static const int JNI_EINVAL = -6; -} - -abstract class JniBufferWriteBack { - /// copy content, do not free buffer - static const int JNI_COMMIT = 1; - - /// free buffer w/o copying back - static const int JNI_ABORT = 2; -} - -const int DART_JNI_SINGLETON_EXISTS = -99; diff --git a/pkgs/jni/src/dartjni.c b/pkgs/jni/src/dartjni.c index 26b9cc3511..b23dcba8a8 100644 --- a/pkgs/jni/src/dartjni.c +++ b/pkgs/jni/src/dartjni.c @@ -201,16 +201,16 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, // handle to DLL module pthread_mutex_t spawnLock = PTHREAD_MUTEX_INITIALIZER; #endif FFI_PLUGIN_EXPORT -int SpawnJvm(JavaVMInitArgs* initArgs) { +JniErrorCode SpawnJvm(JavaVMInitArgs* initArgs) { if (jni_context.jvm != NULL) { - return DART_JNI_SINGLETON_EXISTS; + return SINGLETON_EXISTS; } acquire_lock(&spawnLock); // Init may have happened in the meanwhile. if (jni_context.jvm != NULL) { release_lock(&spawnLock); - return DART_JNI_SINGLETON_EXISTS; + return SINGLETON_EXISTS; } JavaVMOption jvmopt[1]; char class_path[] = "-Djava.class.path=."; diff --git a/pkgs/jni/src/dartjni.h b/pkgs/jni/src/dartjni.h index 5d182c13a0..3139ee1945 100644 --- a/pkgs/jni/src/dartjni.h +++ b/pkgs/jni/src/dartjni.h @@ -5,6 +5,7 @@ #pragma once #include "include/dart_api_dl.h" +#include "jni_constants.h" // Note: include appropriate system jni.h as found by CMake, not third_party/jni.h. #include @@ -139,9 +140,6 @@ typedef struct JniLocks { MutexLock classLoadingLock; } JniLocks; -/// Represents the error when dart-jni layer has already spawned singleton VM. -#define DART_JNI_SINGLETON_EXISTS (-99); - /// Stores the global state of the JNI. typedef struct JniContext { JavaVM* jvm; @@ -237,7 +235,7 @@ FFI_PLUGIN_EXPORT JNIEnv* GetJniEnv(void); /// Returns JNI_OK on success, and one of the documented JNI error codes on /// failure. It returns DART_JNI_SINGLETON_EXISTS if an attempt to spawn multiple /// JVMs is made, even if the underlying API potentially supports multiple VMs. -FFI_PLUGIN_EXPORT int SpawnJvm(JavaVMInitArgs* args); +FFI_PLUGIN_EXPORT JniErrorCode SpawnJvm(JavaVMInitArgs* args); /// Returns Application classLoader (on Android), /// which can be used to load application and platform classes. diff --git a/pkgs/jni/src/jni_constants.h b/pkgs/jni/src/jni_constants.h index 8423ca10d4..fee011acea 100644 --- a/pkgs/jni/src/jni_constants.h +++ b/pkgs/jni/src/jni_constants.h @@ -4,28 +4,35 @@ // This file re-exports some JNI constants as enum, because they are not // currently being included when they are in macro form. +#pragma once -enum JniBooleanValues { JNI_FALSE = 0, JNI_TRUE = 1 }; +#include "jni.h" -enum JniVersions { - JNI_VERSION_1_1 = 0x00010001, - JNI_VERSION_1_2 = 0x00010002, - JNI_VERSION_1_4 = 0x00010004, - JNI_VERSION_1_6 = 0x00010006, -}; +typedef enum JniBooleanValues { + FALSE = JNI_FALSE, + TRUE = JNI_TRUE +} JniBooleanValues; -enum JniErrorCode { +typedef enum JniVersions { + VERSION_1_1 = JNI_VERSION_1_1, + VERSION_1_2 = JNI_VERSION_1_2, + VERSION_1_4 = JNI_VERSION_1_4, + VERSION_1_6 = JNI_VERSION_1_6, +} JniVersions; + +typedef enum JniErrorCode { // Error codes from JNI - JNI_OK = 0, /* no error */ - JNI_ERR = -1, /* generic error */ - JNI_EDETACHED = -2, /* thread detached from the VM */ - JNI_EVERSION = -3, /* JNI version error */ - JNI_ENOMEM = -4, /* Out of memory */ - JNI_EEXIST = -5, /* VM already created */ - JNI_EINVAL = -6, /* Invalid argument */ -}; + OK = JNI_OK, /* no error */ + ERR = JNI_ERR, /* generic error */ + EDETACHED = JNI_EDETACHED, /* thread detached from the VM */ + EVERSION = JNI_EVERSION, /* JNI version error */ + ENOMEM = JNI_ENOMEM, /* Out of memory */ + EEXIST = JNI_EEXIST, /* VM already created */ + EINVAL = JNI_EINVAL, /* Invalid argument */ + SINGLETON_EXISTS = -99, +} JniErrorCode; -enum JniBufferWriteBack { - JNI_COMMIT = 1, /* copy content, do not free buffer */ - JNI_ABORT = 2, /* free buffer w/o copying back */ -}; +typedef enum JniBufferWriteBack { + COMMIT = JNI_COMMIT, /* copy content, do not free buffer */ + ABORT = JNI_ABORT, /* free buffer w/o copying back */ +} JniBufferWriteBack; diff --git a/pkgs/jni/src/third_party/global_jni_env.c b/pkgs/jni/src/third_party/global_jni_env.c index 2e7e448297..76cbccf02c 100644 --- a/pkgs/jni/src/third_party/global_jni_env.c +++ b/pkgs/jni/src/third_party/global_jni_env.c @@ -2421,11 +2421,7 @@ JniResult globalEnv_GetDirectBufferCapacity(jobject buf) { JniResult globalEnv_GetObjectRefType(jobject obj) { attach_thread(); - int32_t _result = (*jniEnv)->GetObjectRefType(jniEnv, obj); - jthrowable _exception = check_exception(); - if (_exception != NULL) { - return (JniResult){.value = {.j = 0}, .exception = _exception}; - } + jobjectRefType _result = (*jniEnv)->GetObjectRefType(jniEnv, obj); return (JniResult){.value = {.i = _result}, .exception = NULL}; } diff --git a/pkgs/jni/tool/wrapper_generators/generate_c_extensions.dart b/pkgs/jni/tool/wrapper_generators/generate_c_extensions.dart index ceba196a6a..4fb0114a90 100644 --- a/pkgs/jni/tool/wrapper_generators/generate_c_extensions.dart +++ b/pkgs/jni/tool/wrapper_generators/generate_c_extensions.dart @@ -67,7 +67,7 @@ String getCType(Type type) { if (type is PointerType) { return '${getCType(type.child)}*'; } - final cType = type.getCType(dummyWriter); + final cType = type.toString(); const specialCaseMappings = { 'JNIEnv1': 'JNIEnv', 'ffi.Char': 'char', @@ -180,6 +180,7 @@ ResultWrapper getResultWrapper(String returnType) { return ResultWrapper.unionType('JniPointerResult', 'NULL'); case 'jclass': return ResultWrapper.unionType('JniClassLookupResult', 'NULL'); + case 'jobjectRefType': case 'int32_t': return ResultWrapper.forJValueField('i'); default: @@ -224,6 +225,7 @@ const _noCheckException = { 'GetStringCritical', 'ExceptionClear', 'ExceptionDescribe', + 'GetObjectRefType', }; String? getWrapperFunc(CompoundMember field) { diff --git a/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart b/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart index c64ecf9570..b8061a63a8 100644 --- a/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart +++ b/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart @@ -44,29 +44,31 @@ String getCheckedGetter(Type returnType) { final child = returnType.child.getCType(dummyWriter); return 'getPointer<$child>()'; } - final cType = returnType.getCType(dummyWriter); - if (cType.endsWith('ArrayPtr')) { + final cType = returnType.toString(); + if (cType.startsWith('j') && cType.endsWith('Array')) { return objectPointerGetter; } const mappings = { - 'JBooleanMarker': 'boolean', - 'JByteMarker': 'byte', - 'JShortMarker': 'short', - 'JCharMarker': 'char', - 'JIntMarker': 'integer', - 'JSizeMarker': 'integer', // jsize is aliased to jint - 'JLongMarker': 'long', - 'JFloatMarker': 'float', - 'JDoubleMarker': 'doubleFloat', - 'JObjectPtr': objectPointerGetter, - 'JThrowablePtr': objectPointerGetter, - 'JStringPtr': objectPointerGetter, - 'JClassPtr': 'value', - 'JFieldIDPtr': 'fieldID', - 'JMethodIDPtr': 'methodID', + 'jboolean': 'boolean', + 'jbyte': 'byte', + 'jshort': 'short', + 'jchar': 'char', + 'jint': 'integer', + 'jsize': 'integer', // jsize is aliased to jint + 'jlong': 'long', + 'jfloat': 'float', + 'jdouble': 'doubleFloat', + 'jobject': objectPointerGetter, + 'jobjectRefType': 'referenceType', + 'jthrowable': objectPointerGetter, + 'jstring': objectPointerGetter, + 'jclass': 'value', + 'jfieldID': 'fieldID', + 'jmethodID': 'methodID', 'ffi.Int32': 'integer', + 'ffi.UnsignedInt': 'integer', 'ffi.Void': 'check()', - 'JWeakPtr': objectPointerGetter, + 'jweak': objectPointerGetter, }; if (mappings.containsKey(cType)) { return mappings[cType]!;