-
Notifications
You must be signed in to change notification settings - Fork 220
Prepare Dart package for publishing #6739
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
Conversation
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback. |
Regarding the binaries for upload - for We could upload two sets of binaries - |
How would the download hook know that only intl4x symbols are used? What if some project uses intl4x and other icu4x APIs directly? I think for now we should just host an everything binary and let treeshaking deal with the size. |
We could add a build option, so that we use a reduced set by default and can switch to the full set if required. But we can keep the full set for now - I am a bit worried about size implications though. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd prefer if you put artifacts generation workflows in a separate PR. Artifacts might not actually be Dart-specific.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah feel free to refactor this however you like. This is just an example/template basically.
@@ -0,0 +1 @@ | |||
export 'src/hook_helpers/link_helpers.dart' show SymbolKeeper; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is this a public API?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So that other packages can send their symbols to this package, see https://github.com/dart-lang/i18n/pull/993/files#diff-03d883e351f521ff45d1c403250f406302df7d2a545ccc7e2ef354877dea5e95R38
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this something that could be upstreamed into the native_toolchain_c or hooks package?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, this is core to how linking works - the package which does the treeshaking must define the API for getting the symbols to treeshake.
i don't have merge rights, so feel free to merge. Also if there is no icu4x_artifacts, the code for fetching the artifacts must be updated. Finally, a version |
That's what the |
I just don't want to add these in this PR because it needs more work. |
This migrates the https://github.com/dart-lang/i18n/blob/main/.github/workflows/intl4x.yml workflow which was punted in #6739
Merge after dart-lang/native#2417
This is an idea of how a
package:icu4x
could look like. Feel free to refactor at will to better suit your workflows - I would like to get something like this landed sometime soon to be able to iterate on it.Matches dart-lang/i18n#993.
The failure of the
fetch
andcheck_hashes
workflows are expected as there are no published binaries yet -skip-fetch
as a label in this repo would skip the fetching.