Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/giginet/barca
⚡Barca hastens Carthage packages like lightning.
https://github.com/giginet/barca
Last synced: about 17 hours ago
JSON representation
⚡Barca hastens Carthage packages like lightning.
- Host: GitHub
- URL: https://github.com/giginet/barca
- Owner: giginet
- License: mit
- Created: 2019-09-16T18:59:07.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-09-24T19:00:38.000Z (over 5 years ago)
- Last Synced: 2025-01-19T16:49:51.424Z (5 days ago)
- Language: Swift
- Homepage:
- Size: 71.3 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Barca
[![Build Status](https://img.shields.io/travis/giginet/Barca.svg?branch=master&style=flat-square)](https://travis-ci.org/giginet/Barca)
[![Release](https://img.shields.io/github/release/giginet/Barca.svg?style=flat-square)](https://github.com/giginet/Barca/releases)
[![SwiftPM compatible](https://img.shields.io/badge/SwiftPM-compatible-4BC51D.svg?style=flat-square)](https://github.com/apple/swift-package-manager)
[![Language](https://img.shields.io/static/v1.svg?label=language&message=Swift%205.1&color=FA7343&logo=swift&style=flat-square)](https://swift.org)
[![Xcode](https://img.shields.io/static/v1.svg?label=tool&style=flat-square&color=1575F9&message=Xcode%2011.1)](https://developer.apple.com/download)
[![Platform](https://img.shields.io/static/v1.svg?label=platform&message=macOS&color=grey&logo=apple&style=flat-square)](http://cocoapods.org/pods/Barca)
[![License](https://img.shields.io/github/license/giginet/Barca.svg?style=flat-square&color=black)](https://github.com/giginet/Barca/blob/master/LICENSE):zap: Barca hastens Carthage packages like lightning.
## Overview
Barca enables to build Carthage packages as Static Frameworks.
Barca injects build settings to each packages before building.
## Installation
### Mint
```
$ mint run giginet/Barca
```## Usage
### Config
For example, your project have following `Cartfile`.
```
github "ReactiveX/RxSwift" ~> 5.0.0
github "giginet/Crossroad" ~> 3.0.0
```Place `Barca.toml` on your project root.
You have to specify Framework types for each packages.Some packages contains multiple modules. (e.g. RxSwift)
You can treat them like followings.```toml
[packages.RxSwift]
RxCocoa = "static"
RxSwift = "static"
RxRelay = "static"
RxTest = "dynamic"
RxBlocking = "dynamic"[packages.Crossroad]
Crossroad = "static"
```### Workflow
```console
$ carthage bootstrap --no-build
$ barca apply --project-root /path/to/your/project/directory
RxSwift:
⚡Modified RxSwift to Static Framework
⚡Modified RxCocoa to Static Framework
⚡Modified RxRelay to Static Framework
⚡Modified RxTest to Dynamic Framework
⚡Modified RxBlocking to Dynamic Framework
Crossroad:
⚡Modified Crossroad to Static Framework
$ carthage build
```### Settings
```toml
git_path = "/path/to/git/executable"[packages.SomePackage]
Target1 = "dynamic"
Target2 = "static"
```