• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dart-lang / native / 11213684456
76%

Build:
DEFAULT BRANCH: main
Ran 07 Oct 2024 10:34AM UTC
Jobs 13
Files 183
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 Oct 2024 10:32AM UTC coverage: 90.469% (-0.5%) from 90.938%
11213684456

push

github

web-flow
Allow custom asset types in the build system (#1623)

This is the first PR that will increase the flexibility of the Dart
Build system as well as makes it more layered. The main points being
addressed in this PR are:

* A bundling tool has to specify which asset types it supports. So we
  make `supportedAssetTypes` required everywhere.
  => Across various layers in the code base we make this required
  => We remove a baked-in `[CodeAsset.type]` fallback in various places
  (Making this explicit increases size of LOCs in this CL due to the
   many tests)

* The core building infrastructure in `pkg/native_assets_builder/lib/*`
  no longer knows anything about `CodeAsset` or `DataAsset`. Instead it
  only knows about `EncodedAsset` which represents the type of an asset
  and it's json encoding.
  => The core still verifies certain protocol consistency (e.g. that a
  hook only emitted asset types that the config allows)
  => The higher levels pass the `supportedAssetTypes`.
  => The higher levels now also pass `buildValidator` / `linkValidator`
  that validate per-asset related things (e.g. the id of a data asset to
  start with the package name) for a given package.
  => The higher levels now also pass a `applicationAssetValidator` that
  validates consistency of assets across all packages (e.g. uniqueness
  of dylib filenames across all dependencies)
  => This centralizes the logic about per-asset-type information in the
  bundling tool (i.e. user of `package:native_assets_builder`).
  => Bundling tools now have to expand `CodeAsset`s in dry-run to all
  architectures.

* The bundling tool (e.g. `flutter build`) doesn't have to implement
  validation logic itself, instead it will support certain asset types
  by importing the "bundling logic" for that asset types (which includes
  - for now - validation logic).

* All the validation code now simply returns `ValidationError` which is
  a list of errors. If the list is e... (continued)

247 of 304 new or added lines in 19 files covered. (81.25%)

13 existing lines in 5 files now uncovered.

10156 of 11226 relevant lines covered (90.47%)

34.0 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
63.64
3.64% pkgs/native_assets_cli/lib/src/api/build.dart
1
78.43
-11.57% pkgs/native_assets_cli/lib/src/json_utils.dart
1
88.14
0.0% pkgs/native_assets_cli/lib/src/model/link_config.dart
2
84.0
2.18% pkgs/native_assets_builder/lib/src/model/hook_result.dart
2
88.89
pkgs/native_assets_cli/lib/src/data_assets/validation.dart
2
91.67
pkgs/native_assets_cli/lib/src/validation.dart
4
0.0
0.0% pkgs/native_assets_cli/lib/src/api/link.dart
4
93.2
-0.34% pkgs/native_assets_cli/lib/src/model/hook_output.dart
10
78.75
pkgs/native_assets_cli/lib/src/code_assets/code_asset.dart
13
78.69
pkgs/native_assets_cli/lib/src/code_assets/validation.dart
17
63.04
pkgs/native_assets_cli/lib/src/data_assets/data_asset.dart

Uncovered Existing Lines

Lines Coverage ∆ File
1
90.75
0.37% pkgs/native_assets_builder/lib/src/build_runner/build_runner.dart
1
84.0
2.18% pkgs/native_assets_builder/lib/src/model/hook_result.dart
2
0.0
0.0% pkgs/native_assets_cli/lib/src/api/link.dart
3
90.0
-7.5% pkgs/native_assets_cli/lib/src/link_mode.dart
6
78.43
-11.57% pkgs/native_assets_cli/lib/src/json_utils.dart
Subprojects
ID Flag name Job ID Ran Files Coverage
5 native_assets_builder_ubuntu 11213684456.5 07 Oct 2024 10:37AM UTC 10
87.5
GitHub Action Run
6 native_assets_builder_macos 11213684456.6 07 Oct 2024 10:36AM UTC 10
87.5
GitHub Action Run
7 native_assets_cli_macos 11213684456.7 07 Oct 2024 10:34AM UTC 35
85.79
GitHub Action Run
8 native_assets_cli_ubuntu 11213684456.8 07 Oct 2024 10:34AM UTC 35
85.43
GitHub Action Run
9 native_assets_builder_windows 11213684456.9 07 Oct 2024 10:40AM UTC 10
87.5
GitHub Action Run
10 native_toolchain_c_windows 11213684456.10 07 Oct 2024 10:36AM UTC 24
78.37
GitHub Action Run
11 native_toolchain_c_ubuntu 11213684456.11 07 Oct 2024 10:34AM UTC 24
74.37
GitHub Action Run
12 native_assets_cli_windows 11213684456.12 07 Oct 2024 10:34AM UTC 35
85.16
GitHub Action Run
13 native_toolchain_c_macos 11213684456.13 07 Oct 2024 10:34AM UTC 24
69.64
GitHub Action Run
12 jni 11107645529.12 30 Sep 2024 02:00PM UTC 30
81.87
GitHub Action Run
11 jnigen 11107645529.11 30 Sep 2024 02:04PM UTC 22
91.53
GitHub Action Run
13 objective_c 11120380860.13 01 Oct 2024 07:15AM UTC 62
70.22
GitHub Action Run
13 ffigen 11116803584.13 01 Oct 2024 01:26AM UTC 61
91.94
GitHub Action Run
Source Files on build 11213684456
  • Tree
  • List 183
  • Changed 23
  • Source Changed 19
  • Coverage Changed 15
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #11213684456
  • d8a84ead on github
  • Prev Build on main (#11197291168)
  • Next Build on main (#11214140598)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc