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

[native_assets_cli] Move non-build.dart code to package:native_assets_builder #881

Merged
merged 6 commits into from
Jan 10, 2024

Conversation

dcharkes
Copy link
Collaborator

@dcharkes dcharkes commented Jan 9, 2024

Classes/methods that are not used in writing build.dart scripts, should not be part of package:native_assets_cli.

This PR moves code to package:native_assets_builder or deletes it entirely.

This PR will likely need to be manually rolled into Dart and Flutter to fix imports.

Issues:

Copy link

github-actions bot commented Jan 9, 2024

Package publishing

Package Version Status Publish tag (post-merge)
package:ffigen 12.0.0-dev ready to publish ffigen-v12.0.0-dev
package:jni 0.8.0-wip WIP (no publish necessary)
package:jnigen 0.8.0-wip WIP (no publish necessary)
package:native_assets_builder 0.3.1-wip WIP (no publish necessary)
package:native_assets_cli 0.4.0-wip WIP (no publish necessary)
package:native_toolchain_c 0.3.3 already published at pub.dev

Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.

@dcharkes
Copy link
Collaborator Author

dcharkes commented Jan 9, 2024

@mosuem Is there a way to skip the changelog check failing with a label as well? If I want to land a bunch of PRs that refactor things, I just want a single changelog entry at the end, not for every PR.

Copy link

github-actions bot commented Jan 9, 2024

PR Health

Breaking changes ✔️

Details
Package Change Current Version New Version Needed Version Looking good?
native_assets_builder Non-Breaking 0.3.1-wip 0.3.1-wip 0.3.1-wip ✔️
native_assets_cli Breaking 0.3.3-wip 0.4.0-wip 0.4.0-wip ✔️

Coverage ⚠️

Details
File Coverage
pkgs/native_assets_builder/lib/native_assets_builder.dart 💔 Not covered
pkgs/native_assets_builder/lib/src/model/asset.dart 💚 100 %
pkgs/native_assets_builder/lib/src/utils/yaml.dart 💚 100 %
pkgs/native_assets_cli/lib/src/model/asset.dart 💚 100 %

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/jni/lib/src/third_party/global_env_extensions.dart
pkgs/jni/lib/src/third_party/generated_bindings.dart
pkgs/jni/lib/src/third_party/jni_bindings_generated.dart
pkgs/jni/lib/src/lang/jcharacter.dart
pkgs/jnigen/android_test_runner/lib/main.dart
pkgs/jnigen/test/jackson_core_test/third_party/c_based/dart_bindings/com/fasterxml/jackson/core/_package.dart
pkgs/jnigen/test/jackson_core_test/third_party/dart_only/dart_bindings/com/fasterxml/jackson/core/_package.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/in_app_java/lib/android_utils.dart
pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/_init.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/PDDocument.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/example/pdfbox_plugin/lib/pdfbox_plugin.dart
pkgs/jnigen/tool/command_runner.dart
pkgs/jnigen/lib/src/bindings/descriptor.dart
pkgs/jnigen/lib/src/elements/elements.g.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_varargs_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_regress_384_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_packed_structs_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_functions_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_forward_decl_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_typedef_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_unions_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_imported_types_bindings.dart
pkgs/ffigen/test/native_test/_expected_native_test_bindings.dart
pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_type_name_collision_bindings.dart
pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_decl_collision_bindings.dart
pkgs/ffigen/test/collision_tests/expected_bindings/_expected_reserved_keyword_collision_bindings.dart
pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_symbol_address_collision_bindings.dart
pkgs/ffigen/test/large_integration_tests/_expected_libclang_bindings.dart
pkgs/ffigen/test/large_integration_tests/_expected_cjson_bindings.dart
pkgs/ffigen/test/large_integration_tests/_expected_sqlite_bindings.dart
pkgs/ffigen/example/objective_c/avf_audio_bindings.dart
pkgs/ffigen/example/shared_bindings/generate.dart
pkgs/ffigen/example/shared_bindings/lib/generated/base_gen.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/swift/swift_api_bindings.dart
pkgs/ffigen/example/simple/generated_bindings.dart
pkgs/ffigen/example/libclang-example/generated_bindings.dart
pkgs/ffigen/lib/src/config_provider/config_spec.dart
pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart
tools/delete_pubspec_overrides.dart

Package publish validation ✔️

Details
Package Version Status
package:ffigen 12.0.0-dev ready to publish
package:jni 0.8.0-wip WIP (no publish necessary)
package:jnigen 0.8.0-wip WIP (no publish necessary)
package:native_assets_builder 0.3.1-wip WIP (no publish necessary)
package:native_assets_cli 0.4.0-wip WIP (no publish necessary)
package:native_toolchain_c 0.3.3 already published at pub.dev

Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.

@mosuem
Copy link
Member

mosuem commented Jan 9, 2024

@mosuem Is there a way to skip the changelog check failing with a label as well? If I want to land a bunch of PRs that refactor things, I just want a single changelog entry at the end, not for every PR.

This check can be disabled by tagging the PR with skip-changelog-check

@dcharkes
Copy link
Collaborator Author

dcharkes commented Jan 9, 2024

image

checks: "version,changelog,license,do-not-submit,breaking"

@mosuem coverage is disabled but it's still reporting in the comment.

Not sure where it is fetching its data from, but the files it reports being not covered are covered.

@dcharkes dcharkes marked this pull request as ready for review January 9, 2024 14:57
@mosuem
Copy link
Member

mosuem commented Jan 9, 2024

coverage is disabled but it's still reporting in the comment.

Changelog is disabled, coverage is not (This check can be disabled by tagging the PR with skip-coverage-check). The disabling leading to the failure message in the comment is addressed in dart-lang/ecosystem#220.

Not sure where it is fetching its data from, but the files it reports being not covered are covered.

It gets the results simply by running https://pub.dev/packages/coverage.

@dcharkes
Copy link
Collaborator Author

dcharkes commented Jan 9, 2024

coverage is disabled but it's still reporting in the comment.

Changelog is disabled, coverage is not (This check can be disabled by tagging the PR with skip-coverage-check). The disabling leading to the failure message in the comment is addressed in dart-lang/ecosystem#220.

Wait, what does checks: "version,changelog,license,do-not-submit,breaking" do then?

Not sure where it is fetching its data from, but the files it reports being not covered are covered.

It gets the results simply by running https://pub.dev/packages/coverage.

How does that work in the context of a mono repo? It should run that in multiple sub directories and aggregate all the coverage files?

@mosuem
Copy link
Member

mosuem commented Jan 10, 2024

Wait, what does checks: "version,changelog,license,do-not-submit,breaking" do then?

This should work now.

How does that work in the context of a mono repo? It should run that in multiple sub directories and aggregate all the coverage files?

Also works now - thanks for the feedback!

@github-actions github-actions bot added the type-infra A repository infrastructure change or enhancement label Jan 10, 2024
@dcharkes
Copy link
Collaborator Author

@mosuem This one file has only export statements, so it can't have coverage.
image

@mosuem
Copy link
Member

mosuem commented Jan 10, 2024

This one file has only export statements, so it can't have coverage.

Yes, dart-lang/ecosystem#218 will add the ability to ignore files which should or can not have coverage.

@dcharkes dcharkes merged commit d275ca6 into main Jan 10, 2024
27 checks passed
@dcharkes dcharkes deleted the native-assets-cli-cleanup branch January 10, 2024 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants