Skip to content

Conche/Conche

Repository files navigation

Conche

Build Status

Conche is a Swift build system.

Project Status

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.

Installation

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

Usage

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

Entry Points

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

FAQ

I want to use Xcode.

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.

Does Conche support 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.

Can I build an OS X, iOS, watchOS, tvOS application with Conche?

Not yet, but in the future you may be able to. Only CLI tools and libraries are supported.

Why don't you support X?

Either we don't want to or we haven't got round to implementing it yet. Pull requests are welcome.

Can Conche build Conche?

Of course.