Swiftpack.co - Package - artemnovichkov/Carting

Carting

Make Swift Package Manager Swift Package Manager

Do you use Carthage? Are you feel tired of adding special script and the paths to frameworks (point 4, 5 and 6 in Getting Started guide) 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 build 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:

Usage: carting [command] [options]
  update:
      Adds a new script with input/output file paths or updates the script named `Carthage`.
  -s, --script:
      The name of Carthage script.
  -p, --path:
      The project directory path.
  -f, --format:
      Format of input/output file paths:
        file - using simple paths
        list - using xcfilelists
  info:
      Prints Carthage frameworks list with linking description.
  help:
      Prints this message.

Installing

Homebrew (recommended):

$ brew tap artemnovichkov/projects
$ brew install carting

Mint:

$ mint run artemnovichkov/Carting

Make:

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

Swift Package Manager:

let package = Package(
    dependencies: [
        .Package(url: "https://github.com/artemnovichkov/carting", majorVersion: 1)
    ]
)

Marathon

  • Install Marathon.
  • Add Carting to Marathon using $ marathon add git@github.com:artemnovichkov/carting.git. Alternatively, add git@github.com:artemnovichkov/carting.git to your Marathonfile.
  • Write your script, then run it using $ marathon run <path-to-your-script>.

Todo

  • [x] Add option for adding new script
  • [x] Add support of multiple targets
  • [x] Add check of linked frameworks
  • [x] Unify errors
  • [x] Check correct work with workspaces
  • [ ] Write tests

Author

Artem Novichkov, novichkoff93@gmail.com

License

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

Github

link
Stars: 111
Help us keep the lights on

Used By

Total: 0

Releases

1.3.3 - Mar 22, 2019

Fixed:

  • Remove adding of extra input and output paths. Closes #33.

1.3.2 - Nov 8, 2018

Fixed:

  • Exclude unit tests target from update command (#30) via @alphatroya

1.3.1 - Nov 2, 2018

Added:

  • Description of formats in help and README (#24) via @dstranz

Fixed:

  • Fix output paths format for file option (#23)
  • Fix parsing of custom scripts without filelist paths (#29). Thanks @olejnjak for the case!

1.3 - Oct 14, 2018

Added:

  • xcfilelist file support. Closes #19.

1.2.15 - Oct 14, 2018

Added:

  • Mint installation support via @alphatroya