Skip to content

Commit 4ddcc0c

Browse files
committed
[infra] Create a pub workspace
1 parent 4928765 commit 4ddcc0c

File tree

61 files changed

+211
-121
lines changed

Some content is hidden

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

61 files changed

+211
-121
lines changed

.github/workflows/native.yaml

+24-111
Original file line numberDiff line numberDiff line change
@@ -57,104 +57,12 @@ jobs:
5757

5858
- run: dart pub get
5959

60-
- run: dart pub get -C test_data/dart_app/
61-
if: ${{ matrix.package == 'native_assets_builder' }}
62-
63-
- run: dart pub get -C test_data/native_add/
64-
if: ${{ matrix.package == 'native_assets_builder' }}
65-
66-
- run: dart pub get -C test_data/native_add_duplicate/
67-
if: ${{ matrix.package == 'native_assets_builder' }}
68-
69-
- run: dart pub get -C test_data/native_add_add_source/
70-
if: ${{ matrix.package == 'native_assets_builder' }}
71-
7260
- run: dart pub get -C test_data/native_add_version_skew/
7361
if: ${{ matrix.package == 'native_assets_builder' }}
7462

7563
- run: dart pub get -C test_data/native_add_version_skew_2/
7664
if: ${{ matrix.package == 'native_assets_builder' }}
7765

78-
- run: dart pub get -C test_data/native_subtract/
79-
if: ${{ matrix.package == 'native_assets_builder' }}
80-
81-
- run: dart pub get -C test_data/package_reading_metadata/
82-
if: ${{ matrix.package == 'native_assets_builder' }}
83-
84-
- run: dart pub get -C test_data/package_with_metadata/
85-
if: ${{ matrix.package == 'native_assets_builder' }}
86-
87-
- run: dart pub get -C test_data/simple_link/
88-
if: ${{ matrix.package == 'native_assets_builder' }}
89-
90-
- run: dart pub get -C test_data/complex_link/
91-
if: ${{ matrix.package == 'native_assets_builder' }}
92-
93-
- run: dart pub get -C test_data/complex_link_helper/
94-
if: ${{ matrix.package == 'native_assets_builder' }}
95-
96-
- run: dart pub get -C test_data/drop_dylib_link/
97-
if: ${{ matrix.package == 'native_assets_builder' }}
98-
99-
- run: dart pub get -C test_data/add_asset_link/
100-
if: ${{ matrix.package == 'native_assets_builder' }}
101-
102-
- run: dart pub get -C test_data/transformer/
103-
if: ${{ matrix.package == 'native_assets_builder' }}
104-
105-
- run: dart pub get -C test_data/treeshaking_native_libs/
106-
if: ${{ matrix.package == 'native_assets_builder' }}
107-
108-
- run: dart pub get -C test_data/native_dynamic_linking/
109-
if: ${{ matrix.package == 'native_assets_builder' }}
110-
111-
- run: dart pub get -C test_data/reusable_dynamic_library/
112-
if: ${{ matrix.package == 'native_assets_builder' }}
113-
114-
- run: dart pub get -C test_data/reuse_dynamic_library/
115-
if: ${{ matrix.package == 'native_assets_builder' }}
116-
117-
- run: dart pub get -C test_data/user_defines/
118-
if: ${{ matrix.package == 'native_assets_builder' }}
119-
120-
- run: dart pub get -C test_data/no_hook/
121-
if: ${{ matrix.package == 'native_assets_builder' }}
122-
123-
- run: dart pub get -C example/build/download_asset/
124-
if: ${{ matrix.package == 'native_assets_cli' }}
125-
126-
- run: dart pub get -C example/build/native_dynamic_linking/
127-
if: ${{ matrix.package == 'native_assets_cli' }}
128-
129-
- run: dart pub get -C example/build/native_add_app/
130-
if: ${{ matrix.package == 'native_assets_cli' }}
131-
132-
- run: dart pub get -C example/build/native_add_library/
133-
if: ${{ matrix.package == 'native_assets_cli' }}
134-
135-
- run: dart pub get -C example/build/use_dart_api/
136-
if: ${{ matrix.package == 'native_assets_cli' }}
137-
138-
- run: dart pub get -C example/build/system_library/
139-
if: ${{ matrix.package == 'native_assets_cli' }}
140-
141-
- run: dart pub get -C example/link/package_with_assets/
142-
if: ${{ matrix.package == 'native_assets_cli' }}
143-
144-
- run: dart pub get -C example/link/app_with_asset_treeshaking/
145-
if: ${{ matrix.package == 'native_assets_cli' }}
146-
- run: dart pub get -C test_data/fail_build/
147-
if: ${{ matrix.package == 'native_assets_builder' }}
148-
149-
- run: dart pub get -C test_data/depend_on_fail_build/
150-
if: ${{ matrix.package == 'native_assets_builder' }}
151-
152-
- run: dart pub get -C test_data/depend_on_fail_build_app/
153-
if: ${{ matrix.package == 'native_assets_builder' }}
154-
155-
- run: dart pub get -C test_data/system_library/
156-
if: ${{ matrix.package == 'native_assets_builder' }}
157-
15866
- run: dart analyze --fatal-infos
15967
# Run on dev to ensure we're not depending on deprecated SDK things.
16068

