Repository navigation
Delete the Dart functions associated with closure blocks - #1100
Conversation
PR HealthChangelog Entry ✔️Details
Changes to files need to be accounted for in their respective changelogs. Coverage
|
| File | Coverage |
|---|---|
| pkgs/ffigen/lib/src/code_generator/objc_block.dart | 💔 Not covered |
| pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart | 💔 Not covered |
| pkgs/objective_c/example/lib/main.dart | 💔 Not covered |
| pkgs/objective_c/lib/objective_c.dart | 💔 Not covered |
| pkgs/objective_c/lib/src/c_bindings_generated.dart | 💔 Not covered |
| pkgs/objective_c/lib/src/internal.dart | 💔 Not covered |
| pkgs/objective_c/lib/src/ns_data.dart | 💔 Not covered |
| pkgs/objective_c/lib/src/objective_c_bindings_generated.dart | 💔 Not covered |
This check for 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 ✔️
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/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 ✔️
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.
| - name: Install dependencies | ||
| run: flutter pub get | ||
| - name: Build test dylib | ||
| run: dart test/setup.dart |
There was a problem hiding this comment.
Maybe leave todo with link to switch-to-native-assets issue to remove this again.
| return MaterialApp( | ||
| home: Scaffold( | ||
| body: Center( | ||
| child: Text(NSString('Hello World!').toString()), |
There was a problem hiding this comment.
nit: This will rerun this every re-render.
For things that don't change, it's better to use a stateful widget and cache the result. (Feedback from Flutter. It's what we do in the plugin_ffi template in Flutter.)
P.S. Would we keep a Flutter example when switching to native assets later? I guess we can?
There was a problem hiding this comment.
Done. Yeah, it probably makes sense to keep the example after the switch.
| // | ||
| // Generated by `package:ffigen`. | ||
| // ignore_for_file: type=lint | ||
| @ffi.DefaultAsset('objective_c.framework/objective_c') |
There was a problem hiding this comment.
How does this work currently without support for native assets? By falling back on process lookup?
|
|
||
| Pointer<c.ObjCBlock> newClosureBlock(Pointer<Void> invoke, Function fn) => | ||
| _newBlock(invoke, _registerBlockClosure(fn), _closureBlockDesc, | ||
| _blockClosureDisposer.sendPort.nativePort, (1 << 25)); |
| _blockClosureDisposer.sendPort.nativePort, (1 << 25)); | ||
|
|
||
| final _blockClosureRegistry = <int, Function>{}; | ||
| int _blockClosureRegistryLastId = 0; |
| throw Exception('Command failed: $exec ${args.join(" ")}'); | ||
| } | ||
| print('Generated $output'); | ||
| } |
There was a problem hiding this comment.
Nit: Try to DynamicLibrary.open(...).lookup(...) as a sanity check?
| void main() { | ||
| group('NSString', () { | ||
| setUpAll(() { | ||
| DynamicLibrary.open('test/objective_c.dylib'); |
There was a problem hiding this comment.
Are we reyling on the fact that we load the symbols into the process this way? And then all the @Natives use process resolution?
I think that's fine on MacOS on iOS.
It doesn't work on Android/Linux. (See benchmarks/FfiCall/dart/dlopen_helper.dart in the SDK.)
Please docoment somewhere that we're doing this, with a todo to address for when we switch to native assets.
Added benefit, we don't have to change the API/FFIgen config when we switch to native assets.
| group('Automatic reference counting', () { | ||
| setUpAll(() { | ||
| logWarnings(); | ||
| DynamicLibrary.open('../objective_c/test/objective_c.dylib'); |
There was a problem hiding this comment.
This and all other places, leave a TODO that we remove this when switching to native assets.
| import 'dart:io'; | ||
|
|
||
| import 'package:ffi/ffi.dart'; | ||
| import 'package:objective_c/src/core.dart' as objc; |
There was a problem hiding this comment.
Consider making the import url 'package:objective_c/src/internal_for_testing.dart' so that it's self-documenting in tests where we use it.
Otherwise add a comment here and maybe use show to show the precise function.
| doGC(); | ||
| await Future<void>.delayed(Duration.zero); // Let dispose message arrive. | ||
| expect(lib.getBlockRetainCount(rawBlock), 0); | ||
| expect(objc.blockHasRegisteredClosure(rawBlock.cast()), false); |
commit 95d226d Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu May 2 08:38:22 2024 +0000 Bump actions/checkout from 4.1.2 to 4.1.4 (#1113) Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.2 to 4.1.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p> <blockquote> <h2>v4.1.4</h2> <h2>What's Changed</h2> <ul> <li>Disable <code>extensions.worktreeConfig</code> when disabling <code>sparse-checkout</code> by <a href="https://github.com/jww3"><code>@â��jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1692">actions/checkout#1692</a></li> <li>Add dependabot config by <a href="https://github.com/cory-miller"><code>@â��cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1688">actions/checkout#1688</a></li> <li>Bump word-wrap from 1.2.3 to 1.2.5 by <a href="https://github.com/dependabot"><code>@â��dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1643">actions/checkout#1643</a></li> <li>Bump the minor-actions-dependencies group with 2 updates by <a href="https://github.com/dependabot"><code>@â��dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1693">actions/checkout#1693</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v4.1.3...v4.1.4">https://github.com/actions/checkout/compare/v4.1.3...v4.1.4</a></p> <h2>v4.1.3</h2> <h2>What's Changed</h2> <ul> <li>Update <code>actions/checkout</code> version in <code>update-main-version.yml</code> by <a href="https://github.com/jww3"><code>@â��jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1650">actions/checkout#1650</a></li> <li>Check git version before attempting to disable <code>sparse-checkout</code> by <a href="https://github.com/jww3"><code>@â��jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1656">actions/checkout#1656</a></li> <li>Add SSH user parameter by <a href="https://github.com/cory-miller"><code>@â��cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1685">actions/checkout#1685</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v4.1.2...v4.1.3">https://github.com/actions/checkout/compare/v4.1.2...v4.1.3</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <h2>v4.1.4</h2> <ul> <li>Disable <code>extensions.worktreeConfig</code> when disabling <code>sparse-checkout</code> by <a href="https://github.com/jww3"><code>@â��jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1692">actions/checkout#1692</a></li> <li>Add dependabot config by <a href="https://github.com/cory-miller"><code>@â��cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1688">actions/checkout#1688</a></li> <li>Bump the minor-actions-dependencies group with 2 updates by <a href="https://github.com/dependabot"><code>@â��dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1693">actions/checkout#1693</a></li> <li>Bump word-wrap from 1.2.3 to 1.2.5 by <a href="https://github.com/dependabot"><code>@â��dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1643">actions/checkout#1643</a></li> </ul> <h2>v4.1.3</h2> <ul> <li>Check git version before attempting to disable <code>sparse-checkout</code> by <a href="https://github.com/jww3"><code>@â��jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1656">actions/checkout#1656</a></li> <li>Add SSH user parameter by <a href="https://github.com/cory-miller"><code>@â��cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1685">actions/checkout#1685</a></li> <li>Update <code>actions/checkout</code> version in <code>update-main-version.yml</code> by <a href="https://github.com/jww3"><code>@â��jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1650">actions/checkout#1650</a></li> </ul> <h2>v4.1.2</h2> <ul> <li>Fix: Disable sparse checkout whenever <code>sparse-checkout</code> option is not present <a href="https://github.com/dscho"><code>@â��dscho</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1598">actions/checkout#1598</a></li> </ul> <h2>v4.1.1</h2> <ul> <li>Correct link to GitHub Docs by <a href="https://github.com/peterbe"><code>@â��peterbe</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1511">actions/checkout#1511</a></li> <li>Link to release page from what's new section by <a href="https://github.com/cory-miller"><code>@â��cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1514">actions/checkout#1514</a></li> </ul> <h2>v4.1.0</h2> <ul> <li><a href="https://redirect.github.com/actions/checkout/pull/1396">Add support for partial checkout filters</a></li> </ul> <h2>v4.0.0</h2> <ul> <li><a href="https://redirect.github.com/actions/checkout/pull/1067">Support fetching without the --progress option</a></li> <li><a href="https://redirect.github.com/actions/checkout/pull/1436">Update to node20</a></li> </ul> <h2>v3.6.0</h2> <ul> <li><a href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark test scripts with Bash'isms to be run via Bash</a></li> <li><a href="https://redirect.github.com/actions/checkout/pull/579">Add option to fetch tags even if fetch-depth > 0</a></li> </ul> <h2>v3.5.3</h2> <ul> <li><a href="https://redirect.github.com/actions/checkout/pull/1196">Fix: Checkout fail in self-hosted runners when faulty submodule are checked-in</a></li> <li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix typos found by codespell</a></li> <li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add support for sparse checkouts</a></li> </ul> <h2>v3.5.2</h2> <ul> <li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix api endpoint for GHES</a></li> </ul> <h2>v3.5.1</h2> <ul> <li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix slow checkout on Windows</a></li> </ul> <h2>v3.5.0</h2> <ul> <li><a href="https://redirect.github.com/actions/checkout/pull/1237">Add new public key for known_hosts</a></li> </ul> <h2>v3.4.0</h2> <ul> <li><a href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade codeql actions to v2</a></li> <li><a href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade dependencies</a></li> <li><a href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade <code>@â��actions/io</code></a></li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/checkout/commit/0ad4b8fadaa221de15dcec353f45205ec38ea70b"><code>0ad4b8f</code></a> Prep Release v4.1.4 (<a href="https://redirect.github.com/actions/checkout/issues/1704">#1704</a>)</li> <li><a href="https://github.com/actions/checkout/commit/43045ae669be728bd34ed56fcd1a230c0dc4d8e2"><code>43045ae</code></a> Disable <code>extensions.worktreeConfig</code> when disabling <code>sparse-checkout</code> (<a href="https://redirect.github.com/actions/checkout/issues/1692">#1692</a>)</li> <li><a href="https://github.com/actions/checkout/commit/37b082107ba410260a3aaddf93122e04801ce631"><code>37b0821</code></a> Bump the minor-actions-dependencies group with 2 updates (<a href="https://redirect.github.com/actions/checkout/issues/1693">#1693</a>)</li> <li><a href="https://github.com/actions/checkout/commit/9839dc14a02ddc6b6995e69eb3ecb98132fc8b6b"><code>9839dc1</code></a> Add dependabot config (<a href="https://redirect.github.com/actions/checkout/issues/1688">#1688</a>)</li> <li><a href="https://github.com/actions/checkout/commit/9b4c13b0bfa31b4514c14f74b5a166c2708f43c6"><code>9b4c13b</code></a> Bump word-wrap from 1.2.3 to 1.2.5 (<a href="https://redirect.github.com/actions/checkout/issues/1643">#1643</a>)</li> <li><a href="https://github.com/actions/checkout/commit/1d96c772d19495a3b5c517cd2bc0cb401ea0529f"><code>1d96c77</code></a> Add SSH user parameter (<a href="https://redirect.github.com/actions/checkout/issues/1685">#1685</a>)</li> <li><a href="https://github.com/actions/checkout/commit/cd7d8d697e10461458bc61a30d094dc601a8b017"><code>cd7d8d6</code></a> Check git version before attempting to disable <code>sparse-checkout</code> (<a href="https://redirect.github.com/actions/checkout/issues/1656">#1656</a>)</li> <li><a href="https://github.com/actions/checkout/commit/8410ad0602e1e429cee44a835ae9f77f654a6694"><code>8410ad0</code></a> Update <code>actions/checkout</code> version in <code>update-main-version.yml</code> (<a href="https://redirect.github.com/actions/checkout/issues/1650">#1650</a>)</li> <li>See full diff in <a href="https://github.com/actions/checkout/compare/9bb56186c3b09b4f86b1c65136769dd318469633...0ad4b8fadaa221de15dcec353f45205ec38ea70b">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> commit 326f9b4 Author: Hossein Yousefi <[email protected]> Date: Thu May 2 10:26:20 2024 +0200 [jnigen] [jni] 0.9.0 (#1110) * Refactor JArray<jbool> * Merge internal.c to dartjni.c commit 3519c6f Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu May 2 08:18:16 2024 +0000 Bump dart-lang/setup-dart from 1.6.2 to 1.6.4 (#1112) Bumps [dart-lang/setup-dart](https://github.com/dart-lang/setup-dart) from 1.6.2 to 1.6.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dart-lang/setup-dart/releases">dart-lang/setup-dart's releases</a>.</em></p> <blockquote> <h2>v1.6.4</h2> <ul> <li>Rebuild JS code to include changes from v1.6.3</li> </ul> <h2>v1.6.3</h2> <ul> <li>Roll <code>undici</code> dependency to address <a href="https://github.com/nodejs/undici/security/advisories/GHSA-m4v8-wqvr-p9f7">CVE-2024-30260</a> and <a href="https://github.com/nodejs/undici/security/advisories/GHSA-9qxr-qj54-h672">CVE-2024-30261</a>.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/dart-lang/setup-dart/blob/main/CHANGELOG.md">dart-lang/setup-dart's changelog</a>.</em></p> <blockquote> <h2>v1.6.4</h2> <ul> <li>Rebuild JS code.</li> </ul> <h2>v1.6.3</h2> <ul> <li>Roll <code>undici</code> dependency to address <a href="https://github.com/nodejs/undici/security/advisories/GHSA-m4v8-wqvr-p9f7">CVE-2024-30260</a> and <a href="https://github.com/nodejs/undici/security/advisories/GHSA-9qxr-qj54-h672">CVE-2024-30261</a>.</li> </ul> <h2>v1.6.2</h2> <ul> <li>Switch to running the workflow on <code>node20`` from </code>node16`. See also <a href="https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/">Transitioning from Node 16 to Node 20</a>.</li> </ul> <h2>v1.6.1</h2> <ul> <li>Updated the google storage url for <code>main</code> channel releases.</li> </ul> <h2>v1.6.0</h2> <ul> <li>Enable provisioning of the latest Dart SDK patch release by specifying just the major and minor version (e.g. <code>3.2</code>).</li> </ul> <h2>v1.5.1</h2> <ul> <li>No longer test the <code>setup-dart</code> action on pre-2.12 SDKs.</li> <li>Upgrade JS interop code to use extension types (the new name for inline classes).</li> <li>The upcoming rename of the <code>be</code> channel to <code>main</code> is now supported with forward compatibility that switches when the rename happens.</li> </ul> <h2>v1.5.0</h2> <ul> <li>Re-wrote the implementation of the action into Dart.</li> <li>Auto-detect the platform architecture (<code>x64</code>, <code>ia32</code>, <code>arm</code>, <code>arm64</code>).</li> <li>Improved the caching and download resilience of the sdk.</li> <li>Added a new action output: <code>dart-version</code> - the installed version of the sdk.</li> </ul> <h2>v1.4.0</h2> <ul> <li>Automatically create OIDC token for pub.dev.</li> <li>Add a reusable workflow for publishing.</li> </ul> <h2>v1.3.0</h2> <ul> <li>The install location of the Dart SDK is now available</li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dart-lang/setup-dart/commit/f0ead981b4d9a35b37f30d36160575d60931ec30"><code>f0ead98</code></a> Rebuild JS code (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/129">#129</a>)</li> <li><a href="https://github.com/dart-lang/setup-dart/commit/65c82982aa686933bf10d50aced7a27b2b63f2a6"><code>65c8298</code></a> Update CHANGELOG.md (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/128">#128</a>)</li> <li><a href="https://github.com/dart-lang/setup-dart/commit/57338d64c065775c2cf86eaf665316ea44e0249d"><code>57338d6</code></a> Bump undici from 5.28.3 to 5.28.4 (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/127">#127</a>)</li> <li><a href="https://github.com/dart-lang/setup-dart/commit/05d3f5ec28dca4e3ae8991f2be7828a62942f8a8"><code>05d3f5e</code></a> Bump <code>@â��actions/http-client</code> from 2.2.0 to 2.2.1 (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/126">#126</a>)</li> <li><a href="https://github.com/dart-lang/setup-dart/commit/b8c0b77d1f6fb52c5ddff2fc3da6cfa3f9585860"><code>b8c0b77</code></a> no longer specify the inline-class experiment flag (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/125">#125</a>)</li> <li><a href="https://github.com/dart-lang/setup-dart/commit/b9952d818df9b43bab696de0e1b7bbf09464a829"><code>b9952d8</code></a> Bump undici from 5.27.0 to 5.28.3 (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/124">#124</a>)</li> <li><a href="https://github.com/dart-lang/setup-dart/commit/9a6ee8904aa6a1fa76b02bb3e7b0ec30cddcaaac"><code>9a6ee89</code></a> Bump dart-lang/setup-dart from 1.6.0 to 1.6.2 (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/123">#123</a>)</li> <li>See full diff in <a href="https://github.com/dart-lang/setup-dart/compare/fedb1266e91cf51be2fdb382869461a434b920a3...f0ead981b4d9a35b37f30d36160575d60931ec30">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> commit bf9dce2 Author: Daco Harkes <[email protected]> Date: Thu May 2 10:00:26 2024 +0200 [infra] Fix CI (#1114) commit 2eef97f Author: Daco Harkes <[email protected]> Date: Thu May 2 08:25:27 2024 +0200 [infra] Swap weekly bot to x64 (#1116) commit 6a9282c Author: Liam Appelbe <[email protected]> Date: Sun Apr 28 17:53:34 2024 -0700 Delete the Dart functions associated with closure blocks (#1100) * ObjC example, and infra for shipping native code with plugin * Fix the block leak * Mostly working * Fix analysis * Fix analysis * Fix example linker error * fmt * Daco's comments * Fix NSData commit 042af36 Author: Brian Quinlan <[email protected]> Date: Thu Apr 25 16:31:03 2024 -0700 Add helper methods for NSData (#1104) commit 3bc1eb8 Author: Hossein Yousefi <[email protected]> Date: Thu Apr 25 12:15:56 2024 +0200 [jnigen] Fix summarizer and improve errors (#1103) Close #877 commit 880ca30 Author: Hossein Yousefi <[email protected]> Date: Wed Apr 24 12:04:36 2024 +0200 [jnigen] Add `getRange` method to `JArray<JPrimitive>` and change the dart equivalent type for `JArray<jchar>` to `int` (#1095) * Close #990 * Convert the return type of `operator []` of `JArray<jchar>` to `int`, to be more consistent with the `getRange` return type. Similarly `operator []=` gets an `int` now * Remove some unused functions in `dartjni.c` * Use `.asTypedList(len).setRange` in `setRange` to be more efficient * Close #1097 – Improve the performance of`JArray`'s `operator []=` commit d7d9229 Author: Hossein Yousefi <[email protected]> Date: Tue Apr 23 17:50:31 2024 +0200 [ffi] Fix `MallocAllocator` doc (#1096) commit 2393cca Author: Hossein Yousefi <[email protected]> Date: Thu Apr 18 11:33:06 2024 +0200 [jnigen] Remove C-based bindings (#1091) commit 0f41ebb Author: Liam Appelbe <[email protected]> Date: Wed Apr 17 16:26:46 2024 -0700 [ffigen] Move core ObjC classes to package:objective_c (#1088) * Move core ObjC classes to package:objective_c * Fix formatting and analysis * Fix analysis * Fix analysis * Fix analysis and add tests * Fix pub get failure * More tests and coverage * Fix path * Fix permissions * Fix coverage * Debugging coverage * Fix analysis * Still debugging coverage * Fix analysis * Debug coverage * Remove coverage debugging * Daco's comments commit e88a6a8 Author: Hossein Yousefi <[email protected]> Date: Wed Apr 17 11:53:36 2024 +0200 Use varargs for dartonly method calls (#1090) commit ffc493d Author: Liam Appelbe <[email protected]> Date: Fri Apr 12 10:09:55 2024 +1200 package:objective_c (#1061) * Initial commit of package:objective_c * Fix some of the PR health warnings * Remove the objective_c dep from ffigen. Need to separate those tests * Disable analysis and move tests * Fix tests * Workflows * Fix analysis * Fix analysis * Fix analysis * Fix analysis * Fix analysis * Fix analysis * Fix tests * Fix tests and address comments * Improve ffigen's CHANGELOG entry * Gather objective_c coverage during ffigen tests * Daco's comments * Move objc_msgSend into package:objective_c * Changelog * Fix analysis * Update changelog
Changes:
dispose_portfield to the captured variables section of theObjCBlockstruct. This is set to the send port of aRawReceivePortthat deletes functions from the registry.disposeObjCBlockWithClosurefunction that sends the block ID to thedispose_port. Thedispose_helperfield of the block is set to this function.DynamicLibrary.openthat dylib.NSData.dataWithBytes_length_to fix the tests (seeNSData.dataWithBytesNoCopy_length_is crashing #1107)Fixes #204