Commit 58b7dba7 authored by David Owens II's avatar David Owens II

Merge branch 'master' into clj-parser

parents 78b060e6 3367f0aa
Pipeline #669 passed with stage
......@@ -7,35 +7,52 @@ tasks:
script: "echo \"Hello world\""
default:
dependency: ["yaml"]
tool: "atllbuild"
source: ["cli/src/**.swift", "parsers/yaml/**.swift"]
source: ["cli/src/**.swift"]
name: "atbuild"
tests:
tool: "atllbuild"
source: ["parsers/clj/src/**.swift", "parsers/clj/tests/**.swift"]
name: "tests"
runtests:
tool: "shell"
script: "./.atllbuild/tests"
outputType: "executable"
linkWithProduct: ["yaml.a"]
bootstrap-osx:
tool: "atllbuild"
source: ["cli/src/**.swift", "parsers/yaml/**.swift"]
source: ["cli/src/**.swift"]
name: "atbuild"
bootstrapOnly: true
llbuildyaml: "llbuild-osx.yaml"
outputType: "executable"
linkWithProduct: ["yaml.a"]
dependency: ["bootstrap-yaml-osx"]
bootstrap-linux:
tool: "atllbuild"
source: ["cli/src/**.swift", "parsers/yaml/**.swift"]
source: ["cli/src/**.swift"]
name: "atbuild"
bootstrapOnly: true
llbuildyaml: "llbuild-linux.yaml"
linkSDK: false
compileOptions: ["-D","CORELIBS_FOUNDATION"]
outputType: "executable"
linkWithProduct: ["yaml.a"]
dependency: ["bootstrap-yaml-linux"]
bootstrap:
tool: "nop"
dependency: ["bootstrap-osx", "bootstrap-linux"]
\ No newline at end of file
dependency: ["bootstrap-osx", "bootstrap-linux"]
yaml:
tool: "atllbuild"
source: ["parsers/yaml/**.swift"]
name: "yaml"
outputType: "static-library"
clj-tests:
tool: "atllbuild"
source: ["parsers/clj/src/**.swift", "parsers/clj/tests/**.swift"]
name: "tests"
outputType: "executable"
runtests:
dependency: ["clj-tests"]
tool: "shell"
script: "./.atllbuild/tests"
#!/bin/bash
mkdir -p .atllbuild/objects
mkdir -p .atllbuild/products
swift-build-tool -f yaml-osx-llbuild.yaml
swift-build-tool -f llbuild-osx.yaml
cp .atllbuild/atbuild .
\ No newline at end of file
cp .atllbuild/products/atbuild .
\ No newline at end of file
......@@ -8,6 +8,10 @@
import Foundation
#if ATBUILD
import yaml
#endif
///Nop is a tool that has no effect
final class Nop: Tool {
func run(args: [Yaml : Yaml]) throws {
......
......@@ -6,6 +6,10 @@
// propagated, or distributed except according to the terms contained
// in the LICENSE file.
#if ATBUILD
import yaml
#endif
import Foundation
///The Shell tool runs a shell script. It expects a zero return code.
......
......@@ -6,6 +6,10 @@
// propagated, or distributed except according to the terms contained
// in the LICENSE file.
#if ATBUILD
import yaml
#endif
///A Task is a CLI entry point to `atbuild`. If you call `atbuild` with no arguments, we run a task called "default".
final class Task {
let tool: String ///The tool that implements this task. See Tools.swift
......
......@@ -5,6 +5,9 @@
// No part of atbuild, including this file, may be copied, modified,
// propagated, or distributed except according to the terms contained
// in the LICENSE file.
#if ATBUILD
import yaml
#endif
///A tool is a function that performs some operation, like building, or running a shell command.
///We provide several builtin tools, but users can build new ones out of the existing ones.
......
......@@ -8,10 +8,19 @@
import Foundation
#if ATBUILD
import yaml
#endif
/**The ATllbuild tool builds a swift module via llbuild.
For more information on this tool, see `docs/attllbuild.md` */
final class ATllbuild : Tool {
enum OutputType {
case Executable
case StaticLibrary
}
/**This function resolves wildcards in source descriptions to complete values
- parameter sourceDescriptions: a descriptions of sources such as ["src/**.swift"] */
- returns: A list of resolved sources such as ["src/a.swift", "src/b.swift"]
......@@ -41,7 +50,8 @@ final class ATllbuild : Tool {
- parameter workdir: A temporary working directory for `atllbuild` to use
- parameter modulename: The name of the module to be built.
- returns: The string contents for llbuild.yaml suitable for processing by swift-build-tool */
func llbuildyaml(sources: [String], workdir: String, modulename: String, linkSDK: Bool, compileOptions: [String]) -> String {
func llbuildyaml(sources: [String], workdir: String, modulename: String, linkSDK: Bool, compileOptions: [String], outputType: OutputType, linkWithProduct:[String]) -> String {
let productPath = workdir + "products/"
//this format is largely undocumented, but I reverse-engineered it from SwiftPM.
var yaml = "client:\n name: swift-build\n\n"
......@@ -63,21 +73,28 @@ final class ATllbuild : Tool {
//swiftPM wants "objects" which is just a list of %.swift.o files. We have to put them in a temp directory though.
let objects = sources.map { (source) -> String in
workdir + (source as NSString).lastPathComponent + ".o"
workdir + "objects/" + (source as NSString).lastPathComponent + ".o"
}
yaml += " objects: \(objects)\n"
//this crazy syntax is how llbuild specifies outputs
var llbuild_outputs = ["<atllbuild-swiftc>"]
llbuild_outputs.appendContentsOf(objects)
yaml += " outputs: \(llbuild_outputs)\n"
switch(outputType) {
case .Executable:
break
case .StaticLibrary:
yaml += " is-library: true\n" //I have no idea what the effect of this is, but swiftPM does it, so I'm including it.
}
yaml += " module-name: \(modulename)\n"
yaml += " module-output-path: \(workdir + modulename).swiftmodule\n"
let swiftModulePath = "\(productPath + modulename).swiftmodule"
yaml += " module-output-path: \(swiftModulePath)\n"
yaml += " temps-path: \(workdir)/llbuildtmp\n"
var args : [String] = []
args.appendContentsOf(["-j8"])
args.appendContentsOf(["-j8", "-D","ATBUILD","-I",workdir+"products/"])
if linkSDK {
args.appendContentsOf(["-sdk", SDKPath])
......@@ -88,32 +105,82 @@ final class ATllbuild : Tool {
//and this is the "link" command
yaml += " <atllbuild>:\n"
yaml += " tool: shell\n"
//this crazy syntax is how sbt declares a dependency
var llbuild_inputs = ["<atllbuild-swiftc>"]
llbuild_inputs.appendContentsOf(objects)
yaml += " inputs: \(llbuild_inputs)\n"
yaml += " outputs: [\"<atllbuild>\", \"\(workdir + modulename)\"]\n"
//and now we have the crazy 'args'
args = [SwiftCPath, "-o",workdir + modulename]
args.appendContentsOf(objects)
yaml += " args: \(args)\n"
yaml += " description: Linking executable \(modulename)\n"
return yaml
switch(outputType) {
case .Executable:
yaml += " tool: shell\n"
//this crazy syntax is how sbt declares a dependency
var llbuild_inputs = ["<atllbuild-swiftc>"]
llbuild_inputs.appendContentsOf(objects)
let builtProducts = linkWithProduct.map {workdir+"products/"+$0}
llbuild_inputs.appendContentsOf(builtProducts)
let executablePath = productPath+modulename
yaml += " inputs: \(llbuild_inputs)\n"
yaml += " outputs: [\"<atllbuild>\", \"\(executablePath)\"]\n"
//and now we have the crazy 'args'
args = [SwiftCPath, "-o",executablePath]
args.appendContentsOf(objects)
args.appendContentsOf(builtProducts)
yaml += " args: \(args)\n"
yaml += " description: Linking executable \(executablePath)\n"
return yaml
case .StaticLibrary:
yaml += " tool: shell\n"
var llbuild_inputs = ["<atllbuild-swiftc>"]
llbuild_inputs.appendContentsOf(objects)
yaml += " inputs: \(llbuild_inputs)\n"
let libPath = productPath + modulename + ".a"
yaml += " outputs: [\"<atllbuild>\", \"\(libPath)\"]\n"
//build the crazy args, mostly consisting of an `ar` shell command
var shellCmd = "rm -rf \(libPath); ar cr '\(libPath)'"
for obj in objects {
shellCmd += " '\(obj)'"
}
let args = "[\"/bin/sh\",\"-c\",\(shellCmd)]"
yaml += " args: \(args)\n"
yaml += " description: \"Linking Library: \(libPath)\""
return yaml
}
}
func run(args: [Yaml : Yaml]) throws {
//create the working directory
let workDirectory = ".atllbuild/"
let manager = NSFileManager.defaultManager()
if manager.fileExistsAtPath(workDirectory) {
try manager.removeItemAtPath(workDirectory)
}
try manager.createDirectoryAtPath(workDirectory, withIntermediateDirectories: false, attributes: nil)
//NSFileManager is pretty anal about throwing errors if we try to remove something that doesn't exist, etc.
//We just want to create a state where .atllbuild/objects and .atllbuild/llbuildtmp and .atllbuild/products exists.
//and in particular, without erasing the product directory, since that accumulates build products across
//multiple invocations of atllbuild.
let _ = try? manager.removeItemAtPath(workDirectory + "/objects")
let _ = try? manager.removeItemAtPath(workDirectory + "/llbuildtmp")
let _ = try? manager.createDirectoryAtPath(workDirectory, withIntermediateDirectories: false, attributes: nil)
let _ = try? manager.createDirectoryAtPath(workDirectory + "/products", withIntermediateDirectories: false, attributes: nil)
let _ = try manager.createDirectoryAtPath(workDirectory + "/objects", withIntermediateDirectories: false, attributes: nil)
//parse arguments
var linkWithProduct: [String] = []
if let arr = args["linkWithProduct"]?.array {
for product in arr {
guard let p = product.string else { throw AnarchyBuildError.CantParseYaml("non-string product \(product)") }
linkWithProduct.append(p)
}
}
let outputType: OutputType
if args["outputType"]?.string == "static-library" {
outputType = .StaticLibrary
}
else if args["outputType"]?.string == "executable" {
outputType = .Executable
}
else {
throw AnarchyBuildError.CantParseYaml("Unknown outputType \(args["outputType"])")
}
var compileOptions: [String] = []
if let opts = args["compileOptions"]?.array {
for o in opts {
......@@ -150,7 +217,8 @@ final class ATllbuild : Tool {
llbuildyamlpath = workDirectory + "llbuild.yaml"
}
try llbuildyaml(sources, workdir: workDirectory, modulename: name, linkSDK: sdk, compileOptions: compileOptions).writeToFile(llbuildyamlpath, atomically: false, encoding: NSUTF8StringEncoding)
let yaml = llbuildyaml(sources, workdir: workDirectory, modulename: name, linkSDK: sdk, compileOptions: compileOptions, outputType: outputType, linkWithProduct: linkWithProduct)
try yaml.writeToFile(llbuildyamlpath, atomically: false, encoding: NSUTF8StringEncoding)
if bootstrapOnly { return }
//now we try running sbt
......
......@@ -7,6 +7,9 @@
// in the LICENSE file.
///Load the contents of atbuild.yaml
#if ATBUILD
import yaml
#endif
func loadyaml() throws -> [Yaml:Yaml] {
guard let yamlContents = try? String(contentsOfFile: "atbuild.yaml") else { throw AnarchyBuildError.CantParseYaml("Can't load atbuild.yaml") }
let yaml = Yaml.load(yamlContents)
......
......@@ -10,6 +10,11 @@ let version = "0.2.0-dev"
import Foundation
#if ATBUILD
import yaml
#endif
//usage message
if Process.arguments.count > 1 && Process.arguments[1] == "--help" {
print("atbuild - Anarchy Tools Build Tool \(version)")
......
......@@ -17,11 +17,22 @@ tasks:
#If true, we don't build, llbuild.yaml False is the default value.
bootstrapOnly: false
llbuildyaml: "llbuild.yaml" #path to emit llbuild.yaml
#path to emit llbuild.yaml
llbuildyaml: "llbuild.yaml"
compileOptions: [] #Provide an array of compile options. And they said it was impossible.
linkSDK: true #Whether to link the platform SDK. True is the default value.
#What type of output to link. "executable" and "static-library" are supported.
outputType: "executable"
#A product from another atllbuild task to link with.
#You should supply a filename here, like "yaml.a".
#Note that this is for linking dependencies built by atllbuild;
# for other libraries, you should use UNSUPPORTED https://github.com/AnarchyTools/atbuild/issues/13
linkWithProduct: []
```
## Implementation
......
# nop
The nop tool has no effect. You can use this tool to create tasks that group dependencies.
\ No newline at end of file
# shell
The shell tool allows you to call a shell command.
# API
```yaml
taskname:
tool: "shell"
#run the following script in /bin/sh.
#A non-zero return code indicates that build should halt.
script: "echo hello world"
```
# Tasks
All tasks have the following options:
```yaml
taskname:
#the name of a tool. Valid tools are shell, atllbuild, nop
tool: "tool"
#What other tasks should run before this one.
dependency: []
```
......@@ -10,17 +10,17 @@ commands:
<atllbuild-swiftc>:
tool: swift-compiler
executable: "/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/swiftc"
inputs: ["cli/src/atllbuild.swift", "cli/src/config.swift", "cli/src/errors.swift", "cli/src/main.swift", "cli/src/Nop.swift", "cli/src/PlatformPaths.swift", "cli/src/Shell.swift", "cli/src/Task.swift", "cli/src/Tools.swift", "parsers/yaml/src/Operators.swift", "parsers/yaml/src/Parser.swift", "parsers/yaml/src/Regex.swift", "parsers/yaml/src/Result.swift", "parsers/yaml/src/Tokenizer.swift", "parsers/yaml/src/Yaml.swift"]
sources: ["cli/src/atllbuild.swift", "cli/src/config.swift", "cli/src/errors.swift", "cli/src/main.swift", "cli/src/Nop.swift", "cli/src/PlatformPaths.swift", "cli/src/Shell.swift", "cli/src/Task.swift", "cli/src/Tools.swift", "parsers/yaml/src/Operators.swift", "parsers/yaml/src/Parser.swift", "parsers/yaml/src/Regex.swift", "parsers/yaml/src/Result.swift", "parsers/yaml/src/Tokenizer.swift", "parsers/yaml/src/Yaml.swift"]
objects: [".atllbuild/atllbuild.swift.o", ".atllbuild/config.swift.o", ".atllbuild/errors.swift.o", ".atllbuild/main.swift.o", ".atllbuild/Nop.swift.o", ".atllbuild/PlatformPaths.swift.o", ".atllbuild/Shell.swift.o", ".atllbuild/Task.swift.o", ".atllbuild/Tools.swift.o", ".atllbuild/Operators.swift.o", ".atllbuild/Parser.swift.o", ".atllbuild/Regex.swift.o", ".atllbuild/Result.swift.o", ".atllbuild/Tokenizer.swift.o", ".atllbuild/Yaml.swift.o"]
outputs: ["<atllbuild-swiftc>", ".atllbuild/atllbuild.swift.o", ".atllbuild/config.swift.o", ".atllbuild/errors.swift.o", ".atllbuild/main.swift.o", ".atllbuild/Nop.swift.o", ".atllbuild/PlatformPaths.swift.o", ".atllbuild/Shell.swift.o", ".atllbuild/Task.swift.o", ".atllbuild/Tools.swift.o", ".atllbuild/Operators.swift.o", ".atllbuild/Parser.swift.o", ".atllbuild/Regex.swift.o", ".atllbuild/Result.swift.o", ".atllbuild/Tokenizer.swift.o", ".atllbuild/Yaml.swift.o"]
inputs: ["cli/src/atllbuild.swift", "cli/src/config.swift", "cli/src/errors.swift", "cli/src/main.swift", "cli/src/Nop.swift", "cli/src/PlatformPaths.swift", "cli/src/Shell.swift", "cli/src/Task.swift", "cli/src/Tools.swift"]
sources: ["cli/src/atllbuild.swift", "cli/src/config.swift", "cli/src/errors.swift", "cli/src/main.swift", "cli/src/Nop.swift", "cli/src/PlatformPaths.swift", "cli/src/Shell.swift", "cli/src/Task.swift", "cli/src/Tools.swift"]
objects: [".atllbuild/objects/atllbuild.swift.o", ".atllbuild/objects/config.swift.o", ".atllbuild/objects/errors.swift.o", ".atllbuild/objects/main.swift.o", ".atllbuild/objects/Nop.swift.o", ".atllbuild/objects/PlatformPaths.swift.o", ".atllbuild/objects/Shell.swift.o", ".atllbuild/objects/Task.swift.o", ".atllbuild/objects/Tools.swift.o"]
outputs: ["<atllbuild-swiftc>", ".atllbuild/objects/atllbuild.swift.o", ".atllbuild/objects/config.swift.o", ".atllbuild/objects/errors.swift.o", ".atllbuild/objects/main.swift.o", ".atllbuild/objects/Nop.swift.o", ".atllbuild/objects/PlatformPaths.swift.o", ".atllbuild/objects/Shell.swift.o", ".atllbuild/objects/Task.swift.o", ".atllbuild/objects/Tools.swift.o"]
module-name: atbuild
module-output-path: .atllbuild/atbuild.swiftmodule
module-output-path: .atllbuild/products/atbuild.swiftmodule
temps-path: .atllbuild//llbuildtmp
other-args: ["-j8", "-D", "CORELIBS_FOUNDATION"]
other-args: ["-j8", "-D", "ATBUILD", "-I", ".atllbuild/products/", "-D", "CORELIBS_FOUNDATION"]
<atllbuild>:
tool: shell
inputs: ["<atllbuild-swiftc>", ".atllbuild/atllbuild.swift.o", ".atllbuild/config.swift.o", ".atllbuild/errors.swift.o", ".atllbuild/main.swift.o", ".atllbuild/Nop.swift.o", ".atllbuild/PlatformPaths.swift.o", ".atllbuild/Shell.swift.o", ".atllbuild/Task.swift.o", ".atllbuild/Tools.swift.o", ".atllbuild/Operators.swift.o", ".atllbuild/Parser.swift.o", ".atllbuild/Regex.swift.o", ".atllbuild/Result.swift.o", ".atllbuild/Tokenizer.swift.o", ".atllbuild/Yaml.swift.o"]
outputs: ["<atllbuild>", ".atllbuild/atbuild"]
args: ["/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/swiftc", "-o", ".atllbuild/atbuild", ".atllbuild/atllbuild.swift.o", ".atllbuild/config.swift.o", ".atllbuild/errors.swift.o", ".atllbuild/main.swift.o", ".atllbuild/Nop.swift.o", ".atllbuild/PlatformPaths.swift.o", ".atllbuild/Shell.swift.o", ".atllbuild/Task.swift.o", ".atllbuild/Tools.swift.o", ".atllbuild/Operators.swift.o", ".atllbuild/Parser.swift.o", ".atllbuild/Regex.swift.o", ".atllbuild/Result.swift.o", ".atllbuild/Tokenizer.swift.o", ".atllbuild/Yaml.swift.o"]
description: Linking executable atbuild
inputs: ["<atllbuild-swiftc>", ".atllbuild/objects/atllbuild.swift.o", ".atllbuild/objects/config.swift.o", ".atllbuild/objects/errors.swift.o", ".atllbuild/objects/main.swift.o", ".atllbuild/objects/Nop.swift.o", ".atllbuild/objects/PlatformPaths.swift.o", ".atllbuild/objects/Shell.swift.o", ".atllbuild/objects/Task.swift.o", ".atllbuild/objects/Tools.swift.o", ".atllbuild/products/yaml.a"]
outputs: ["<atllbuild>", ".atllbuild/products/atbuild"]
args: ["/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/swiftc", "-o", ".atllbuild/products/atbuild", ".atllbuild/objects/atllbuild.swift.o", ".atllbuild/objects/config.swift.o", ".atllbuild/objects/errors.swift.o", ".atllbuild/objects/main.swift.o", ".atllbuild/objects/Nop.swift.o", ".atllbuild/objects/PlatformPaths.swift.o", ".atllbuild/objects/Shell.swift.o", ".atllbuild/objects/Task.swift.o", ".atllbuild/objects/Tools.swift.o", ".atllbuild/products/yaml.a"]
description: Linking executable .atllbuild/products/atbuild
......@@ -10,17 +10,17 @@ commands:
<atllbuild-swiftc>:
tool: swift-compiler
executable: "/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/swiftc"
inputs: ["cli/src/atllbuild.swift", "cli/src/config.swift", "cli/src/errors.swift", "cli/src/main.swift", "cli/src/Nop.swift", "cli/src/PlatformPaths.swift", "cli/src/Shell.swift", "cli/src/Task.swift", "cli/src/Tools.swift", "parsers/yaml/src/Operators.swift", "parsers/yaml/src/Parser.swift", "parsers/yaml/src/Regex.swift", "parsers/yaml/src/Result.swift", "parsers/yaml/src/Tokenizer.swift", "parsers/yaml/src/Yaml.swift"]
sources: ["cli/src/atllbuild.swift", "cli/src/config.swift", "cli/src/errors.swift", "cli/src/main.swift", "cli/src/Nop.swift", "cli/src/PlatformPaths.swift", "cli/src/Shell.swift", "cli/src/Task.swift", "cli/src/Tools.swift", "parsers/yaml/src/Operators.swift", "parsers/yaml/src/Parser.swift", "parsers/yaml/src/Regex.swift", "parsers/yaml/src/Result.swift", "parsers/yaml/src/Tokenizer.swift", "parsers/yaml/src/Yaml.swift"]
objects: [".atllbuild/atllbuild.swift.o", ".atllbuild/config.swift.o", ".atllbuild/errors.swift.o", ".atllbuild/main.swift.o", ".atllbuild/Nop.swift.o", ".atllbuild/PlatformPaths.swift.o", ".atllbuild/Shell.swift.o", ".atllbuild/Task.swift.o", ".atllbuild/Tools.swift.o", ".atllbuild/Operators.swift.o", ".atllbuild/Parser.swift.o", ".atllbuild/Regex.swift.o", ".atllbuild/Result.swift.o", ".atllbuild/Tokenizer.swift.o", ".atllbuild/Yaml.swift.o"]
outputs: ["<atllbuild-swiftc>", ".atllbuild/atllbuild.swift.o", ".atllbuild/config.swift.o", ".atllbuild/errors.swift.o", ".atllbuild/main.swift.o", ".atllbuild/Nop.swift.o", ".atllbuild/PlatformPaths.swift.o", ".atllbuild/Shell.swift.o", ".atllbuild/Task.swift.o", ".atllbuild/Tools.swift.o", ".atllbuild/Operators.swift.o", ".atllbuild/Parser.swift.o", ".atllbuild/Regex.swift.o", ".atllbuild/Result.swift.o", ".atllbuild/Tokenizer.swift.o", ".atllbuild/Yaml.swift.o"]
inputs: ["cli/src/atllbuild.swift", "cli/src/config.swift", "cli/src/errors.swift", "cli/src/main.swift", "cli/src/Nop.swift", "cli/src/PlatformPaths.swift", "cli/src/Shell.swift", "cli/src/Task.swift", "cli/src/Tools.swift"]
sources: ["cli/src/atllbuild.swift", "cli/src/config.swift", "cli/src/errors.swift", "cli/src/main.swift", "cli/src/Nop.swift", "cli/src/PlatformPaths.swift", "cli/src/Shell.swift", "cli/src/Task.swift", "cli/src/Tools.swift"]
objects: [".atllbuild/objects/atllbuild.swift.o", ".atllbuild/objects/config.swift.o", ".atllbuild/objects/errors.swift.o", ".atllbuild/objects/main.swift.o", ".atllbuild/objects/Nop.swift.o", ".atllbuild/objects/PlatformPaths.swift.o", ".atllbuild/objects/Shell.swift.o", ".atllbuild/objects/Task.swift.o", ".atllbuild/objects/Tools.swift.o"]
outputs: ["<atllbuild-swiftc>", ".atllbuild/objects/atllbuild.swift.o", ".atllbuild/objects/config.swift.o", ".atllbuild/objects/errors.swift.o", ".atllbuild/objects/main.swift.o", ".atllbuild/objects/Nop.swift.o", ".atllbuild/objects/PlatformPaths.swift.o", ".atllbuild/objects/Shell.swift.o", ".atllbuild/objects/Task.swift.o", ".atllbuild/objects/Tools.swift.o"]
module-name: atbuild
module-output-path: .atllbuild/atbuild.swiftmodule
module-output-path: .atllbuild/products/atbuild.swiftmodule
temps-path: .atllbuild//llbuildtmp
other-args: ["-j8", "-sdk", "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk"]
other-args: ["-j8", "-D", "ATBUILD", "-I", ".atllbuild/products/", "-sdk", "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk"]
<atllbuild>:
tool: shell
inputs: ["<atllbuild-swiftc>", ".atllbuild/atllbuild.swift.o", ".atllbuild/config.swift.o", ".atllbuild/errors.swift.o", ".atllbuild/main.swift.o", ".atllbuild/Nop.swift.o", ".atllbuild/PlatformPaths.swift.o", ".atllbuild/Shell.swift.o", ".atllbuild/Task.swift.o", ".atllbuild/Tools.swift.o", ".atllbuild/Operators.swift.o", ".atllbuild/Parser.swift.o", ".atllbuild/Regex.swift.o", ".atllbuild/Result.swift.o", ".atllbuild/Tokenizer.swift.o", ".atllbuild/Yaml.swift.o"]
outputs: ["<atllbuild>", ".atllbuild/atbuild"]
args: ["/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/swiftc", "-o", ".atllbuild/atbuild", ".atllbuild/atllbuild.swift.o", ".atllbuild/config.swift.o", ".atllbuild/errors.swift.o", ".atllbuild/main.swift.o", ".atllbuild/Nop.swift.o", ".atllbuild/PlatformPaths.swift.o", ".atllbuild/Shell.swift.o", ".atllbuild/Task.swift.o", ".atllbuild/Tools.swift.o", ".atllbuild/Operators.swift.o", ".atllbuild/Parser.swift.o", ".atllbuild/Regex.swift.o", ".atllbuild/Result.swift.o", ".atllbuild/Tokenizer.swift.o", ".atllbuild/Yaml.swift.o"]
description: Linking executable atbuild
inputs: ["<atllbuild-swiftc>", ".atllbuild/objects/atllbuild.swift.o", ".atllbuild/objects/config.swift.o", ".atllbuild/objects/errors.swift.o", ".atllbuild/objects/main.swift.o", ".atllbuild/objects/Nop.swift.o", ".atllbuild/objects/PlatformPaths.swift.o", ".atllbuild/objects/Shell.swift.o", ".atllbuild/objects/Task.swift.o", ".atllbuild/objects/Tools.swift.o", ".atllbuild/products/yaml.a"]
outputs: ["<atllbuild>", ".atllbuild/products/atbuild"]
args: ["/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/swiftc", "-o", ".atllbuild/products/atbuild", ".atllbuild/objects/atllbuild.swift.o", ".atllbuild/objects/config.swift.o", ".atllbuild/objects/errors.swift.o", ".atllbuild/objects/main.swift.o", ".atllbuild/objects/Nop.swift.o", ".atllbuild/objects/PlatformPaths.swift.o", ".atllbuild/objects/Shell.swift.o", ".atllbuild/objects/Task.swift.o", ".atllbuild/objects/Tools.swift.o", ".atllbuild/products/yaml.a"]
description: Linking executable .atllbuild/products/atbuild
client:
name: swift-build
tools: {}
targets:
"": [<atllbuild>]
atllbuild: [<atllbuild>]
commands:
<atllbuild-swiftc>:
tool: swift-compiler
executable: "/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/swiftc"
inputs: ["parsers/yaml/src/Operators.swift", "parsers/yaml/src/Parser.swift", "parsers/yaml/src/Regex.swift", "parsers/yaml/src/Result.swift", "parsers/yaml/src/Tokenizer.swift", "parsers/yaml/src/Yaml.swift"]
sources: ["parsers/yaml/src/Operators.swift", "parsers/yaml/src/Parser.swift", "parsers/yaml/src/Regex.swift", "parsers/yaml/src/Result.swift", "parsers/yaml/src/Tokenizer.swift", "parsers/yaml/src/Yaml.swift"]
objects: [".atllbuild/objects/Operators.swift.o", ".atllbuild/objects/Parser.swift.o", ".atllbuild/objects/Regex.swift.o", ".atllbuild/objects/Result.swift.o", ".atllbuild/objects/Tokenizer.swift.o", ".atllbuild/objects/Yaml.swift.o"]
outputs: ["<atllbuild-swiftc>", ".atllbuild/objects/Operators.swift.o", ".atllbuild/objects/Parser.swift.o", ".atllbuild/objects/Regex.swift.o", ".atllbuild/objects/Result.swift.o", ".atllbuild/objects/Tokenizer.swift.o", ".atllbuild/objects/Yaml.swift.o"]
is-library: true
module-name: yaml
module-output-path: .atllbuild/products/yaml.swiftmodule
temps-path: .atllbuild//llbuildtmp
other-args: ["-j8", "-D", "ATBUILD", "-I", ".atllbuild/products/", "-D", "CORELIBS_FOUNDATION"]
<atllbuild>:
tool: shell
inputs: ["<atllbuild-swiftc>", ".atllbuild/objects/Operators.swift.o", ".atllbuild/objects/Parser.swift.o", ".atllbuild/objects/Regex.swift.o", ".atllbuild/objects/Result.swift.o", ".atllbuild/objects/Tokenizer.swift.o", ".atllbuild/objects/Yaml.swift.o"]
outputs: ["<atllbuild>", ".atllbuild/products/yaml.a"]
args: ["/bin/sh","-c",rm -rf .atllbuild/products/yaml.a; ar cr '.atllbuild/products/yaml.a' '.atllbuild/objects/Operators.swift.o' '.atllbuild/objects/Parser.swift.o' '.atllbuild/objects/Regex.swift.o' '.atllbuild/objects/Result.swift.o' '.atllbuild/objects/Tokenizer.swift.o' '.atllbuild/objects/Yaml.swift.o']
description: "Linking Library: .atllbuild/products/yaml.a"
\ No newline at end of file
client:
name: swift-build
tools: {}
targets:
"": [<atllbuild>]
atllbuild: [<atllbuild>]
commands:
<atllbuild-swiftc>:
tool: swift-compiler
executable: "/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/swiftc"
inputs: ["parsers/yaml/src/Operators.swift", "parsers/yaml/src/Parser.swift", "parsers/yaml/src/Regex.swift", "parsers/yaml/src/Result.swift", "parsers/yaml/src/Tokenizer.swift", "parsers/yaml/src/Yaml.swift"]
sources: ["parsers/yaml/src/Operators.swift", "parsers/yaml/src/Parser.swift", "parsers/yaml/src/Regex.swift", "parsers/yaml/src/Result.swift", "parsers/yaml/src/Tokenizer.swift", "parsers/yaml/src/Yaml.swift"]
objects: [".atllbuild/objects/Operators.swift.o", ".atllbuild/objects/Parser.swift.o", ".atllbuild/objects/Regex.swift.o", ".atllbuild/objects/Result.swift.o", ".atllbuild/objects/Tokenizer.swift.o", ".atllbuild/objects/Yaml.swift.o"]
outputs: ["<atllbuild-swiftc>", ".atllbuild/objects/Operators.swift.o", ".atllbuild/objects/Parser.swift.o", ".atllbuild/objects/Regex.swift.o", ".atllbuild/objects/Result.swift.o", ".atllbuild/objects/Tokenizer.swift.o", ".atllbuild/objects/Yaml.swift.o"]
is-library: true
module-name: yaml
module-output-path: .atllbuild/products/yaml.swiftmodule
temps-path: .atllbuild//llbuildtmp
other-args: ["-j8", "-D", "ATBUILD", "-I", ".atllbuild/products/", "-sdk", "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk"]
<atllbuild>:
tool: shell
inputs: ["<atllbuild-swiftc>", ".atllbuild/objects/Operators.swift.o", ".atllbuild/objects/Parser.swift.o", ".atllbuild/objects/Regex.swift.o", ".atllbuild/objects/Result.swift.o", ".atllbuild/objects/Tokenizer.swift.o", ".atllbuild/objects/Yaml.swift.o"]
outputs: ["<atllbuild>", ".atllbuild/products/yaml.a"]
args: ["/bin/sh","-c",rm -rf .atllbuild/products/yaml.a; ar cr '.atllbuild/products/yaml.a' '.atllbuild/objects/Operators.swift.o' '.atllbuild/objects/Parser.swift.o' '.atllbuild/objects/Regex.swift.o' '.atllbuild/objects/Result.swift.o' '.atllbuild/objects/Tokenizer.swift.o' '.atllbuild/objects/Yaml.swift.o']
description: "Linking Library: .atllbuild/products/yaml.a"
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment