[X] I’ve reviewed the contributor guide and applied the relevant portions to this PR.
Contribution guidelines:
- See our [contributor guide](https://github.com/dart-lang/.github/blob/main/CONTRIBUTING.md) for general expectations for PRs.
- Larger or significant changes should be discussed in an issue before creating a PR.
- Contributions to our repos should follow the [Dart style guide](https://dart.dev/guides/language/effective-dart) and use `dart format`.
- Most changes should add an entry to the changelog and may need to [rev the pubspec package version](https://github.com/dart-lang/sdk/wiki/External-Package-Maintenance#making-a-change).
- Changes to packages require [corresponding tests](https://github.com/dart-lang/.github/blob/main/CONTRIBUTING.md#Testing).
Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.
Details
| File | Coverage |
| :--- | :--- |
|pkgs/objective_c/lib/objective_c.dart| :broken_heart: Not covered |
|pkgs/objective_c/lib/src/ns_data.dart| :broken_heart: Not covered |
This check for [test coverage](https://github.com/dart-lang/ecosystem/wiki/Test-Coverage) is informational (issues shown here will not fail the PR).
This check can be disabled by tagging the PR with `skip-coverage-check`.
License Headers :heavy_check_mark:
Details
```
// Copyright (c) 2024, 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.
```
| Files |
| :--- |
| _no missing headers_ |
All source files should start with a [license header](https://github.com/dart-lang/ecosystem/wiki/License-Header).
Unrelated files missing license headers
| Files |
| :--- |
|pkgs/ffi/example/main.dart|
|pkgs/ffigen/example/libclang-example/generated_bindings.dart|
|pkgs/ffigen/example/shared_bindings/generate.dart|
|pkgs/ffigen/example/shared_bindings/lib/generated/a_gen.dart|
|pkgs/ffigen/example/shared_bindings/lib/generated/a_shared_b_gen.dart|
|pkgs/ffigen/example/shared_bindings/lib/generated/base_gen.dart|
|pkgs/ffigen/example/simple/generated_bindings.dart|
|pkgs/ffigen/lib/src/config_provider/config_spec.dart|
|pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart|
|pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_decl_collision_bindings.dart|
|pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_symbol_address_collision_bindings.dart|
|pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_type_name_collision_bindings.dart|
|pkgs/ffigen/test/collision_tests/expected_bindings/_expected_reserved_keyword_collision_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_comment_markup_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_dart_handle_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_forward_decl_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_functions_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_imported_types_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_native_func_typedef_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_opaque_dependencies_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_packed_structs_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_regress_384_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_struct_fptr_fields_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_typedef_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_unions_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_varargs_bindings.dart|
|pkgs/ffigen/test/large_integration_tests/_expected_cjson_bindings.dart|
|pkgs/ffigen/test/large_integration_tests/_expected_libclang_bindings.dart|
|pkgs/ffigen/test/large_integration_tests/_expected_sqlite_bindings.dart|
|pkgs/ffigen/test/native_test/_expected_native_test_bindings.dart|
|pkgs/jni/lib/src/lang/jcharacter.dart|
|pkgs/jni/lib/src/third_party/generated_bindings.dart|
|pkgs/jni/lib/src/third_party/global_env_extensions.dart|
|pkgs/jni/lib/src/third_party/jni_bindings_generated.dart|
|pkgs/jnigen/android_test_runner/lib/main.dart|
|pkgs/jnigen/example/in_app_java/lib/android_utils.dart|
|pkgs/jnigen/example/kotlin_plugin/example/lib/main.dart|
|pkgs/jnigen/example/kotlin_plugin/lib/kotlin_bindings.dart|
|pkgs/jnigen/example/kotlin_plugin/lib/kotlin_plugin.dart|
|pkgs/jnigen/example/pdfbox_plugin/lib/pdfbox_plugin.dart|
|pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocument.dart|
|pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocumentInformation.dart|
|pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/_package.dart|
|pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/text/PDFTextStripper.dart|
|pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/text/_package.dart|
|pkgs/jnigen/lib/src/bindings/descriptor.dart|
|pkgs/jnigen/lib/src/elements/elements.g.dart|
|pkgs/jnigen/test/jackson_core_test/third_party/bindings/com/fasterxml/jackson/core/_package.dart|
|pkgs/jnigen/tool/command_runner.dart|
Package publish validation :heavy_check_mark:
Details
| Package | Version | Status |
| :--- | ---: | :--- |
| package:ffi | 2.1.2 | already published at pub.dev |
| package:ffigen | 12.0.0-wip | WIP (no publish necessary) |
| package:jni | 0.9.0-wip | WIP (no publish necessary) |
| package:jnigen | 0.9.0-wip | WIP (no publish necessary) |
| package:native_assets_builder | 0.6.1 | already published at pub.dev |
| package:native_assets_cli | 0.5.4 | already published at pub.dev |
| package:native_toolchain_c | 0.4.1 | already published at pub.dev |
| package:objective_c | 0.0.1-wip | WIP (no publish necessary) |
Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.
Details
| Package | Changed Files |
| :--- | :--- |
| package:objective_c | pkgs/objective_c/lib/objective_c.dart pkgs/objective_c/lib/src/ns_data.dart |
Changes to files need to be [accounted for](https://github.com/dart-lang/ecosystem/wiki/Changelog) in their respective changelogs.
This check can be disabled by tagging the PR with `skip-changelog-check`.
Coverage :warning:
Details
| File | Coverage |
| :--- | :--- |
|pkgs/objective_c/lib/objective_c.dart| :broken_heart: Not covered |
|pkgs/objective_c/lib/src/ns_data.dart| :broken_heart: Not covered |
This check for [test coverage](https://github.com/dart-lang/ecosystem/wiki/Test-Coverage) is informational (issues shown here will not fail the PR).
This check can be disabled by tagging the PR with `skip-coverage-check`.
License Headers :heavy_check_mark:
Details
```
// Copyright (c) 2024, 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.
```
| Files |
| :--- |
| _no missing headers_ |
All source files should start with a [license header](https://github.com/dart-lang/ecosystem/wiki/License-Header).
Unrelated files missing license headers
| Files |
| :--- |
|pkgs/ffi/example/main.dart|
|pkgs/ffigen/example/libclang-example/generated_bindings.dart|
|pkgs/ffigen/example/shared_bindings/generate.dart|
|pkgs/ffigen/example/shared_bindings/lib/generated/a_gen.dart|
|pkgs/ffigen/example/shared_bindings/lib/generated/a_shared_b_gen.dart|
|pkgs/ffigen/example/shared_bindings/lib/generated/base_gen.dart|
|pkgs/ffigen/example/simple/generated_bindings.dart|
|pkgs/ffigen/lib/src/config_provider/config_spec.dart|
|pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart|
|pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_decl_collision_bindings.dart|
|pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_symbol_address_collision_bindings.dart|
|pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_type_name_collision_bindings.dart|
|pkgs/ffigen/test/collision_tests/expected_bindings/_expected_reserved_keyword_collision_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_comment_markup_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_dart_handle_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_forward_decl_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_functions_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_imported_types_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_native_func_typedef_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_opaque_dependencies_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_packed_structs_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_regress_384_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_struct_fptr_fields_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_typedef_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_unions_bindings.dart|
|pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_varargs_bindings.dart|
|pkgs/ffigen/test/large_integration_tests/_expected_cjson_bindings.dart|
|pkgs/ffigen/test/large_integration_tests/_expected_libclang_bindings.dart|
|pkgs/ffigen/test/large_integration_tests/_expected_sqlite_bindings.dart|
|pkgs/ffigen/test/native_test/_expected_native_test_bindings.dart|
|pkgs/jni/lib/src/lang/jcharacter.dart|
|pkgs/jni/lib/src/third_party/generated_bindings.dart|
|pkgs/jni/lib/src/third_party/global_env_extensions.dart|
|pkgs/jni/lib/src/third_party/jni_bindings_generated.dart|
|pkgs/jnigen/android_test_runner/lib/main.dart|
|pkgs/jnigen/example/in_app_java/lib/android_utils.dart|
|pkgs/jnigen/example/kotlin_plugin/example/lib/main.dart|
|pkgs/jnigen/example/kotlin_plugin/lib/kotlin_bindings.dart|
|pkgs/jnigen/example/kotlin_plugin/lib/kotlin_plugin.dart|
|pkgs/jnigen/example/pdfbox_plugin/lib/pdfbox_plugin.dart|
|pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocument.dart|
|pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocumentInformation.dart|
|pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/_package.dart|
|pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/text/PDFTextStripper.dart|
|pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/text/_package.dart|
|pkgs/jnigen/lib/src/bindings/descriptor.dart|
|pkgs/jnigen/lib/src/elements/elements.g.dart|
|pkgs/jnigen/test/jackson_core_test/third_party/bindings/com/fasterxml/jackson/core/_package.dart|
|pkgs/jnigen/tool/command_runner.dart|
Package publish validation :heavy_check_mark:
Details
| Package | Version | Status |
| :--- | ---: | :--- |
| package:ffi | 2.1.2 | already published at pub.dev |
| package:ffigen | 12.0.0-wip | WIP (no publish necessary) |
| package:jni | 0.9.0-wip | WIP (no publish necessary) |
| package:jnigen | 0.9.0-wip | WIP (no publish necessary) |
| package:native_assets_builder | 0.6.1 | already published at pub.dev |
| package:native_assets_cli | 0.5.4 | already published at pub.dev |
| package:native_toolchain_c | 0.4.1 | already published at pub.dev |
| package:objective_c | 0.0.1-wip | WIP (no publish necessary) |
Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.
Contribution guidelines:
- See our [contributor guide](https://github.com/dart-lang/.github/blob/main/CONTRIBUTING.md) for general expectations for PRs. - Larger or significant changes should be discussed in an issue before creating a PR. - Contributions to our repos should follow the [Dart style guide](https://dart.dev/guides/language/effective-dart) and use `dart format`. - Most changes should add an entry to the changelog and may need to [rev the pubspec package version](https://github.com/dart-lang/sdk/wiki/External-Package-Maintenance#making-a-change). - Changes to packages require [corresponding tests](https://github.com/dart-lang/.github/blob/main/CONTRIBUTING.md#Testing). Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.