@@ -9,75 +9,30 @@
9import Foundation
9import Foundation
11let args = Array(CommandLine.arguments.dropFirst())
11let 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)")
14var output = "docs.tex"
14var output = "docs.tex"
15var directory: String?
15var directory: String?
16−var style: TeXer.TexType = .laTeX(2)
19while i < args.count {
18while i < args.count {
20 switch args[i] {
19 switch args[i] {
21− case "-o", "--output":
20+ case "-o":
22 if i + 1 < args.count {
21 if i + 1 < args.count {
24 output = args[i]
23 output = args[i]
26− case "-i", "--input":
25+ case "-i":
27 if i + 1 < args.count {
26 if i + 1 < args.count {
29 directory = args[i]
28 directory = args[i]
31− case "-s", "--style":
32− if i + 1 < args.count {
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)
41− That is not a valid style.
50− case "-l", "--level":
51− if i + 1 < args.count {
53− guard let l = Int(args[i]) else {
55− That is not a valid int.
61− Level must be greater or equal to 1.
65− style.levelOffset = l
73−var outputIsDirectory: ObjCBool = false
75−FileManager.default.fileExists(atPath: output, isDirectory: &outputIsDirectory)
77−if outputIsDirectory.boolValue {
78− output.append("/docs.tex")
81let decoder = JSONDecoder()
36let decoder = JSONDecoder()
83guard let xcbTagetData = Shell.launch(executable: "/usr/bin/xcodebuild", arguments: ["-list", "-json"], launchDirectory: directory) else {
38guard let xcbTagetData = Shell.launch(executable: "/usr/bin/xcodebuild", arguments: ["-list", "-json"], launchDirectory: directory) else {
@@ -99,8 +54,8 @@ let targets = xcbResponse.targets
99var files: [String: [Object]] = [:]
54var files: [String: [Object]] = [:]
101for target in targets {
56for target in targets {
102−// try? FileManager.default.removeItem(at: temp)
57+ try? FileManager.default.removeItem(at: temp)
103− guard let skResponseData = Shell.launch(executable: "/usr/local/bin/sourcekitten", arguments: ["doc", "--", "-target", target], launchDirectory: directory) else {
58+ guard let skResponseData = Shell.launch(executable: "/usr/local/bin/sourcekitten", arguments: ["doc", "--", "-target", target, "CONFIGURATION_BUILD_DIR=\(temp.absoluteString)"], launchDirectory: directory) else {
104 print("""
59 print("""
105 Make sure sourcekitten is installed
60 Make sure sourcekitten is installed
@@ -120,15 +75,9 @@ for target in targets {
123−let tex = TeXer.convert(objects: files.flatMap {$0.value}, with: style)
78+let tex = TeXer.convert(objects: files.flatMap {$0.value})
125− try tex.write(toFile: output, atomically: true, encoding: .utf8)
80+try? tex.write(toFile: output, atomically: true, encoding: .utf8)
128− There was an error writing the outuput file.