@@ -166,16 +74,18 @@ jobs:
16674

16775
- run: dart test
16876

169-
- run: dart --enable-experiment=native-assets test
170-
working-directory: pkgs/${{ matrix.package }}/example/build/native_dynamic_linking/
171-
# TODO(https://github.com/dart-lang/native/issues/190): Enable on windows once
172-
# https://github.com/dart-lang/sdk/commit/903eea6bfb8ee405587f0866a1d1e92eea45d29e
173-
# has landed in dev channel.
174-
if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change && matrix.os != 'windows' }}
77+
# TODO(https://github.com/dart-lang/sdk/issues/60489): Fix `dart test` with workspaces
78+
# - run: dart --enable-experiment=native-assets test
79+
# working-directory: pkgs/${{ matrix.package }}/example/build/native_dynamic_linking/
80+
# # TODO(https://github.com/dart-lang/native/issues/190): Enable on windows once
81+
# # https://github.com/dart-lang/sdk/commit/903eea6bfb8ee405587f0866a1d1e92eea45d29e
82+
# # has landed in dev channel.
83+
# if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change && matrix.os != 'windows' }}
17584

176-
- run: dart --enable-experiment=native-assets test
177-
working-directory: pkgs/${{ matrix.package }}/example/build/native_add_app/
178-
if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }}
85+
# TODO(https://github.com/dart-lang/sdk/issues/60489): Fix `dart test` with workspaces
86+
# - run: dart --enable-experiment=native-assets test
87+
# working-directory: pkgs/${{ matrix.package }}/example/build/native_add_app/
88+
# if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }}
17989

18090
- run: dart --enable-experiment=native-assets run
18191
working-directory: pkgs/${{ matrix.package }}/example/build/native_add_app/
@@ -189,17 +99,20 @@ jobs:
18999
working-directory: pkgs/${{ matrix.package }}/example/build/native_add_app/bin/native_add_app/
190100
if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }}
191101

192-
- run: dart --enable-experiment=native-assets test
193-
working-directory: pkgs/${{ matrix.package }}/example/build/use_dart_api/
194-
if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }}
102+
# TODO(https://github.com/dart-lang/sdk/issues/60489): Fix `dart test` with workspaces
103+
# - run: dart --enable-experiment=native-assets test
104+
# working-directory: pkgs/${{ matrix.package }}/example/build/use_dart_api/
105+
# if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }}
195106

196-
- run: dart --enable-experiment=native-assets test
197-
working-directory: pkgs/${{ matrix.package }}/example/build/download_asset/
198-
if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }}
199-
200-
- run: dart --enable-experiment=native-assets test
201-
working-directory: pkgs/${{ matrix.package }}/example/build/system_library/
202-
if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }}
107+
# TODO(https://github.com/dart-lang/sdk/issues/60489): Fix `dart test` with workspaces
108+
# - run: dart --enable-experiment=native-assets test
109+
# working-directory: pkgs/${{ matrix.package }}/example/build/download_asset/
110+
# if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }}
111+
112+
# TODO(https://github.com/dart-lang/sdk/issues/60489): Fix `dart test` with workspaces
113+
# - run: dart --enable-experiment=native-assets test
114+
# working-directory: pkgs/${{ matrix.package }}/example/build/system_library/
115+
# if: ${{ matrix.package == 'native_assets_cli' && matrix.sdk == 'dev' && !matrix.breaking-change }}
203116

204117
- name: Install coverage
205118
run: dart pub global activate coverage

pkgs/code_assets/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ description: >-
88
99
publish_to: none
1010

11+
resolution: workspace
12+
1113
environment:
1214
sdk: '>=3.7.0 <4.0.0'
1315

