Skip to content

Commit 357a3e1

Browse files
committed
improve Xcode Script
1 parent 42c1234 commit 357a3e1

2 files changed

Lines changed: 15 additions & 102 deletions

File tree

Xcode/check-xcode-version.sh

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

Xcode/check-xcode-version.swift

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ let env = ProcessInfo.processInfo.environment
77
guard
88
let path = env["PROJECT_DIR"],
99
var url = URL(string: "file://" + path),
10+
let projectPath = env["PROJECT_FILE_PATH"],
11+
let xcodeVersionMajor = env["XCODE_VERSION_MAJOR"],
1012
let xcodeVersion = env["XCODE_VERSION_ACTUAL"] else {
1113
exit(0)
1214
}
@@ -18,14 +20,24 @@ guard
1820
let json = try? JSONSerialization.jsonObject(with: data, options: []) as? [String: Any],
1921
let project = json["project"] as? [String: Any],
2022
let projectXcodeVersion = project["xcode_version"] as? String else {
21-
fatalError("'xcode_version' not found, please check your Config.json")
23+
print("\(projectPath):1:1: error: Xcode Version not found in Config.json")
24+
exit(1)
2225
}
2326

2427
let xcodeVersionCleaned = xcodeVersion.trimmingCharacters(in: .init(charactersIn: "0"))
25-
let projectXcodeVersionCleaned = projectXcodeVersion.replacingOccurrences(of: ".", with: "")
28+
let projectXcodeVersionCleaned = projectXcodeVersion.replacingOccurrences(of: ".", with: "").trimmingCharacters(in: .init(charactersIn: "0"))
29+
30+
let projectXcodeVersionMajorCleaned = projectXcodeVersion.split(separator: ".")[0].trimmingCharacters(in: .init(charactersIn: "0"))
31+
let xcodeVersionMajorCleaned = xcodeVersionMajor.trimmingCharacters(in: .init(charactersIn: "0"))
32+
33+
if (projectXcodeVersionMajorCleaned != xcodeVersionMajorCleaned) {
34+
print("\(projectPath):1:1: error: Xcode Version does not match Config.json. Please use Xcode-\(projectXcodeVersion) or change Config.json")
35+
exit(1)
36+
}
2637

2738
if (xcodeVersionCleaned != projectXcodeVersionCleaned) {
28-
fatalError("Xcode Version mismatch: please open Project with Xcode \(projectXcodeVersion) or change Xcode Version in Config.json")
39+
print("\(projectPath):1:1: warning: Xcode Version does not match Config.json. Please consider using Xcode-\(projectXcodeVersion) or change Config.json")
40+
exit(0)
2941
}
3042

3143
exit(0)

0 commit comments

Comments
 (0)