awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Carthage avatar

Carthage/Carthage

0
View on GitHub↗
15,174 stars·1,546 forks·Swift·16 views

Carthage

Carthage is a decentralized dependency manager for Cocoa projects and an automation tool for Xcode builds. It functions as a Git-based framework manager and binary distribution tool used to fetch, build, and manage external libraries.

The project distinguishes itself by supporting the production and distribution of platform-independent binary frameworks and static libraries. It utilizes Git tags and submodules to lock specific versions of external libraries and provides mechanisms to distribute prebuilt binaries via zipped release archives.

The system covers dependency resolution and version locking to ensure environment consistency. It includes capabilities for source-based local compilation, build artifact caching to reduce redundant compilation times, and integration with continuous delivery pipelines for automated binary uploads.

Features

  • Dependency Management - Provides a decentralized system for fetching and building external libraries for Cocoa projects.
  • Dependency Lock Managers - Generates and maintains lock files to ensure consistent dependency versions across different environments.
  • Binary Distribution Tools - Produces and distributes platform-independent binary frameworks to reduce compilation times for end users.
  • Xcode Build Automation - Automates the compilation of third-party dependencies into binary form for integration into Xcode projects.
  • Dependency Lock Files - Determines exact dependency versions by locking them in a resolution file to ensure environment consistency.
  • External Dependency Managers - Downloads and builds external frameworks listed in a configuration file into binary form.
  • Dependency Resolution - Resolves and fetches external libraries into a project to ensure consistent versioning.
  • Multi-Architecture Bundles - Produces platform-independent frameworks that wrap multiple architecture-specific binaries into a single distributable package.
  • Git Submodule Integration - Integrates external libraries as git submodules to allow direct version control of dependency source code.
  • Dependency Version Locking - Uses Git tags and submodules to lock specific versions of external libraries and ensure environment consistency.
  • iOS Development - Manages external source code and prebuilt binaries specifically for native Apple platform development.
  • XCFramework Production - Produces platform-independent binary frameworks that support multiple architectures to simplify integration.
  • Local Build Orchestrators - Downloads source code from remote repositories and manages the local compilation of project packages.
  • Continuous Integration and Delivery - Automates the compilation and upload of zipped framework binaries via continuous integration pipelines.
  • Build Artifact Caching - Provides caching of compiled framework binaries to reduce redundant compilation times during build cycles.
  • Automated Dependency Updaters - Upgrades external frameworks to the latest versions based on defined compatibility requirements.
  • Upload Automation - Automates the upload of tagged releases to a repository through integration with continuous integration services.
  • Build Caches - Stores compiled framework binaries to avoid re-compiling unchanged dependencies during subsequent build cycles.
  • Static Compilation Toolchains - Compiles dynamic frameworks as static libraries to reduce application launch times.
  • Artifact Uploaders - Automates the build and upload of compiled framework artifacts to external stores.
  • Build And Automation - Decentralized dependency manager for integrating third-party frameworks.
  • Dependency Management - Distributed dependency manager for Cocoa.
  • Dependency Managers - Decentralized dependency manager for Cocoa projects.
  • Developer Utilities - Decentralized dependency manager for Swift and Objective-C.
  • Package Management - Decentralized dependency manager for Cocoa projects.

Star history

Star history chart for carthage/carthageStar history chart for carthage/carthage

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Carthage

Similar open-source projects, ranked by how many features they share with Carthage.
  • masterminds/glideMasterminds avatar

    Masterminds/glide

    8,095View on GitHub↗

    Glide is a Go dependency management tool that fetches, pins, and vendors external packages to enable reproducible builds across environments. It stores project-specific copies of Go packages in a vendor directory, isolating dependencies per project to avoid version conflicts, and supports fetching packages from Git, Mercurial, Bazaar, and Subversion repositories. The tool resolves dependency versions using semantic versioning ranges and operators, and generates a lock file that records exact commit IDs for all transitive dependencies. Glide distinguishes itself with an interactive version wiz

    Gogogolangpackage-management
    View on GitHub↗8,095
  • cocoapods/cocoapodsCocoaPods avatar

    CocoaPods/CocoaPods

    14,823View on GitHub↗

    CocoaPods is a dependency manager for Swift and Objective-C projects that integrates third-party libraries via configuration files. It serves as a project workspace orchestrator, coordinating the build process and linking external dependencies through centralized workspace configurations. To ensure environment consistency across different development machines, it employs a manifest-based version locking system. The project provides a version-controlled library specification registry for managing and distributing metadata and source paths for reusable code modules. It includes tools for extern

    Ruby
    View on GitHub↗14,823
  • golang/depgolang avatar

    golang/dep

    12,737View on GitHub↗

    This project is a dependency management tool for Go designed to track and lock package versions to ensure reproducible builds across different environments. It functions as a version lock file manager, recording complete snapshots of the dependency graph to prevent version drift, and as a semantic version constraint resolver that calculates compatible package versions. The tool orchestrates a local vendor directory, mirroring external source code to enable offline builds and source auditing. It utilizes a combination of static analysis to discover required libraries and a logic engine to inte

    Godependency-managergolangpackage-manager
    View on GitHub↗12,737
  • tools/godeptools avatar

    tools/godep

    5,513View on GitHub↗

    godep is a dependency manager for Go that records, restores, and updates package versions to ensure reproducible builds across different environments. It functions as a version lock tool, tracking specific package revisions in a manifest file to synchronize development workspaces and build states. The tool includes vendoring capabilities that copy external Go source code into a local directory, enabling projects to be built without active network access. The system manages the full dependency lifecycle, covering version locking, workspace synchronization, and the updating of tracked packages

    Go
    View on GitHub↗5,513
See all 30 alternatives to Carthage→

Frequently asked questions

What does carthage/carthage do?

Carthage is a decentralized dependency manager for Cocoa projects and an automation tool for Xcode builds. It functions as a Git-based framework manager and binary distribution tool used to fetch, build, and manage external libraries.

What are the main features of carthage/carthage?

The main features of carthage/carthage are: Dependency Management, Dependency Lock Managers, Binary Distribution Tools, Xcode Build Automation, Dependency Lock Files, External Dependency Managers, Dependency Resolution, Multi-Architecture Bundles.

What are some open-source alternatives to carthage/carthage?

Open-source alternatives to carthage/carthage include: masterminds/glide — Glide is a Go dependency management tool that fetches, pins, and vendors external packages to enable reproducible… cocoapods/cocoapods — CocoaPods is a dependency manager for Swift and Objective-C projects that integrates third-party libraries via… golang/dep — This project is a dependency management tool for Go designed to track and lock package versions to ensure reproducible… tools/godep — godep is a dependency manager for Go that records, restores, and updates package versions to ensure reproducible… jamitlabs/accio — A dependency manager driven by SwiftPM that works for iOS/tvOS/watchOS/macOS projects. rubygems/bundler — Bundler is a Ruby dependency manager that resolves gem versions and locks them in a lockfile so every machine installs…