Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[jnigen] Jnigen fails with FormatException #877

Closed
glanium opened this issue Jan 4, 2024 · 19 comments · Fixed by #1103
Closed

[jnigen] Jnigen fails with FormatException #877

glanium opened this issue Jan 4, 2024 · 19 comments · Fixed by #1103

Comments

@glanium
Copy link

glanium commented Jan 4, 2024

Jnigen fails with the following error.

This error message does not help me know what to do next.
What file does this error message mention about?

dart run jnigen --config .\jnigen.yaml
(jnigen) INFO: ApiSummarizer.jar exists. Skipping build..
(jnigen) INFO: execute java -jar .dart_tool/jnigen/ApiSummarizer.jar -c jar\okio-3.0.0.jar;jar\okhttp-4.10.0.jar --backend asm okhttp3.OkHttpClient    
Unhandled exception:
FormatException: Unexpected extension byte (at offset 1)
#0      _Utf8Decoder.convertChunked (dart:convert-patch/convert_patch.dart:1852:7)
#1      _Utf8ConversionSink.addSlice (dart:convert/string_conversion.dart:304:28)
#2      _Utf8ConversionSink.add (dart:convert/string_conversion.dart:300:5)
#3      _ConverterStreamEventSink.add (dart:convert/chunked_conversion.dart:69:18)
#4      _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:111:24)
#5      _RootZone.runUnaryGuarded (dart:async/zone.dart:1594:10)
#6      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
#7      _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#8      _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:784:19)
#9      _StreamController._add (dart:async/stream_controller.dart:658:7)
#10     _StreamController.add (dart:async/stream_controller.dart:606:5)
#11     _Socket._onData (dart:io-patch/socket_patch.dart:2447:41)
#12     _RootZone.runUnaryGuarded (dart:async/zone.dart:1594:10)
#13     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
#14     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#15     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:784:19)
#16     _StreamController._add (dart:async/stream_controller.dart:658:7)
#17     _StreamController.add (dart:async/stream_controller.dart:606:5)
#18     new _RawSocket.<anonymous closure> (dart:io-patch/socket_patch.dart:1936:33)
#19     _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1379:14)
#20     _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#21     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
#22     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#23     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:185:5)
 Flutter (Channel stable, 3.16.4, on Microsoft Windows [Version 10.0.22631.2428], locale ja-JP)
    • Flutter version 3.16.4 on channel stable at C:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2e9cb0aa71 (3 weeks ago), 2023-12-11 14:35:13 -0700
    • Engine revision 54a7145303
    • Dart version 3.2.3
    • DevTools version 2.28.4
dependencies:  
  jni: 0.7.2  

dev_dependencies:
  jnigen: 0.7.0
@HosseinYousefi
Copy link
Member

Can you share your jnigen.yaml?

@glanium
Copy link
Author

glanium commented Jan 17, 2024

It's simple for test purpose.

summarizer:
  backend: asm

output:
  dart:
    path: lib/src/okhttp3.dart
    structure: single_file
  bindings_type: dart_only

class_path:
  - 'jar/okio-3.0.0.jar'
  - 'jar/okhttp-4.10.0.jar'

classes:
  - 'okhttp3.OkHttpClient'

@marcoedomingos
Copy link
Contributor

Hello @glanium, dont' know if you still facing this issue, but, from I can see from your config file, you trying to access a dependency that it is not implemented in the project, you need to fetch the dependency to be able to import it, like this:

summarizer:
  backend: asm

output:
  dart:
    path: lib/src/okhttp3.dart
    structure: single_file
  bindings_type: dart_only

class_path:
  - 'jar/okio-3.0.0.jar'
  - 'jar/okhttp-4.10.0.jar'

classes:
  - 'okhttp3.OkHttpClient'

#Add this lines
maven_downloads:
  source_deps:
    - "com.squareup.okhttp3:okhttp:4.12.0"
    - "com.squareup.okhttp3:logging-interceptor:4.12.0"

Don't forget to run flutter build apk before generate the bindings, tell me if this help

