diff --git a/.github/workflows/dart.yaml b/.github/workflows/dart.yaml index 904c7195c6..839d6f5f2c 100644 --- a/.github/workflows/dart.yaml +++ b/.github/workflows/dart.yaml @@ -22,6 +22,9 @@ jobs: os: [ubuntu, macos, windows] sdk: [stable, dev] package: [native_assets_builder, native_assets_cli, native_toolchain_c] + # Breaking changes temporarily break the example run on the Dart SDK until native_assets_builder is rolled into the Dart SDK dev build. + # TODO(https://github.com/dart-lang/native/issues/116): Set to false. + breaking-change: [true] exclude: # Only run analyze against dev on one host. - os: macos @@ -86,30 +89,21 @@ jobs: - run: dart test if: ${{ matrix.sdk == 'stable' }} - # This might temporarily break when doing breaking changes. - run: dart --enable-experiment=native-assets test working-directory: pkgs/${{ matrix.package }}/example/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }} - # This might temporarily break when doing breaking changes. - - run: dart --enable-experiment=native-assets test - working-directory: pkgs/${{ matrix.package }}/example/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' }} - - # This might temporarily break when doing breaking changes. - run: dart --enable-experiment=native-assets run working-directory: pkgs/${{ matrix.package }}/example/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }} - # This might temporarily break when doing breaking changes. - run: dart --enable-experiment=native-assets build bin/native_add_app.dart working-directory: pkgs/${{ matrix.package }}/example/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }} - # This might temporarily break when doing breaking changes. - run: ./native_add_app.exe working-directory: pkgs/${{ matrix.package }}/example/native_add_app/bin/native_add_app/ - if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' }} + if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }} - name: Install coverage run: dart pub global activate coverage diff --git a/pkgs/native_assets_builder/.gitignore b/pkgs/native_assets_builder/.gitignore index 58e48f35d3..9fa208dbcf 100644 --- a/pkgs/native_assets_builder/.gitignore +++ b/pkgs/native_assets_builder/.gitignore @@ -1,3 +1,5 @@ +# Please keep consistent with .pubignore. + # https://dart.dev/guides/libraries/private-files # Created by `dart pub` .dart_tool/ diff --git a/pkgs/native_assets_builder/.pubignore b/pkgs/native_assets_builder/.pubignore new file mode 100644 index 0000000000..1d80e790e4 --- /dev/null +++ b/pkgs/native_assets_builder/.pubignore @@ -0,0 +1,14 @@ +# Please keep consistent with .gitignore. + +# https://dart.dev/guides/libraries/private-files +# Created by `dart pub` +.dart_tool/ + +# Avoid committing pubspec.lock for library packages; see +# https://dart.dev/guides/libraries/private-files#pubspeclock. +pubspec.lock + +coverage/ + +# Woraround https://github.com/dart-lang/pub/issues/3982 +test/ diff --git a/pkgs/native_assets_builder/CHANGELOG.md b/pkgs/native_assets_builder/CHANGELOG.md index 5fac996e28..e5236f3be7 100644 --- a/pkgs/native_assets_builder/CHANGELOG.md +++ b/pkgs/native_assets_builder/CHANGELOG.md @@ -1,4 +1,4 @@ -## 0.2.0-wip +## 0.2.0 - **Breaking change** `NativeAssetsBuildRunner`s methods now return an object ([#105](https://github.com/dart-lang/native/issues/105)). diff --git a/pkgs/native_assets_builder/analysis_options.yaml b/pkgs/native_assets_builder/analysis_options.yaml index 2d557097c7..d6f62e0ce7 100644 --- a/pkgs/native_assets_builder/analysis_options.yaml +++ b/pkgs/native_assets_builder/analysis_options.yaml @@ -4,6 +4,9 @@ analyzer: language: strict-raw-types: true strict-inference: true + exclude: + # TODO(https://github.com/dart-lang/ecosystem/issues/150): Remove this. + - test/data/ linter: rules: diff --git a/pkgs/native_assets_builder/lib/src/build_runner/build_runner.dart b/pkgs/native_assets_builder/lib/src/build_runner/build_runner.dart index 63989e7be8..70a59a820a 100644 --- a/pkgs/native_assets_builder/lib/src/build_runner/build_runner.dart +++ b/pkgs/native_assets_builder/lib/src/build_runner/build_runner.dart @@ -371,7 +371,7 @@ build_output.yaml contained a format error. bool validateAssetsPackage(List assets, String packageName) { final invalidAssetIds = assets - .map((a) => a.name) + .map((a) => a.id) .where((n) => !n.startsWith('package:$packageName/')) .toSet() .toList() diff --git a/pkgs/native_assets_builder/pubspec.yaml b/pkgs/native_assets_builder/pubspec.yaml index 3748d3b54b..f68d044960 100644 --- a/pkgs/native_assets_builder/pubspec.yaml +++ b/pkgs/native_assets_builder/pubspec.yaml @@ -1,7 +1,7 @@ name: native_assets_builder description: >- This package is the backend that invokes top-level `build.dart` scripts. -version: 0.2.0-wip +version: 0.2.0 repository: https://github.com/dart-lang/native/tree/main/pkgs/native_assets_builder environment: @@ -10,7 +10,7 @@ environment: dependencies: graphs: ^2.3.1 logging: ^1.2.0 - native_assets_cli: ^0.1.0 + native_assets_cli: ^0.2.0 package_config: ^2.1.0 dev_dependencies: diff --git a/pkgs/native_assets_builder/test/build_runner/build_runner_dry_run_test.dart b/pkgs/native_assets_builder/test/build_runner/build_runner_dry_run_test.dart index aa18ec5cf2..be4f8174f4 100644 --- a/pkgs/native_assets_builder/test/build_runner/build_runner_dry_run_test.dart +++ b/pkgs/native_assets_builder/test/build_runner/build_runner_dry_run_test.dart @@ -35,7 +35,7 @@ void main() async { final dryRunAsset = dryRunAssets[0]; final buildAsset = result.assets[0]; expect(dryRunAsset.linkMode, buildAsset.linkMode); - expect(dryRunAsset.name, buildAsset.name); + expect(dryRunAsset.id, buildAsset.id); expect(dryRunAsset.target, buildAsset.target); // The target folders are different, so the paths are different. } diff --git a/pkgs/native_assets_builder/test/data/cyclic_package_1/pubspec.yaml b/pkgs/native_assets_builder/test/data/cyclic_package_1/pubspec.yaml index 92402a8f17..62e9e627cd 100644 --- a/pkgs/native_assets_builder/test/data/cyclic_package_1/pubspec.yaml +++ b/pkgs/native_assets_builder/test/data/cyclic_package_1/pubspec.yaml @@ -11,7 +11,7 @@ dependencies: cli_config: ^0.1.1 cyclic_package_2: path: ../cyclic_package_2 - native_assets_cli: ^0.1.0 + native_assets_cli: ^0.2.0 yaml: ^3.1.1 yaml_edit: ^2.1.0 diff --git a/pkgs/native_assets_builder/test/data/cyclic_package_2/pubspec.yaml b/pkgs/native_assets_builder/test/data/cyclic_package_2/pubspec.yaml index 41a7a2d1cb..102844e3a6 100644 --- a/pkgs/native_assets_builder/test/data/cyclic_package_2/pubspec.yaml +++ b/pkgs/native_assets_builder/test/data/cyclic_package_2/pubspec.yaml @@ -11,7 +11,7 @@ dependencies: cli_config: ^0.1.1 cyclic_package_1: path: ../cyclic_package_1 - native_assets_cli: ^0.1.0 + native_assets_cli: ^0.2.0 yaml: ^3.1.1 yaml_edit: ^2.1.0 diff --git a/pkgs/native_assets_builder/test/data/native_add/build.dart b/pkgs/native_assets_builder/test/data/native_add/build.dart index 1ae72ec399..69bbb9edeb 100644 --- a/pkgs/native_assets_builder/test/data/native_add/build.dart +++ b/pkgs/native_assets_builder/test/data/native_add/build.dart @@ -13,8 +13,7 @@ void main(List args) async { final buildOutput = BuildOutput(); final cbuilder = CBuilder.library( name: packageName, - assetName: - 'package:$packageName/src/${packageName}_bindings_generated.dart', + assetId: 'package:$packageName/src/${packageName}_bindings_generated.dart', sources: [ 'src/$packageName.c', ], diff --git a/pkgs/native_assets_builder/test/data/native_add/pubspec.yaml b/pkgs/native_assets_builder/test/data/native_add/pubspec.yaml index 21827215f2..bfdd48d2e0 100644 --- a/pkgs/native_assets_builder/test/data/native_add/pubspec.yaml +++ b/pkgs/native_assets_builder/test/data/native_add/pubspec.yaml @@ -10,8 +10,8 @@ environment: dependencies: cli_config: ^0.1.1 logging: ^1.1.1 - native_assets_cli: ^0.1.0 - native_toolchain_c: ^0.1.0 + native_assets_cli: ^0.2.0 + native_toolchain_c: ^0.2.0 dev_dependencies: ffigen: ^8.0.2 diff --git a/pkgs/native_assets_builder/test/data/native_add_add_source/build.dart b/pkgs/native_assets_builder/test/data/native_add_add_source/build.dart index b2008ac262..3fcb30e4b0 100644 --- a/pkgs/native_assets_builder/test/data/native_add_add_source/build.dart +++ b/pkgs/native_assets_builder/test/data/native_add_add_source/build.dart @@ -13,8 +13,7 @@ void main(List args) async { final buildOutput = BuildOutput(); final cbuilder = CBuilder.library( name: packageName, - assetName: - 'package:$packageName/src/${packageName}_bindings_generated.dart', + assetId: 'package:$packageName/src/${packageName}_bindings_generated.dart', sources: [ 'src/$packageName.c', 'src/native_multiply.c', diff --git a/pkgs/native_assets_builder/test/data/native_add_add_source/pubspec.yaml b/pkgs/native_assets_builder/test/data/native_add_add_source/pubspec.yaml index 21827215f2..bfdd48d2e0 100644 --- a/pkgs/native_assets_builder/test/data/native_add_add_source/pubspec.yaml +++ b/pkgs/native_assets_builder/test/data/native_add_add_source/pubspec.yaml @@ -10,8 +10,8 @@ environment: dependencies: cli_config: ^0.1.1 logging: ^1.1.1 - native_assets_cli: ^0.1.0 - native_toolchain_c: ^0.1.0 + native_assets_cli: ^0.2.0 + native_toolchain_c: ^0.2.0 dev_dependencies: ffigen: ^8.0.2 diff --git a/pkgs/native_assets_builder/test/data/native_subtract/build.dart b/pkgs/native_assets_builder/test/data/native_subtract/build.dart index 110c710812..66b62ea90f 100644 --- a/pkgs/native_assets_builder/test/data/native_subtract/build.dart +++ b/pkgs/native_assets_builder/test/data/native_subtract/build.dart @@ -13,8 +13,7 @@ void main(List args) async { final buildOutput = BuildOutput(); final cbuilder = CBuilder.library( name: packageName, - assetName: - 'package:$packageName/src/${packageName}_bindings_generated.dart', + assetId: 'package:$packageName/src/${packageName}_bindings_generated.dart', sources: [ 'src/$packageName.c', ], diff --git a/pkgs/native_assets_builder/test/data/native_subtract/pubspec.yaml b/pkgs/native_assets_builder/test/data/native_subtract/pubspec.yaml index bc17f001b8..c4a8d688de 100644 --- a/pkgs/native_assets_builder/test/data/native_subtract/pubspec.yaml +++ b/pkgs/native_assets_builder/test/data/native_subtract/pubspec.yaml @@ -10,8 +10,8 @@ environment: dependencies: cli_config: ^0.1.1 logging: ^1.1.1 - native_assets_cli: ^0.1.0 - native_toolchain_c: ^0.1.0 + native_assets_cli: ^0.2.0 + native_toolchain_c: ^0.2.0 dev_dependencies: ffigen: ^8.0.2 diff --git a/pkgs/native_assets_builder/test/data/package_reading_metadata/pubspec.yaml b/pkgs/native_assets_builder/test/data/package_reading_metadata/pubspec.yaml index 21f04e5413..c5c92667ab 100644 --- a/pkgs/native_assets_builder/test/data/package_reading_metadata/pubspec.yaml +++ b/pkgs/native_assets_builder/test/data/package_reading_metadata/pubspec.yaml @@ -9,7 +9,7 @@ environment: dependencies: cli_config: ^0.1.1 - native_assets_cli: ^0.1.0 + native_assets_cli: ^0.2.0 package_with_metadata: path: ../package_with_metadata/ yaml: ^3.1.1 diff --git a/pkgs/native_assets_builder/test/data/package_with_metadata/pubspec.yaml b/pkgs/native_assets_builder/test/data/package_with_metadata/pubspec.yaml index e84c146187..5791517230 100644 --- a/pkgs/native_assets_builder/test/data/package_with_metadata/pubspec.yaml +++ b/pkgs/native_assets_builder/test/data/package_with_metadata/pubspec.yaml @@ -9,7 +9,7 @@ environment: dependencies: cli_config: ^0.1.1 - native_assets_cli: ^0.1.0 + native_assets_cli: ^0.2.0 yaml: ^3.1.1 yaml_edit: ^2.1.0 diff --git a/pkgs/native_assets_builder/test/data/wrong_build_output/pubspec.yaml b/pkgs/native_assets_builder/test/data/wrong_build_output/pubspec.yaml index a7ae07945c..51671865a8 100644 --- a/pkgs/native_assets_builder/test/data/wrong_build_output/pubspec.yaml +++ b/pkgs/native_assets_builder/test/data/wrong_build_output/pubspec.yaml @@ -9,7 +9,7 @@ environment: dependencies: cli_config: ^0.1.1 - native_assets_cli: ^0.1.0 + native_assets_cli: ^0.2.0 yaml: ^3.1.1 yaml_edit: ^2.1.0 diff --git a/pkgs/native_assets_builder/test/data/wrong_build_output_2/pubspec.yaml b/pkgs/native_assets_builder/test/data/wrong_build_output_2/pubspec.yaml index 3cf9cc86db..7afbf34508 100644 --- a/pkgs/native_assets_builder/test/data/wrong_build_output_2/pubspec.yaml +++ b/pkgs/native_assets_builder/test/data/wrong_build_output_2/pubspec.yaml @@ -9,7 +9,7 @@ environment: dependencies: cli_config: ^0.1.1 - native_assets_cli: ^0.1.0 + native_assets_cli: ^0.2.0 yaml: ^3.1.1 yaml_edit: ^2.1.0 diff --git a/pkgs/native_assets_builder/test/data/wrong_build_output_3/pubspec.yaml b/pkgs/native_assets_builder/test/data/wrong_build_output_3/pubspec.yaml index 59362ac6d1..749a89ed2e 100644 --- a/pkgs/native_assets_builder/test/data/wrong_build_output_3/pubspec.yaml +++ b/pkgs/native_assets_builder/test/data/wrong_build_output_3/pubspec.yaml @@ -9,7 +9,7 @@ environment: dependencies: cli_config: ^0.1.1 - native_assets_cli: ^0.1.0 + native_assets_cli: ^0.2.0 yaml: ^3.1.1 yaml_edit: ^2.1.0 diff --git a/pkgs/native_assets_builder/test/data/wrong_namespace_asset/build.dart b/pkgs/native_assets_builder/test/data/wrong_namespace_asset/build.dart index 1770e73855..457aa902b8 100644 --- a/pkgs/native_assets_builder/test/data/wrong_namespace_asset/build.dart +++ b/pkgs/native_assets_builder/test/data/wrong_namespace_asset/build.dart @@ -9,7 +9,7 @@ void main(List args) async { final buildOutput = BuildOutput( assets: [ Asset( - name: 'package:other_package/foo', + id: 'package:other_package/foo', linkMode: LinkMode.dynamic, target: Target.current, path: AssetAbsolutePath( diff --git a/pkgs/native_assets_builder/test/data/wrong_namespace_asset/pubspec.yaml b/pkgs/native_assets_builder/test/data/wrong_namespace_asset/pubspec.yaml index b6550be092..5b255aba6e 100644 --- a/pkgs/native_assets_builder/test/data/wrong_namespace_asset/pubspec.yaml +++ b/pkgs/native_assets_builder/test/data/wrong_namespace_asset/pubspec.yaml @@ -9,7 +9,7 @@ environment: dependencies: cli_config: ^0.1.1 - native_assets_cli: ^0.1.0 + native_assets_cli: ^0.2.0 yaml: ^3.1.1 yaml_edit: ^2.1.0 diff --git a/pkgs/native_assets_cli/CHANGELOG.md b/pkgs/native_assets_cli/CHANGELOG.md index f8d90ea352..176d17f8c9 100644 --- a/pkgs/native_assets_cli/CHANGELOG.md +++ b/pkgs/native_assets_cli/CHANGELOG.md @@ -1,6 +1,6 @@ ## 0.2.0 -- *Breaking change* Rename `Asset.name` to `Asset.id` +- **Breaking change** Rename `Asset.name` to `Asset.id` ([#100](https://github.com/dart-lang/native/issues/100)). - Added topics. - Fixed metadata example. diff --git a/pkgs/native_assets_cli/example/native_add_library/build.dart b/pkgs/native_assets_cli/example/native_add_library/build.dart index 71557c08d0..61bcf8cc97 100644 --- a/pkgs/native_assets_cli/example/native_add_library/build.dart +++ b/pkgs/native_assets_cli/example/native_add_library/build.dart @@ -18,7 +18,7 @@ void main(List args) async { // Configure `package:native_toolchain_c` to build the C code for us. final cbuilder = CBuilder.library( name: packageName, - assetName: 'package:$packageName/${packageName}.dart', + assetId: 'package:$packageName/${packageName}.dart', sources: [ 'src/$packageName.c', ], diff --git a/pkgs/native_assets_cli/example/native_add_library/pubspec.yaml b/pkgs/native_assets_cli/example/native_add_library/pubspec.yaml index 31cfc8aa8c..9d3f670c56 100644 --- a/pkgs/native_assets_cli/example/native_add_library/pubspec.yaml +++ b/pkgs/native_assets_cli/example/native_add_library/pubspec.yaml @@ -11,8 +11,8 @@ environment: dependencies: cli_config: ^0.1.1 logging: ^1.1.1 - native_assets_cli: ^0.1.0 - native_toolchain_c: ^0.1.0 + native_assets_cli: ^0.2.0 + native_toolchain_c: ^0.2.0 dev_dependencies: ffigen: ^8.0.2 diff --git a/pkgs/native_assets_cli/lib/src/model/asset.dart b/pkgs/native_assets_cli/lib/src/model/asset.dart index bb9a19b3f0..616688f0b9 100644 --- a/pkgs/native_assets_cli/lib/src/model/asset.dart +++ b/pkgs/native_assets_cli/lib/src/model/asset.dart @@ -203,7 +203,7 @@ class Asset { }); factory Asset.fromYaml(YamlMap yamlMap) => Asset( - id: as(yamlMap[_idKey] ?? yamlMap[_nameKey]), + id: as(yamlMap[_idKey]), path: AssetPath.fromYaml(as(yamlMap[_pathKey])), target: Target.fromString(as(yamlMap[_targetKey])), linkMode: LinkMode.fromName(as(yamlMap[_linkModeKey])), @@ -266,9 +266,6 @@ class Asset { String toYamlString() => yamlEncode(toYaml()); static const _idKey = 'id'; - // TODO(https://github.com/dart-lang/native/issues/100): Remove name key when - // rolling dependencies in example. - static const _nameKey = 'name'; static const _linkModeKey = 'link_mode'; static const _pathKey = 'path'; static const _targetKey = 'target'; diff --git a/pkgs/native_toolchain_c/CHANGELOG.md b/pkgs/native_toolchain_c/CHANGELOG.md index aa1ceadd8b..2282ed68a6 100644 --- a/pkgs/native_toolchain_c/CHANGELOG.md +++ b/pkgs/native_toolchain_c/CHANGELOG.md @@ -1,8 +1,8 @@ ## 0.2.0 -- Added topics. -- *Breaking change* Rename `assetName` to `assetId` +- **Breaking change** Rename `assetName` to `assetId` ([#100](https://github.com/dart-lang/native/issues/100)). +- Added topics. ## 0.1.0