pkgs/data_assets/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ description: >-
88
99
publish_to: none
1010

11+
resolution: workspace
12+
1113
environment:
1214
sdk: '>=3.7.0 <4.0.0'
1315

pkgs/hooks/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ repository: https://github.com/dart-lang/native/tree/main/pkgs/hooks
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/json_syntax_generator/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ description: |
99
1010
publish_to: none
1111

12+
resolution: workspace
13+
1214
environment:
1315
sdk: '>=3.7.0 <4.0.0'
1416

pkgs/native_assets_builder/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ repository: https://github.com/dart-lang/native/tree/main/pkgs/native_assets_bui
66

77
publish_to: none
88

9+
resolution: workspace
10+
911
environment:
1012
sdk: '>=3.7.0 <4.0.0'
1113

pkgs/native_assets_builder/test/helpers.dart

+6-4
Original file line numberDiff line numberDiff line change
@@ -278,10 +278,12 @@ Future<void> copyTestProjects({Uri? sourceUri, required Uri targetUri}) async {
278278
final sourceFile = File.fromUri(sourceUri.resolveUri(pathToModify));
279279
final targetFileUri = targetUri.resolveUri(pathToModify);
280280
final sourceString = await sourceFile.readAsString();
281-
final modifiedString = sourceString.replaceAll(
282-
'path: ../../',
283-
'path: ${pkgNativeAssetsBuilderUri.toFilePath().unescape()}',
284-
);
281+
final modifiedString = sourceString
282+
.replaceAll(
283+
'path: ../../',
284+
'path: ${pkgNativeAssetsBuilderUri.toFilePath().unescape()}',
285+
)
286+
.replaceAll('resolution: workspace', '');
285287
await File.fromUri(
286288
targetFileUri,
287289
).writeAsString(modifiedString, flush: true);

pkgs/native_assets_builder/test_data/add_asset_link/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/native_assets_builder/test_data/complex_link/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/native_assets_builder/test_data/complex_link_helper/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/native_assets_builder/test_data/cyclic_package_1/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/native_assets_builder/test_data/cyclic_package_2/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/native_assets_builder/test_data/dart_app/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ name: dart_app
22

33
publish_to: none
44

5+
resolution: workspace
6+
57
environment:
68
sdk: '>=3.7.0 <4.0.0'
79

pkgs/native_assets_builder/test_data/depend_on_fail_build/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/native_assets_builder/test_data/depend_on_fail_build_app/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/native_assets_builder/test_data/drop_dylib_link/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/native_assets_builder/test_data/fail_build/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/native_assets_builder/test_data/fail_on_os_sdk_version/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_link/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/native_assets_builder/test_data/fail_on_os_sdk_version_linker/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/native_assets_builder/test_data/manifest_generator.dart

+8
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ const denyList = [
2020
];
2121

2222
/// These just modify other test projects.
23+
///
24+
/// Don't add pubspecs to manifests, they contain a different name due to all
25+
/// being part of a big workspace. They have a pubspec to enable analysis of
26+
/// the Dart code in them.
2327
const partialProjects = [
2428
'native_add_add_source',
2529
'native_add_add_symbol',
@@ -42,9 +46,13 @@ void updateManifest(Directory directory, bool allowPartialProjects) {
4246
for (final denyString in [
4347
...denyList,
4448
if (!allowPartialProjects) ...partialProjects,
49+
for (final partialProject in partialProjects) ...[
50+
'$partialProject/pubspec.yaml',
51+
],
4552
]) {
4653
if (f.path.contains(denyString)) return false;
4754
}
55+
4856
return true;
4957
})
5058
.map((e) => e.path.replaceFirst(dirPath, ''))

pkgs/native_assets_builder/test_data/native_add/pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

pkgs/native_assets_builder/test_data/native_add_add_source/manifest.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,5 @@
22
# a completely clean setup.
33
# Automatically generated by manifest_generator.dart.
44
- hook/build.dart
5-
- pubspec.yaml
65
- src/native_multiply.c
76
- src/native_multiply.h

pkgs/native_assets_builder/test_data/native_add_add_source/pubspec.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
name: native_add
1+
name: native_add_source
22
description: Sums two numbers with native code.
33
version: 0.1.0
44

55
publish_to: none
66

7+
resolution: workspace
8+
79
environment:
810
sdk: '>=3.7.0 <4.0.0'
911

0 commit comments

Comments
 (0)