Skip to content

Commit bff5f1c

Browse files
committed
Merge branch 'main' into release_ui
2 parents 043a224 + 8b260e6 commit bff5f1c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+311
-800
lines changed

.github/workflows/native.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,6 @@ jobs:
6666
- run: dart pub get -C test_data/native_add_duplicate/
6767
if: ${{ matrix.package == 'native_assets_builder' }}
6868

69-
- run: dart pub get -C test_data/native_add_v1_0_0/
70-
if: ${{ matrix.package == 'native_assets_builder' }}
71-
7269
- run: dart pub get -C test_data/native_add_add_source/
7370
if: ${{ matrix.package == 'native_assets_builder' }}
7471

pkgs/native_assets_builder/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44
hooks to prevent concurrency issues with shared output caching.
55
- Fix test packages with RecordUse annotations
66
[#1586](https://github.com/dart-lang/native/issues/1586).
7+
- Update SDK constraint to 3.5.0+
8+
- Rename the environment variables we use to communicate CCompilerConfig from
9+
Dart CI test runner to the `package:native_assets_builder` for testing the
10+
dart-lang/native repository to make it clear those are not intended to be used
11+
by end-users.
712

813
## 0.8.3
914

pkgs/native_assets_builder/lib/src/build_runner/build_runner.dart

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,43 @@ class NativeAssetsBuildRunner {
158158
assert(hook == Hook.link || buildResult == null);
159159
assert(hook == Hook.build || linkingEnabled == null);
160160

161+
// Specifically for running our tests on Dart CI with the test runner, we
162+
// recognize specific variables to setup the C Compiler configuration.
163+
if (cCompilerConfig == null) {
164+
String? unparseKey(String key) =>
165+
'DART_HOOK_TESTING_${key.replaceAll('.', '__').toUpperCase()}';
166+
167+
final env = Platform.environment;
168+
String? lookup(String key) => env[unparseKey(key)];
169+
170+
final cc = lookup(CCompilerConfigImpl.ccConfigKeyFull);
171+
final ar = lookup(CCompilerConfigImpl.arConfigKeyFull);
172+
final ld = lookup(CCompilerConfigImpl.ldConfigKeyFull);
173+
final envScript = lookup(CCompilerConfigImpl.envScriptConfigKeyFull);
174+
final envScriptArgs =
175+
lookup(CCompilerConfigImpl.envScriptArgsConfigKeyFull)
176+
?.split(' ')
177+
.map((arg) => arg.trim())
178+
.where((arg) => arg.isNotEmpty)
179+
.toList();
180+
final hasEnvScriptArgs =
181+
envScriptArgs != null && envScriptArgs.isNotEmpty;
182+
183+
if (cc != null ||
184+
ar != null ||
185+
ld != null ||
186+
envScript != null ||
187+
hasEnvScriptArgs) {
188+
cCompilerConfig = CCompilerConfigImpl(
189+
archiver: ar != null ? Uri.file(ar) : null,
190+
compiler: cc != null ? Uri.file(cc) : null,
191+
envScript: envScript != null ? Uri.file(envScript) : null,
192+
envScriptArgs: hasEnvScriptArgs ? envScriptArgs : null,
193+
linker: ld != null ? Uri.file(ld) : null,
194+
);
195+
}
196+
}
197+
161198
packageLayout ??= await PackageLayout.fromRootPackageRoot(workingDirectory);
162199
final (buildPlan, packageGraph, planSuccess) = await _makePlan(
163200
hook: hook,
@@ -624,9 +661,6 @@ ${result.stdout}
624661

625662
try {
626663
final output = HookOutputImpl.readFromFile(file: config.outputFile) ??
627-
(config.outputFileV1_1_0 == null
628-
? null
629-
: HookOutputImpl.readFromFile(file: config.outputFileV1_1_0!)) ??
630664
HookOutputImpl();
631665

632666
final validateResult = await validate(

pkgs/native_assets_builder/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ repository: https://github.com/dart-lang/native/tree/main/pkgs/native_assets_bui
77
publish_to: none
88

99
environment:
10-
sdk: '>=3.3.0 <4.0.0'
10+
sdk: '>=3.5.0 <4.0.0'
1111

1212
dependencies:
1313
collection: ^1.18.0

pkgs/native_assets_builder/test/build_runner/build_runner_run_in_isolation_test.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ import 'helpers.dart';
1313
const Timeout longTimeout = Timeout(Duration(minutes: 5));
1414

1515
void main() async {
16-
String unparseKey(String key) => key.replaceAll('.', '__').toUpperCase();
16+
String unparseKey(String key) =>
17+
'DART_HOOK_TESTING_${key.replaceAll('.', '__').toUpperCase()}';
18+
1719
final arKey = unparseKey(CCompilerConfigImpl.arConfigKeyFull);
1820
final ccKey = unparseKey(CCompilerConfigImpl.ccConfigKeyFull);
1921
final ldKey = unparseKey(CCompilerConfigImpl.ldConfigKeyFull);

pkgs/native_assets_builder/test/build_runner/v1_0_0_test.dart

Lines changed: 0 additions & 34 deletions
This file was deleted.

pkgs/native_assets_builder/test/helpers.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,8 @@ final pkgNativeAssetsBuilderUri = findPackageRoot('native_assets_builder');
123123

124124
final testDataUri = pkgNativeAssetsBuilderUri.resolve('test_data/');
125125

126-
String unparseKey(String key) => key.replaceAll('.', '__').toUpperCase();
126+
String unparseKey(String key) =>
127+
'DART_HOOK_TESTING_${key.replaceAll('.', '__').toUpperCase()}';
127128

128129
/// Archiver provided by the environment.
129130
///

pkgs/native_assets_builder/test_data/manifest.yaml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,6 @@
4646
- fail_on_os_sdk_version_linker/pubspec.yaml
4747
- fail_on_os_sdk_version/hook/build.dart
4848
- fail_on_os_sdk_version/pubspec.yaml
49-
- native_add_v1_0_0/build.dart
50-
- native_add_v1_0_0/ffigen.yaml
51-
- native_add_v1_0_0/lib/native_add.dart
52-
- native_add_v1_0_0/lib/src/native_add_bindings_generated.dart
53-
- native_add_v1_0_0/lib/src/native_add.dart
54-
- native_add_v1_0_0/pubspec.yaml
55-
- native_add_v1_0_0/src/native_add.c
56-
- native_add_v1_0_0/src/native_add.h
5749
- native_add/ffigen.yaml
5850
- native_add/hook/build.dart
5951
- native_add/lib/native_add.dart

pkgs/native_assets_builder/test_data/native_add_v1_0_0/build.dart

Lines changed: 0 additions & 32 deletions
This file was deleted.

pkgs/native_assets_builder/test_data/native_add_v1_0_0/ffigen.yaml

Lines changed: 0 additions & 20 deletions
This file was deleted.

pkgs/native_assets_builder/test_data/native_add_v1_0_0/lib/native_add.dart

Lines changed: 0 additions & 5 deletions
This file was deleted.

pkgs/native_assets_builder/test_data/native_add_v1_0_0/lib/src/native_add.dart

Lines changed: 0 additions & 7 deletions
This file was deleted.

pkgs/native_assets_builder/test_data/native_add_v1_0_0/lib/src/native_add_bindings_generated.dart

Lines changed: 0 additions & 15 deletions
This file was deleted.

pkgs/native_assets_builder/test_data/native_add_v1_0_0/manifest.yaml

Lines changed: 0 additions & 8 deletions
This file was deleted.

pkgs/native_assets_builder/test_data/native_add_v1_0_0/pubspec.yaml

Lines changed: 0 additions & 20 deletions
This file was deleted.

pkgs/native_assets_builder/test_data/native_add_v1_0_0/src/native_add.c

Lines changed: 0 additions & 9 deletions
This file was deleted.

pkgs/native_assets_builder/test_data/native_add_v1_0_0/src/native_add.h

Lines changed: 0 additions & 13 deletions
This file was deleted.

pkgs/native_assets_cli/CHANGELOG.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,22 @@
1-
## 0.8.1-wip
1+
## 0.9.0-wip
22

33
- Add `BuildConfig` and `LinkConfig` `outputDirectoryShared`.
44
- Remove `package:native_assets_cli/locking.dart` with `runUnderDirectoryLock`.
55
Hook writers should not use this, the `native_assets_builder` does this.
66
- Fix example packages with RecordUse annotations
77
[#1586](https://github.com/dart-lang/native/issues/1586).
8+
- Remove v1.0 / v1.1 related serialization
9+
- Update SDK constraint to 3.5.0+
10+
- Remove (deprecated) support for accepting yaml as config
11+
- Remove usage of `package:cli_config` and `package:args`: it minimizes
12+
dependencies and it simplifies logic any hook has to do (as it no longer has
13+
to look into environment variables, arguments and json file, determine which
14+
has presence over other, etc)
15+
- Use `DART_HOOK_TESTING` prefix for environment variables used for testing on
16+
Dart CI
17+
- No longer try to resolve uris encoded in `config.json` against any base uri.
18+
The `hook/{build,link}.dart` invoker has to ensure the uris it encodes can be
19+
opened as-is (i.e. without resolving against any base uri)
820

921
## 0.8.0
1022

pkgs/native_assets_cli/example/link/package_with_assets/hook/link.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ extension on LinkConfig {
3030
RecordedUsages get usages {
3131
final usagesFile = recordedUsagesFile;
3232
final usagesContent = File.fromUri(usagesFile!).readAsStringSync();
33-
final usagesJson = jsonDecode(usagesContent) as Map<String, dynamic>;
33+
final usagesJson = jsonDecode(usagesContent) as Map<String, Object?>;
3434
final usages = RecordedUsages.fromJson(usagesJson);
3535
return usages;
3636
}

pkgs/native_assets_cli/lib/src/api/asset.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import 'package:pub_semver/pub_semver.dart';
66

7-
import '../model/target.dart';
87
import '../utils/json.dart';
98
import '../utils/map.dart';
109
import 'architecture.dart';

pkgs/native_assets_cli/lib/src/api/build_config.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
// for details. All rights reserved. Use of this source code is governed by a
33
// BSD-style license that can be found in the LICENSE file.
44

5+
import 'dart:convert';
56
import 'dart:io';
67

7-
import 'package:cli_config/cli_config.dart';
88
import 'package:collection/collection.dart';
99
import 'package:pub_semver/pub_semver.dart';
1010

11+
import '../args_parser.dart';
12+
import '../json_utils.dart';
1113
import '../model/hook.dart';
1214
import '../model/metadata.dart';
1315
import '../utils/json.dart';

pkgs/native_assets_cli/lib/src/api/build_output.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import 'dart:io';
77

88
import 'package:collection/collection.dart';
99
import 'package:pub_semver/pub_semver.dart';
10-
import 'package:yaml/yaml.dart' show loadYaml;
1110

1211
import '../model/dependencies.dart';
1312
import '../model/metadata.dart';

pkgs/native_assets_cli/lib/src/api/hook_config.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
import 'dart:convert';
66
import 'dart:io';
77

8-
import 'package:cli_config/cli_config.dart';
98
import 'package:collection/collection.dart';
109
import 'package:crypto/crypto.dart';
1110
import 'package:pub_semver/pub_semver.dart';
1211

12+
import '../json_utils.dart';
1313
import '../model/hook.dart';
1414
import '../model/metadata.dart';
1515
import '../model/target.dart';
@@ -22,7 +22,6 @@ import 'ios_sdk.dart';
2222
import 'link_config.dart';
2323
import 'link_mode_preference.dart';
2424
import 'os.dart';
25-
2625
part '../model/hook_config.dart';
2726

2827
/// The shared properties of a [LinkConfig] and a [BuildConfig].

pkgs/native_assets_cli/lib/src/api/link_config.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
import 'dart:convert';
55
import 'dart:io';
66

7-
import 'package:args/args.dart';
8-
import 'package:cli_config/cli_config.dart';
97
import 'package:collection/collection.dart';
108
import 'package:meta/meta.dart';
119
import 'package:pub_semver/pub_semver.dart';
1210

11+
import '../args_parser.dart';
12+
import '../json_utils.dart';
1313
import '../model/hook.dart';
1414
import '../utils/map.dart';
1515
import 'architecture.dart';

0 commit comments

Comments
 (0)