From 246d119e7ed16b1ee29dd1fcc2a090f7470a0d72 Mon Sep 17 00:00:00 2001 From: Drew Crawford Date: Wed, 29 Jun 2016 23:33:45 -0500 Subject: [PATCH 1/7] Add missing documentation Some of our documentation was missing headers (oops) and so did not render. That is fixed now. --- docs/configurations.md | 5 +++++ docs/platforms.md | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/docs/configurations.md b/docs/configurations.md index 94107b5..5055ef9 100644 --- a/docs/configurations.md +++ b/docs/configurations.md @@ -1,3 +1,8 @@ +--- +layout: documentation +tags: docs +--- + # Configurations `atbuild` supports a variety of built-in configurations: diff --git a/docs/platforms.md b/docs/platforms.md index ffb3fb5..c2f172d 100644 --- a/docs/platforms.md +++ b/docs/platforms.md @@ -1,3 +1,8 @@ +--- +layout: documentation +tags: docs +--- + # Platforms Platforms in `atbuild` are more explicit than in other tools you may have used. From 274df535d35b8a643fc3c5aa120571b5a4243a02 Mon Sep 17 00:00:00 2001 From: Drew Crawford Date: Thu, 7 Jul 2016 03:23:37 -0500 Subject: [PATCH 2/7] Document `:compress` option Added in package-framework 1.0 --- docs/package-framework.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/package-framework.md b/docs/package-framework.md index f705d68..b8c20ca 100644 --- a/docs/package-framework.md +++ b/docs/package-framework.md @@ -44,6 +44,9 @@ tags: docs :info-plist "Info.plist" :dependencies ["packageatbin"] + + ;; Create a compressed tarball for the framework + :compress true } } ) @@ -58,4 +61,4 @@ It's worth pointing out a few idiosynchrocies related to frameworks: # Deprecation -`atbuild` has a built-in `packageframework` tool, this is deprecated, and will be removed from a future version of atbuild. \ No newline at end of file +`atbuild` has a built-in `packageframework` tool, this is deprecated, and will be removed from a future version of atbuild. From 45f6caf1af6f8413c843dc48524c08f444fd0b76 Mon Sep 17 00:00:00 2001 From: Drew Crawford Date: Fri, 15 Jul 2016 05:15:01 -0500 Subject: [PATCH 3/7] Document C project support --- docs/atllbuild.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/atllbuild.md b/docs/atllbuild.md index cca3b36..8bbb16b 100644 --- a/docs/atllbuild.md +++ b/docs/atllbuild.md @@ -22,6 +22,9 @@ The `atllbuild` tool uses the [`swift-llbuild`](https://github.com/apple/swift-l :output-type "library" ;;walk the src directory and recursively find all swift files + ;;c and h files are also supported + ;;c files will be linked into the current library + ;;h files will be imported into Swift :sources ["src/**.swift"] ;;if true, we publish the product to the bin/ directory. @@ -34,10 +37,13 @@ The `atllbuild` tool uses the [`swift-llbuild`](https://github.com/apple/swift-l ;;Path to emit llbuild.yaml :llbuildyaml "llbuild.yaml" - ;;Provide an array of compile options. NOTHING IS IMPOSSIBLE + ;;Provide an array of Swift compile options. NOTHING IS IMPOSSIBLE :compile-options [] :link-options [] ;;link options too! + ;; if .c files are being compiled, these options will be used for them + :c-compile-options [] + :link-sdk true #Whether to link the platform SDK. True is the default value. ;;A product from another atllbuild task to link with. @@ -76,7 +82,15 @@ The `atllbuild` tool uses the [`swift-llbuild`](https://github.com/apple/swift-l ;; Whether to create a module map for the module or not. ;; "none" is the default value. "synthesized" means ;; we we will generate a module map for the target + ;; When using "synthesized", make sure the module map is distributed + ;; such as via packageatbin :module-map "none" + + ;; You can list a library like "curl" here to link with it + ;; Links listed here are automatically linked by consumers as well + ;; unlike `link-options`. + ;; Requires :module-map "synthesized" + :module-map-link [] :whole-module-optimization false From b7cd695954d3c55a061b3d38b8b3cc9e4ec2448b Mon Sep 17 00:00:00 2001 From: Drew Crawford Date: Mon, 18 Jul 2016 19:13:19 -0500 Subject: [PATCH 4/7] Doc PR for `--include` https://github.com/AnarchyTools/atpm/issues/12 --- docs/atpm.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/atpm.md b/docs/atpm.md index 261443a..0b6a239 100644 --- a/docs/atpm.md +++ b/docs/atpm.md @@ -122,6 +122,24 @@ If a package uses another versioning scheme than recognized by the `:version` pa If you're really desperate you may even specify a SHA commit id to check out, you should probably not use this, better use another method (as seen above) and [pin a defined commit](atlock.md) in the lock file. +### The `if-including` specification + +If a dependency is not required for ordinary build/use of the library (but may be required for testing or certain targets) you can specify an `if-including` directive which will only download the package if the directive is provided on the command line. + + ```clojure +:name "packageName" +:external-packages [ + { + :url "https://github.com/AnarchyTools/dummyPackageB.git" + :version [ ">=1.0" "<=2.0" ] + :if-including ["my-special-string"] + } +] +``` + +Now the package will only be fetched if `--include packageName.my-special-string` is passed on the command line. Including any of the specified strings will cause the package to be fetched. + +When passed on the CLI, include strings are namespaced to the package (e.g. `PackageName.string`). This is so multiple packages can use a string like `test` to specify test dependencies. ## Command line interface From 9d20143bf6aa4b813523f9b9ec1ef24e4a0f2c03 Mon Sep 17 00:00:00 2001 From: Drew Crawford Date: Mon, 29 Aug 2016 18:45:36 -0500 Subject: [PATCH 5/7] Document deployment-target --- docs/atllbuild.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/atllbuild.md b/docs/atllbuild.md index 8bbb16b..49492c9 100644 --- a/docs/atllbuild.md +++ b/docs/atllbuild.md @@ -44,7 +44,7 @@ The `atllbuild` tool uses the [`swift-llbuild`](https://github.com/apple/swift-l ;; if .c files are being compiled, these options will be used for them :c-compile-options [] - :link-sdk true #Whether to link the platform SDK. True is the default value. + :link-sdk true ;;Whether to link the platform SDK. True is the default value. ;;A product from another atllbuild task to link with. ;;You should supply a filename here, like "yaml.a". @@ -102,6 +102,10 @@ The `atllbuild` tool uses the [`swift-llbuild`](https://github.com/apple/swift-l ;; This is currently only supported on the xcode toolchain, see SR-1493 for details :bitcode false + ;; Deployment target. By default, we try to match your Xcode version. + ;; Currently this only has any effect for iOS builds. + :deployment-target "9.0" + } } From d3f331db7c1add0c7318e2b6c52a6a8adcca8fed Mon Sep 17 00:00:00 2001 From: Drew Crawford Date: Sun, 13 Nov 2016 14:16:43 -0600 Subject: [PATCH 6/7] Document that deployment-target now works for macOS --- docs/atllbuild.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/atllbuild.md b/docs/atllbuild.md index 49492c9..26f9164 100644 --- a/docs/atllbuild.md +++ b/docs/atllbuild.md @@ -103,7 +103,7 @@ The `atllbuild` tool uses the [`swift-llbuild`](https://github.com/apple/swift-l :bitcode false ;; Deployment target. By default, we try to match your Xcode version. - ;; Currently this only has any effect for iOS builds. + ;; Currently this only has any effect for iOS and macOS builds. :deployment-target "9.0" } From 7cd9624e23f0ed8aef94934bb8bde47a092c1c75 Mon Sep 17 00:00:00 2001 From: Drew Crawford Date: Sun, 13 Nov 2016 14:37:58 -0600 Subject: [PATCH 7/7] Document at.xcode-emit overlay --- docs/overlays.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/overlays.md b/docs/overlays.md index 9df462e..9f8db1c 100644 --- a/docs/overlays.md +++ b/docs/overlays.md @@ -111,7 +111,7 @@ You can specify that an overlay must be applied to a task. # Built-in overlays -The following overlays are enabled automatically by atbuild. +The following overlays are enabled automatically by AT tools. | overlay | enabled? | |------------------------|--------------------| @@ -119,4 +119,5 @@ The following overlays are enabled automatically by atbuild. | atbuild.platform.mac | Building for OSX | | atbuild.platform.linux | Building for Linux | | atbuild.platform.ios | Building for iOS | +| at.xcode-emit | The xcode-emit tool is emitting a project |