@HosseinYousefi
Copy link
Member

I had assumed that the .jar files do exist in the jar/ directory. I tried running it on my machine and it "works", meaning that it produces the bindings, however since okhttp is a Kotlin library, there are functions like public final okhttp3.OkHttpClient$Builder -addNetworkInterceptor(kotlin.jvm.functions.Function1 function1) (with a hyphen in the name) which break the code, as having - in the identifiers is not allowed in Dart.

This is done in okhttp to prevent ambiguous overloads from Java: https://github.com/square/okhttp/blob/76acdc5d0d437253d01dc4f90e43247d1ad22682/okhttp/src/main/kotlin/okhttp3/OkHttpClient.kt#L649-L664

The fix is to either exclude the generation of this method for now, or a patch to jnigen to convert - in the name to something else. Unfortunately we don't yet support renaming. See #787.

@marcoedomingos
Copy link
Contributor

@HosseinYousefi you managed to run without fetch the dependencies in the config file?

@HosseinYousefi
Copy link
Member

@HosseinYousefi you managed to run without fetch the dependencies in the config file?

If you download the jars yourself, and put them in jars/ directory, you can generate bindings. maven_downloads is a convenience tool which I proposed to be eventually removed #576.

@glanium
Copy link
Author

glanium commented Jan 26, 2024

I had downloaded jar files manually and put them in jars directory but dose not work with that error.
that error message does not help me at all.
Then I don't know what to do next.

@HosseinYousefi
Copy link
Member

I had downloaded jar files manually and put them in jars directory but dose not work with that error. that error message does not help me at all. Then I don't know what to do next.

It might be a windows problem, let me try it with that as well.

@HosseinYousefi
Copy link
Member

Are you sure that lib/src/okhttp3.dart is not being generated? I downloaded the jar file from https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp/4.10.0 and with the exact same config yaml, it works on both mac and Windows.

@glanium
Copy link
Author

glanium commented Jan 26, 2024

umm.
I'm sure lib/src/okhttp3.dart is not generated.

screenshot

@glanium
Copy link
Author

glanium commented Jan 26, 2024

I've checked jar's contents by renaming to .zip.
It seems correct one.

okhttp-4.10.0.jar 807,357 bytes
okio-3.0.0.jar 24,754 bytes

@glanium
Copy link
Author

glanium commented Jan 26, 2024

JAVA_HOME=C:\Program Files\Microsoft\jdk-11.0.16.101-hotspot

@marcoedomingos
Copy link
Contributor

I had assumed that the .jar files do exist in the jar/ directory. I tried running it on my machine and it "works", meaning that it produces the bindings, however since okhttp is a Kotlin library, there are functions like public final okhttp3.OkHttpClient$Builder -addNetworkInterceptor(kotlin.jvm.functions.Function1 function1) (with a hyphen in the name) which break the code, as having - in the identifiers is not allowed in Dart.

This is done in okhttp to prevent ambiguous overloads from Java: https://github.com/square/okhttp/blob/76acdc5d0d437253d01dc4f90e43247d1ad22682/okhttp/src/main/kotlin/okhttp3/OkHttpClient.kt#L649-L664

The fix is to either exclude the generation of this method for now, or a patch to jnigen to convert - in the name to something else. Unfortunately we don't yet support renaming. See #787.

About that, what do you think about this proposal #956?

@HosseinYousefi
Copy link
Member

Do you still get this issue in the latest version of JNIgen?

@glanium
Copy link
Author

glanium commented Apr 8, 2024

yes.
i got same error with jni 0.8.0 and jnigen 0.8.0

@HosseinYousefi HosseinYousefi self-assigned this Apr 8, 2024
@HosseinYousefi HosseinYousefi added this to the JNI / JNIgen 0.9.0 milestone Apr 8, 2024
@HosseinYousefi
Copy link
Member

I'll try to fix this issue for the next version then. Could you please create a small reproducible example repository that fails?

@HosseinYousefi HosseinYousefi moved this to Todo in JNIgen tracker Apr 9, 2024
@HosseinYousefi
Copy link
Member

