Skip to content

Commit 011e56f

Browse files
authored
Support newer versions of envelopes. (#1042)
Envelopes now have a `$metadata` file (containing a json map), instead of an `$sdk-version` file.
1 parent 14db2ca commit 011e56f

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

src/cli/sdk.toit

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,14 @@ class Sdk:
328328
*/
329329
static get-sdk-version-from --envelope/ByteArray -> string:
330330
reader := ar.ArReader.from-bytes envelope
331-
file := reader.find "\$sdk-version"
331+
// Newer versions of envelopes have a metadata file.
332+
file := reader.find "\$metadata"
333+
if file != null:
334+
metadata := json.decode file.content
335+
return metadata["sdk-version"]
336+
// Restart the reader from the beginning.
337+
reader = ar.ArReader.from-bytes envelope
338+
file = reader.find "\$sdk-version"
332339
if file == null: throw "SDK version not found in envelope."
333340
return file.content.to-string
334341

0 commit comments

Comments
 (0)