From 9d821f11443eaa4adb64adfe6b1b7b6dad0e644b Mon Sep 17 00:00:00 2001 From: Moritz Date: Fri, 28 Jun 2024 13:46:56 +0200 Subject: [PATCH] Add data asset test project (#1243) * Add data asset test project * Change description * Fix gitignore * Add readme * Rename to .txt * Use .debug instead * update manifest --- pkgs/native_assets_builder/CHANGELOG.md | 1 + .../test_data/manifest.yaml | 5 +++++ .../test_data/simple_data_asset/.gitignore | 4 ++++ .../test_data/simple_data_asset/README.md | 1 + .../simple_data_asset/asset/test_asset.txt | 1 + .../bin/simple_data_asset.dart.debug | 14 ++++++++++++++ .../simple_data_asset/hook/build.dart | 18 ++++++++++++++++++ .../test_data/simple_data_asset/pubspec.yaml | 18 ++++++++++++++++++ 8 files changed, 62 insertions(+) create mode 100644 pkgs/native_assets_builder/test_data/simple_data_asset/.gitignore create mode 100644 pkgs/native_assets_builder/test_data/simple_data_asset/README.md create mode 100644 pkgs/native_assets_builder/test_data/simple_data_asset/asset/test_asset.txt create mode 100644 pkgs/native_assets_builder/test_data/simple_data_asset/bin/simple_data_asset.dart.debug create mode 100644 pkgs/native_assets_builder/test_data/simple_data_asset/hook/build.dart create mode 100644 pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml diff --git a/pkgs/native_assets_builder/CHANGELOG.md b/pkgs/native_assets_builder/CHANGELOG.md index a5340cb98..d5c616723 100644 --- a/pkgs/native_assets_builder/CHANGELOG.md +++ b/pkgs/native_assets_builder/CHANGELOG.md @@ -2,6 +2,7 @@ - Use `HookConfig.targetIosSdk` and `HookConfig.targetMacosSdk` optional values, and add examples to fail builds based on this. +- Add data asset test project. ## 0.7.0 diff --git a/pkgs/native_assets_builder/test_data/manifest.yaml b/pkgs/native_assets_builder/test_data/manifest.yaml index 9ebb5b840..a44f5e005 100644 --- a/pkgs/native_assets_builder/test_data/manifest.yaml +++ b/pkgs/native_assets_builder/test_data/manifest.yaml @@ -84,6 +84,11 @@ - simple_link/hook/build.dart - simple_link/hook/link.dart - simple_link/pubspec.yaml +- simple_data_asset/pubspec.yaml +- simple_data_asset/asset/test_asset.txt +- simple_data_asset/README.md +- simple_data_asset/hook/build.dart +- simple_data_asset/bin/simple_data_asset.dart.debug - some_dev_dep/bin/some_dev_dep.dart - some_dev_dep/pubspec.yaml - wrong_build_output_2/hook/build.dart diff --git a/pkgs/native_assets_builder/test_data/simple_data_asset/.gitignore b/pkgs/native_assets_builder/test_data/simple_data_asset/.gitignore new file mode 100644 index 000000000..7a1f811be --- /dev/null +++ b/pkgs/native_assets_builder/test_data/simple_data_asset/.gitignore @@ -0,0 +1,4 @@ +# https://dart.dev/guides/libraries/private-files +# Created by `dart pub` +.dart_tool/ +bin/simple_data_asset/ diff --git a/pkgs/native_assets_builder/test_data/simple_data_asset/README.md b/pkgs/native_assets_builder/test_data/simple_data_asset/README.md new file mode 100644 index 000000000..1bfa96ae2 --- /dev/null +++ b/pkgs/native_assets_builder/test_data/simple_data_asset/README.md @@ -0,0 +1 @@ +This sample adds and retrieves a data asset. \ No newline at end of file diff --git a/pkgs/native_assets_builder/test_data/simple_data_asset/asset/test_asset.txt b/pkgs/native_assets_builder/test_data/simple_data_asset/asset/test_asset.txt new file mode 100644 index 000000000..e5b8f9cec --- /dev/null +++ b/pkgs/native_assets_builder/test_data/simple_data_asset/asset/test_asset.txt @@ -0,0 +1 @@ +World! \ No newline at end of file diff --git a/pkgs/native_assets_builder/test_data/simple_data_asset/bin/simple_data_asset.dart.debug b/pkgs/native_assets_builder/test_data/simple_data_asset/bin/simple_data_asset.dart.debug new file mode 100644 index 000000000..070e49cc6 --- /dev/null +++ b/pkgs/native_assets_builder/test_data/simple_data_asset/bin/simple_data_asset.dart.debug @@ -0,0 +1,14 @@ +// 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. +import 'dart:asset'; + +Future main(List args) async { + print('Hello ${await getWorld()}'); +} + +Future getWorld() async { + const asset = ByteAsset('package:simple_data_asset/assetId'); + final byteBuffer = await asset.load(); + return String.fromCharCodes(byteBuffer.asUint8List()); +} diff --git a/pkgs/native_assets_builder/test_data/simple_data_asset/hook/build.dart b/pkgs/native_assets_builder/test_data/simple_data_asset/hook/build.dart new file mode 100644 index 000000000..7ab8199c1 --- /dev/null +++ b/pkgs/native_assets_builder/test_data/simple_data_asset/hook/build.dart @@ -0,0 +1,18 @@ +// 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. +import 'package:native_assets_cli/native_assets_cli.dart'; + +void main(List args) => build( + args, + (config, output) async { + output.addAsset( + DataAsset( + package: config.packageName, + name: 'assetId', + file: config.packageRoot.resolve('asset/test_asset.txt'), + ), + ); + output.addDependency(config.packageRoot.resolve('hook/build.dart')); + }, + ); diff --git a/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml b/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml new file mode 100644 index 000000000..e4a6759dc --- /dev/null +++ b/pkgs/native_assets_builder/test_data/simple_data_asset/pubspec.yaml @@ -0,0 +1,18 @@ +name: simple_data_asset +description: Add and retrieve a data asset. +version: 1.0.0 + +publish_to: none + +environment: + sdk: ^3.0.0 + +dependencies: + logging: ^1.1.1 + # native_assets_cli: ^0.6.0 + native_assets_cli: + path: ../../../native_assets_cli/ + +dev_dependencies: + lints: ^3.0.0 + test: ^1.24.0