@@ -9,75 +9,30 @@
99import Foundation
1010
1111let args = Array(CommandLine.arguments.dropFirst())
12−//let temp = FileManager.default.temporaryDirectory.appendingPathComponent("SourceDocsSwift/build\(Date().timeIntervalSince1970)", isDirectory: true)
12+let temp = FileManager.default.temporaryDirectory.appendingPathComponent("SourceDocsSwift/build\(Date().timeIntervalSince1970)")
1313
1414var output = "docs.tex"
1515var directory: String?
16−var style: TeXer.TexType = .laTeX(2)
1716
1817var i = 0
1918while i < args.count {
2019 switch args[i] {
21− case "-o", "--output":
20+ case "-o":
2221 if i + 1 < args.count {
2322 i += 1
2423 output = args[i]
2524 }
26− case "-i", "--input":
25+ case "-i":
2726 if i + 1 < args.count {
2827 i += 1
2928 directory = args[i]
3029 }
31− case "-s", "--style":
32− if i + 1 < args.count {
33− i += 1
34− switch args[i].lowercased() {
35− case "latex", "xetex", "tex":
36− style = .laTeX(style.levelOffset)
37− case "tech", "techdoc", "techdocs":
38− style = .techDoc(style.levelOffset)
39− default:
40− print("""
41− That is not a valid style.
42−
43− Valid styles are:
44− latex
45− techdoc
46− """)
47− exit(1)
48− }
49− }
50− case "-l", "--level":
51− if i + 1 < args.count {
52− i += 1
53− guard let l = Int(args[i]) else {
54− print("""
55− That is not a valid int.
56− """)
57− exit(1)
58− }
59− if l < 1 {
60− print("""
61− Level must be greater or equal to 1.
62− """)
63− exit(1)
64− }
65− style.levelOffset = l
66− }
6730 default:
6831 break
6932 }
7033 i += 1
7134}
7235
73−var outputIsDirectory: ObjCBool = false
74−
75−FileManager.default.fileExists(atPath: output, isDirectory: &outputIsDirectory)
76−
77−if outputIsDirectory.boolValue {
78− output.append("/docs.tex")
79−}
80−
8136let decoder = JSONDecoder()
8237
8338guard let xcbTagetData = Shell.launch(executable: "/usr/bin/xcodebuild", arguments: ["-list", "-json"], launchDirectory: directory) else {
@@ -99,8 +54,8 @@ let targets = xcbResponse.targets
9954var files: [String: [Object]] = [:]
10055
10156for target in targets {
102−// try? FileManager.default.removeItem(at: temp)
103− guard let skResponseData = Shell.launch(executable: "/usr/local/bin/sourcekitten", arguments: ["doc", "--", "-target", target], launchDirectory: directory) else {
57+ try? FileManager.default.removeItem(at: temp)
58+ guard let skResponseData = Shell.launch(executable: "/usr/local/bin/sourcekitten", arguments: ["doc", "--", "-target", target, "CONFIGURATION_BUILD_DIR=\(temp)"], launchDirectory: directory) else {
10459 print("""
10560 Make sure sourcekitten is installed
10661
@@ -120,15 +75,9 @@ for target in targets {
12075
12176
12277
123−let tex = TeXer.convert(objects: files.flatMap {$0.value}, with: style)
124−do {
125− try tex.write(toFile: output, atomically: true, encoding: .utf8)
126−} catch {
127− print("""
128− There was an error writing the outuput file.
129− """)
130− exit(1)
131−}
78+let tex = TeXer.convert(objects: files.flatMap {$0.value})
79+
80+try? tex.write(toFile: output, atomically: true, encoding: .utf8)
13281
13382print("""
13483+-------+