Skip to content

Commit efb5987

Browse files
authored
[native_assets_cli] Nest Asset encodings (#2137)
1 parent af29d98 commit efb5987

34 files changed

+816
-182
lines changed

pkgs/code_assets/doc/schema/shared/shared_definitions.schema.json

Lines changed: 66 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -55,55 +55,16 @@
5555
},
5656
"then": {
5757
"properties": {
58-
"architecture": {
59-
"allOf": [
60-
{
61-
"$ref": "#/definitions/Architecture"
62-
}
63-
]
64-
},
65-
"file": {
66-
"$ref": "../../../../hooks/doc/schema/shared/shared_definitions.schema.json#/definitions/absolutePath"
67-
},
68-
"id": {
69-
"type": "string"
70-
},
71-
"link_mode": {
72-
"$ref": "#/definitions/LinkMode"
73-
},
74-
"os": {
75-
"$ref": "#/definitions/OS"
58+
"encoding": {
59+
"$ref": "#/definitions/NativeCodeAssetEncoding"
7660
}
7761
},
78-
"required": [
79-
"architecture",
80-
"id",
81-
"link_mode",
82-
"os"
83-
],
84-
"if": {
85-
"properties": {
86-
"link_mode": {
87-
"properties": {
88-
"type": {
89-
"anyOf": [
90-
{
91-
"const": "dynamic_loading_bundle"
92-
},
93-
{
94-
"const": "static"
95-
}
96-
]
97-
}
98-
}
99-
}
62+
"allOf": [
63+
{
64+
"$comment": "Also include the fields parent object for backwards compatibility.",
65+
"$ref": "#/definitions/NativeCodeAssetEncoding"
10066
}
101-
},
102-
"then": {
103-
"required": [
104-
"file"
105-
]
106-
}
67+
]
10768
}
10869
},
10970
"CCompilerConfig": {
@@ -192,13 +153,13 @@
192153
"if": {
193154
"properties": {
194155
"target_os": {
195-
"const": "macos"
156+
"const": "android"
196157
}
197158
}
198159
},
199160
"then": {
200161
"required": [
201-
"macos"
162+
"android"
202163
]
203164
}
204165
},
@@ -220,13 +181,13 @@
220181
"if": {
221182
"properties": {
222183
"target_os": {
223-
"const": "android"
184+
"const": "macos"
224185
}
225186
}
226187
},
227188
"then": {
228189
"required": [
229-
"android"
190+
"macos"
230191
]
231192
}
232193
},
@@ -332,10 +293,10 @@
332293
{
333294
"enum": [
334295
"dynamic",
335-
"prefer_dynamic",
336296
"prefer-dynamic",
337-
"prefer_static",
338297
"prefer-static",
298+
"prefer_dynamic",
299+
"prefer_static",
339300
"static"
340301
]
341302
},
@@ -355,6 +316,59 @@
355316
"target_version"
356317
]
357318
},
319+
"NativeCodeAssetEncoding": {
320+
"type": "object",
321+
"properties": {
322+
"architecture": {
323+
"allOf": [
324+
{
325+
"$ref": "#/definitions/Architecture"
326+
}
327+
]
328+
},
329+
"file": {
330+
"$ref": "../../../../hooks/doc/schema/shared/shared_definitions.schema.json#/definitions/absolutePath"
331+
},
332+
"id": {
333+
"type": "string"
334+
},
335+
"link_mode": {
336+
"$ref": "#/definitions/LinkMode"
337+
},
338+
"os": {
339+
"$ref": "#/definitions/OS"
340+
}
341+
},
342+
"required": [
343+
"architecture",
344+
"id",
345+
"link_mode",
346+
"os"
347+
],
348+
"if": {
349+
"properties": {
350+
"link_mode": {
351+
"properties": {
352+
"type": {
353+
"anyOf": [
354+
{
355+
"const": "dynamic_loading_bundle"
356+
},
357+
{
358+
"const": "static"
359+
}
360+
]
361+
}
362+
}
363+
}
364+
}
365+
},
366+
"then": {
367+
"required": [
368+
"file"
369+
]
370+
}
371+
},
358372
"OS": {
359373
"type": "string",
360374
"anyOf": [

pkgs/code_assets/test/data/build_output_android.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,15 @@
33
"assets": [
44
{
55
"architecture": "arm",
6+
"encoding": {
7+
"architecture": "arm",
8+
"file": "/Users/dacoharkes/src/dacoharkes/playground/my_package/example/.dart_tool/native_assets_builder/my_package/c540d75d10834674921701cd6c3c7c15/out/libmy_package.so",
9+
"id": "package:my_package/my_package_bindings_generated.dart",
10+
"link_mode": {
11+
"type": "dynamic_loading_bundle"
12+
},
13+
"os": "android"
14+
},
615
"file": "/Users/dacoharkes/src/dacoharkes/playground/my_package/example/.dart_tool/native_assets_builder/my_package/c540d75d10834674921701cd6c3c7c15/out/libmy_package.so",
716
"id": "package:my_package/my_package_bindings_generated.dart",
817
"link_mode": {

pkgs/code_assets/test/data/build_output_linux.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,15 @@
33
"assets": [
44
{
55
"architecture": "x64",
6+
"encoding": {
7+
"architecture": "x64",
8+
"file": "/usr/local/google/home/dacoharkes/src/dacoharkes/playground/my_package/example/.dart_tool/native_assets_builder/my_package/79cc7fbaec53b1465c3e388e6848234b/out/libmy_package.so",
9+
"id": "package:my_package/my_package_bindings_generated.dart",
10+
"link_mode": {
11+
"type": "dynamic_loading_bundle"
12+
},
13+
"os": "linux"
14+
},
615
"file": "/usr/local/google/home/dacoharkes/src/dacoharkes/playground/my_package/example/.dart_tool/native_assets_builder/my_package/79cc7fbaec53b1465c3e388e6848234b/out/libmy_package.so",
716
"id": "package:my_package/my_package_bindings_generated.dart",
817
"link_mode": {

pkgs/code_assets/test/data/build_output_macos.json

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,15 @@
33
"assets": [
44
{
55
"architecture": "arm64",
6+
"encoding": {
7+
"architecture": "arm64",
8+
"file": "/private/var/folders/2y/mngq9h194yzglt4kzttzfq6800klzg/T/ZnD2I3/native_add/.dart_tool/native_assets_builder/native_add/14857adfaff1b1829b79c612288f54d7/out/libnative_add.dylib",
9+
"id": "package:native_add/src/native_add_bindings_generated.dart",
10+
"link_mode": {
11+
"type": "dynamic_loading_bundle"
12+
},
13+
"os": "macos"
14+
},
615
"file": "/private/var/folders/2y/mngq9h194yzglt4kzttzfq6800klzg/T/ZnD2I3/native_add/.dart_tool/native_assets_builder/native_add/14857adfaff1b1829b79c612288f54d7/out/libnative_add.dylib",
716
"id": "package:native_add/src/native_add_bindings_generated.dart",
817
"link_mode": {
@@ -13,6 +22,15 @@
1322
},
1423
{
1524
"architecture": "arm64",
25+
"encoding": {
26+
"architecture": "arm64",
27+
"file": "/private/var/folders/2y/mngq9h194yzglt4kzttzfq6800klzg/T/iv6i0d/native_add/.dart_tool/native_assets_builder/native_add/c6b312c90c95d2d98ffb6760a738fb36/out/libnative_add.a",
28+
"id": "package:native_add/src/native_add_bindings_generated.dart",
29+
"link_mode": {
30+
"type": "static"
31+
},
32+
"os": "macos"
33+
},
1634
"file": "/private/var/folders/2y/mngq9h194yzglt4kzttzfq6800klzg/T/iv6i0d/native_add/.dart_tool/native_assets_builder/native_add/c6b312c90c95d2d98ffb6760a738fb36/out/libnative_add.a",
1735
"id": "package:native_add/src/native_add_bindings_generated.dart",
1836
"link_mode": {
@@ -23,6 +41,14 @@
2341
},
2442
{
2543
"architecture": "arm64",
44+
"encoding": {
45+
"architecture": "arm64",
46+
"id": "package:system_library/memory_executable.dart",
47+
"link_mode": {
48+
"type": "dynamic_loading_executable"
49+
},
50+
"os": "macos"
51+
},
2652
"id": "package:system_library/memory_executable.dart",
2753
"link_mode": {
2854
"type": "dynamic_loading_executable"
@@ -32,6 +58,14 @@
3258
},
3359
{
3460
"architecture": "arm64",
61+
"encoding": {
62+
"architecture": "arm64",
63+
"id": "package:system_library/memory_process.dart",
64+
"link_mode": {
65+
"type": "dynamic_loading_process"
66+
},
67+
"os": "macos"
68+
},
3569
"id": "package:system_library/memory_process.dart",
3670
"link_mode": {
3771
"type": "dynamic_loading_process"
@@ -41,6 +75,15 @@
4175
},
4276
{
4377
"architecture": "arm64",
78+
"encoding": {
79+
"architecture": "arm64",
80+
"id": "package:system_library/memory_system.dart",
81+
"link_mode": {
82+
"type": "dynamic_loading_system",
83+
"uri": "libc.dylib"
84+
},
85+
"os": "macos"
86+
},
4487
"id": "package:system_library/memory_system.dart",
4588
"link_mode": {
4689
"type": "dynamic_loading_system",
@@ -54,6 +97,15 @@
5497
"package_with_linker": [
5598
{
5699
"architecture": "arm64",
100+
"encoding": {
101+
"architecture": "arm64",
102+
"file": "/private/var/folders/2y/mngq9h194yzglt4kzttzfq6800klzg/T/iv6i0d/native_add/.dart_tool/native_assets_builder/native_add/c6b312c90c95d2d98ffb6760a738fb36/out/libnative_add.a",
103+
"id": "package:native_add/src/native_add_bindings_generated.dart",
104+
"link_mode": {
105+
"type": "static"
106+
},
107+
"os": "macos"
108+
},
57109
"file": "/private/var/folders/2y/mngq9h194yzglt4kzttzfq6800klzg/T/iv6i0d/native_add/.dart_tool/native_assets_builder/native_add/c6b312c90c95d2d98ffb6760a738fb36/out/libnative_add.a",
58110
"id": "package:native_add/src/native_add_bindings_generated.dart",
59111
"link_mode": {
@@ -68,6 +120,15 @@
68120
"package_with_linker": [
69121
{
70122
"architecture": "arm64",
123+
"encoding": {
124+
"architecture": "arm64",
125+
"file": "/private/var/folders/2y/mngq9h194yzglt4kzttzfq6800klzg/T/iv6i0d/native_add/.dart_tool/native_assets_builder/native_add/c6b312c90c95d2d98ffb6760a738fb36/out/libnative_add.a",
126+
"id": "package:native_add/src/native_add_bindings_generated.dart",
127+
"link_mode": {
128+
"type": "static"
129+
},
130+
"os": "macos"
131+
},
71132
"file": "/private/var/folders/2y/mngq9h194yzglt4kzttzfq6800klzg/T/iv6i0d/native_add/.dart_tool/native_assets_builder/native_add/c6b312c90c95d2d98ffb6760a738fb36/out/libnative_add.a",
72133
"id": "package:native_add/src/native_add_bindings_generated.dart",
73134
"link_mode": {

pkgs/code_assets/test/data/build_output_windows.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,15 @@
33
"assets": [
44
{
55
"architecture": "x64",
6+
"encoding": {
7+
"architecture": "x64",
8+
"file": "C:\\src\\dacoharkes\\playground\\my_package\\example\\.dart_tool\\native_assets_builder\\my_package\\190c04c47dc2f9eb26d2411b1968b2cf\\out\\my_package.dll",
9+
"id": "package:my_package/my_package_bindings_generated.dart",
10+
"link_mode": {
11+
"type": "dynamic_loading_bundle"
12+
},
13+
"os": "windows"
14+
},
615
"file": "C:\\src\\dacoharkes\\playground\\my_package\\example\\.dart_tool\\native_assets_builder\\my_package\\190c04c47dc2f9eb26d2411b1968b2cf\\out\\my_package.dll",
716
"id": "package:my_package/my_package_bindings_generated.dart",
817
"link_mode": {

pkgs/code_assets/test/data/link_input_macos.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,15 @@
33
"assets": [
44
{
55
"architecture": "arm64",
6+
"encoding": {
7+
"architecture": "arm64",
8+
"file": "/private/var/folders/2y/mngq9h194yzglt4kzttzfq6800klzg/T/iv6i0d/native_add/.dart_tool/native_assets_builder/native_add/c6b312c90c95d2d98ffb6760a738fb36/out/libnative_add.a",
9+
"id": "package:native_add/src/native_add_bindings_generated.dart",
10+
"link_mode": {
11+
"type": "static"
12+
},
13+
"os": "macos"
14+
},
615
"file": "/private/var/folders/2y/mngq9h194yzglt4kzttzfq6800klzg/T/iv6i0d/native_add/.dart_tool/native_assets_builder/native_add/c6b312c90c95d2d98ffb6760a738fb36/out/libnative_add.a",
716
"id": "package:native_add/src/native_add_bindings_generated.dart",
817
"link_mode": {

0 commit comments

Comments
 (0)