Conche is a Swift build system.
After the release of Conche, Apple surprised us and release the Swift Package Manager (SPM) and therefore this project isn't applicable. I'd suggest you instead take a look at SPM and use that over Conche.
The easiest way to install Conche is with Homebrew:
$ brew install --HEAD kylef/formulae/conche
If you don't have Homebrew, Conche can be installed using the Makefile:
$ git clone --recursive https://github.com/Conche/Conche
$ cd Conche
$ make install
To get started with Conche, you can use conche init
to create your first project.
$ conche init HelloWorld --with-tests
Initialised HelloWorld.
Conche uses the standard JSON podspec format to build your library. In your podspec you can declare the source files, and dependencies used for your project.
$ conche build
Downloading Dependencies
-> PathKit 0.5.0
-> Commander 0.5.0
Building Dependencies
-> PathKit
-> Commander
Building Conche
Building Entry Points
-> conche -> .conche/bin/conche
You can use Conche in conjunction with the Spectre BDD testing library.
$ conche test
If you are building a command line tool, you can add each command line tool you want to provide in the cli entry point section in your podspec.
{
"name": "Conche",
"version": "1.0.0",
"source_files": "Conche/*.swift",
"entry_points": {
"cli": {
"conche": "bin/conche.swift"
}
},
"dependencies": {
"Commander": [ "~> 0.5.0" ],
"PathKit": [ "~> 0.5.0" ]
}
}
You can execute your tool via conche
after it's built.
$ conche exec <NAME>
You can install the CLI entry points to your system using Conche.
$ conche install
Conche is probably not for you, I'd suggest you take a look at CocoaPods instead which offers Xcode integration. The purpose of Conche is that it is a build system separate from Xcode which can work on various platforms such as Linux.
Currently it does not, however it's built with other operating systems in-mind and it would be trivial to add support for other platforms once Swift is finally opened sourced. See #7.
Not yet, but in the future you may be able to. Only CLI tools and libraries are supported.
Either we don't want to or we haven't got round to implementing it yet. Pull requests are welcome.
Of course.