Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/artemnovichkov/carting

🚘 A simple tool for updating Carthage script phase
https://github.com/artemnovichkov/carting

carthage homebrew swift swift-package-manager swift-script xcode

Last synced: about 1 month ago
JSON representation

🚘 A simple tool for updating Carthage script phase

Awesome Lists containing this project

README

        


Carting




Make

Swift Package Manager

Do you use [Carthage](https://github.com/Carthage/Carthage)? Are you feel tired of adding special script and the paths to frameworks (point 4, 5 and 6 in [Getting Started guide](https://github.com/Carthage/Carthage#getting-started)) manually? Me too. Carting does it for you. It scans Carthage folder and linked frameworks, gets framework names and updates the script.


Carting usage

## Using

Run `carting update` in project folder. That's all.

By default Carting searches a script named `Carthage`, but you can set a name of your script via command line arguments:

```
$ carting update -s MyBestScript
```

If there is no script with the name, Carting will add a new one.

Since Xcode 10 Run Script Phases support declaring input and output files in a `.xcfilelist` file. This file should contain a newline-separated list of the file paths for the inputs or outputs. Carting uses it by default. If you need to work with your projects in old Xcode versions, use `-f file` option.

**🚨Note**: be sure to have no uncommitted changes in project file to prevent project parsing errors 😱.


Project parsing error

Run `carting --help` to see available commands:

```bash
OVERVIEW: 🚘 Simple tool for updating Carthage script phase

USAGE: Carting

SUBCOMMANDS:
info Prints Carthage frameworks list with linking description.
lint Lint the project for missing paths.
update Adds a new script with input/output file paths or updates the script named `Carthage`.
```

## Linting

Integrate Carting into an Xcode scheme to get errors displayed in the IDE. Just add a new "Run Script Phase" with:

```bash
/usr/local/bin/carting lint
```


Run Script Phase

## Installing

### Homebrew (recommended):

```bash
$ brew tap artemnovichkov/projects
$ brew install carting
```

### [Mint](https://github.com/yonaskolb/mint):

```bash
$ mint run artemnovichkov/carting
```

### Make:

```bash
$ git clone https://github.com/artemnovichkov/carting.git
$ cd Carting
$ make
```

### Swift Package Manager:

```swift
let package = Package(
dependencies: [
.Package(url: "https://github.com/artemnovichkov/carting", majorVersion: 2)
]
)
```
## Author

Artem Novichkov, https://www.artemnovichkov.com/about

## License

Carting is available under the MIT license. See the LICENSE file for more info.