Skip to content

Commit 14215e3

Browse files
committed
Add Swiftly toolchain management
1 parent d2dc6df commit 14215e3

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

src/toolchain/swiftly.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ const ListResult = z.object({
2424
toolchains: z.array(
2525
z.object({
2626
inUse: z.boolean(),
27+
installed: z.boolean(),
2728
isDefault: z.boolean(),
29+
name: z.string(),
2830
version: z.discriminatedUnion("type", [
2931
z.object({
3032
major: z.number().optional(),
@@ -243,3 +245,5 @@ export class Swiftly {
243245
return JSON.parse(swiftlyConfigRaw);
244246
}
245247
}
248+
249+
export const swiftly = new Swiftly();

test/unit-tests/toolchain/swiftly.test.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
//===----------------------------------------------------------------------===//
1414

1515
import { expect } from "chai";
16+
import * as sinon from "sinon";
1617
import { Swiftly } from "../../../src/toolchain/swiftly";
1718
import * as utilities from "../../../src/utilities/utilities";
1819
import { mockGlobalModule, mockGlobalValue } from "../../MockUtils";
@@ -38,7 +39,9 @@ suite("Swiftly Unit Tests", () => {
3839
toolchains: [
3940
{
4041
inUse: true,
42+
installed: true,
4143
isDefault: true,
44+
name: "swift-5.9.0-RELEASE",
4245
version: {
4346
major: 5,
4447
minor: 9,
@@ -49,7 +52,9 @@ suite("Swiftly Unit Tests", () => {
4952
},
5053
{
5154
inUse: false,
55+
installed: true,
5256
isDefault: false,
57+
name: "swift-5.8.0-RELEASE",
5358
version: {
5459
major: 5,
5560
minor: 8,
@@ -60,7 +65,9 @@ suite("Swiftly Unit Tests", () => {
6065
},
6166
{
6267
inUse: false,
68+
installed: false,
6369
isDefault: false,
70+
name: "swift-DEVELOPMENT-SNAPSHOT-2023-10-15-a",
6471
version: {
6572
major: 5,
6673
minor: 10,

0 commit comments

Comments
 (0)