HosseinYousefi commented Apr 23, 2024

@glanium

  • What version of java (JDK) are you using?
  • Can you send the output of java -jar .dart_tool/jnigen/ApiSummarizer.jar -c jar\okio-3.0.0.jar;jar\okhttp-4.10.0.jar --backend asm okhttp3.OkHttpClient?

@glanium
Copy link
Author

glanium commented Apr 24, 2024

java -version
openjdk version "11.0.16.1" 2022-08-12 LTS
OpenJDK Runtime Environment Microsoft-40648 (build 11.0.16.1+1-LTS)
OpenJDK 64-Bit Server VM Microsoft-40648 (build 11.0.16.1+1-LTS, mixed mode)

java -jar ..dart_tool\jnigen\ApiSummarizer.jar -c .\jar\okhttp-4.10.0.jar;.\jar\okio-3.0.0.jar -b asm okhttp3.OkHttpClient
Need to specify paths to source files
usage: java -jar [-s <SOURCE_DIR=.>] [-c <CLASSES_JAR>]
<CLASS_OR_PACKAGE_NAMES>
Class or package names should be fully qualified.
-b,--backend backend to use for summary generation
('doclet', 'asm' or 'auto' (default)).
-c,--classes paths to search for compiled classes
-D,--doctool-args arguments to pass to the documentation tool
-M,--use-modules use Java modules

oh, this might be cause.

@HosseinYousefi
Copy link
Member

HosseinYousefi commented Apr 24, 2024

That's odd, it seems that the okhttp3.OkHttpClient is not being parsed as an argument in your machine, causing getArgs().length to be < 1! Again everything seems to be working on my machine on the same OpenJDK version. The only thing that might cause this issue which is different in my setup is your ja-JP locale. So this is most likely an issue in Apache Commons CLI and/or Windows terminal. I'll investigate this further.

Edit: yes, I can reproduce the issue with ja-JP locale.

P.S. I assume ..dart_tool with two dots is a typo, otherwise it wouldn't have run at all?

@github-project-automation github-project-automation bot moved this from In Progress to Done in JNIgen tracker Apr 25, 2024
mosuem added a commit that referenced this issue May 2, 2024
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 &gt; 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 />

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=4.1.2&new-version=4.1.4)](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 <yousefi@google.com>
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 />

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dart-lang/setup-dart&package-manager=github_actions&previous-version=1.6.2&new-version=1.6.4)](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 <dc.harkes@gmail.com>
Date:   Thu May 2 10:00:26 2024 +0200

    [infra] Fix CI (#1114)

commit 2eef97f
Author: Daco Harkes <dc.harkes@gmail.com>
Date:   Thu May 2 08:25:27 2024 +0200

    [infra] Swap weekly bot to x64 (#1116)

commit 6a9282c
Author: Liam Appelbe <liama@google.com>
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 <brian@sweetapp.com>
Date:   Thu Apr 25 16:31:03 2024 -0700

    Add helper methods for NSData (#1104)

commit 3bc1eb8
Author: Hossein Yousefi <yousefi@google.com>
Date:   Thu Apr 25 12:15:56 2024 +0200

    [jnigen] Fix summarizer and improve errors (#1103)

    Close #877

commit 880ca30
Author: Hossein Yousefi <yousefi@google.com>
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 <yousefi@google.com>
Date:   Tue Apr 23 17:50:31 2024 +0200

    [ffi] Fix `MallocAllocator` doc (#1096)

commit 2393cca
Author: Hossein Yousefi <yousefi@google.com>
Date:   Thu Apr 18 11:33:06 2024 +0200

    [jnigen] Remove C-based bindings (#1091)

commit 0f41ebb
Author: Liam Appelbe <liama@google.com>
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 <yousefi@google.com>
Date:   Wed Apr 17 11:53:36 2024 +0200

    Use varargs for dartonly method calls (#1090)

commit ffc493d
Author: Liam Appelbe <liama@google.com>
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants