native
native copied to clipboard
[native_toolchain_c] Add `CBuilder.dynamicallyLinkTo` option
Fixes https://github.com/dart-lang/native/issues/1419
- [x] I’ve reviewed the contributor guide and applied the relevant portions to this PR.
Contribution guidelines:
- See our contributor guide 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 and use
dart format. - Most changes should add an entry to the changelog and may need to rev the pubspec package version.
- Changes to packages require corresponding tests.
Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.
PR Health
Breaking changes :heavy_check_mark:
Details
| Package | Change | Current Version | New Version | Needed Version | Looking good? |
|---|---|---|---|---|---|
| native_assets_cli | None | 0.7.3-wip | 0.7.3-wip | 0.7.3-wip | :heavy_check_mark: |
Changelog Entry :heavy_check_mark:
Details
| Package | Changed Files |
|---|
Changes to files need to be accounted for in their respective changelogs.
API leaks :heavy_check_mark:
Details
The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.
| Package | Leaked API symbols |
|---|
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.
Unrelated files missing license headers
| Files |
|---|
| 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/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_enum_int_mimic_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 |
| pkgs/swift2objc/lib/src/config.dart |
| pkgs/swift2objc/lib/src/generate_wrapper.dart |
| pkgs/swift2objc/lib/src/generator/_core/utils.dart |
| pkgs/swift2objc/lib/src/generator/generator.dart |
| pkgs/swift2objc/lib/src/generator/generators/class_generator.dart |
| pkgs/swift2objc/lib/src/parser/parsers/declaration_parsers/parse_property_declaration.dart |
| pkgs/swift2objc/lib/src/transformer/_core/unique_namer.dart |
| pkgs/swift2objc/lib/src/transformer/_core/utils.dart |
| pkgs/swift2objc/lib/src/transformer/transformers/transform_property.dart |
Package publish validation :heavy_check_mark:
Details
| Package | Version | Status |
|---|---|---|
| package:ffi | 2.1.3 | already published at pub.dev |
| package:ffigen | 14.0.0-wip | WIP (no publish necessary) |
| package:jni | 0.11.0-wip | WIP (no publish necessary) |
| package:jnigen | 0.10.0 | already published at pub.dev |
| package:native_assets_cli | 0.7.3-wip | WIP (no publish necessary) |
| package:objective_c | 1.1.0 | already published at pub.dev |
| package:swift2objc | 0.0.1-wip | WIP (no publish necessary) |
| package:swiftgen | 0.0.1-wip | WIP (no publish necessary) |
Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.
This check will fail until https://dart-review.googlesource.com/c/sdk/+/381580 is in the latest dev release.
P.S.: Some projects only require approval to run checks for first time contributors. Is there a specific reason why this is not possible for this repo? 🙂
This check will fail until https://dart-review.googlesource.com/c/sdk/+/381580 is in the latest dev release.
Add a skip with a TODO. Otherwise the CI is going to be red all the time.
P.S.: Some projects only require approval to run checks for first time contributors. Is there a specific reason why this is not possible for this repo? 🙂
Yeah I would love to, but the Google policies don't allow it unfortunately. (There's some security concerns about being able to add arbitrary code and arbitrary GitHub actions in PRs.) It's churn for us to press the 'approve' button as well. 🙈 I'll try to be responsive on PRs. 💨
I'll try to be responsive on PRs. 💨
And, I appreciate that! It was not meant as criticism. 😊
I'm pretty sure that I can trigger checks in the Flutter repo without approval, though, and that's Google too, but I guess different teams have different policies. 🤔😂