Giter VIP home page Giter VIP logo

mirror-sh's Introduction

Mirror

A small script responsible to mirror online resources like repositories or files locally and acts the most basic version of a bash-package-manager. In most cases Mirror adds offline capabilities to the typical curl url | bash-pattern and extends it to repositories.

Subcommand Returns
mirror file url File contents.
mirror repo url-or-github-repo [branch tag commit] Path to repository.

Installation

Homebrew

$ brew tap vknabel/mirror-sh https://github.com/vknabel/mirror-sh
$ brew install mirror-sh

Manual

$ curl https://raw.githubusercontent.com/vknabel/mirror-sh/master/mirror.sh > /usr/local/bin/mirror
$ chmod +x /usr/local/bin/mirror

Configuration

Env Variable Description
MIRROR_PATH The base path to store mirrors. Defaults to $HOME/.mirror.

Examples

# Run a Swift Package by a given url in a specific version
function mirror-swiftpm() {
    if [ "$#" -ge 3 ]; then
        local PACKAGE="$1"
        local VERSION="$2"
        local TARGET="$3"

        local CLONE_PATH=$(mirror repo "$PACKAGE" "$VERSION")
        swift build --package-path "$CLONE_PATH" -c release > /dev/null
        swift run --skip-build --package-path "$CLONE_PATH" -c release "$TARGET" ${@:4}
    else
        echo "usage: mirror-swiftpm package version target [arguments...]"
    fi
}

# Runs a specific Swift Package in a specific version
function archery@maser() {
    mirror-swiftpm https://github.com/vknabel/Archery master archery $@
}

License

Mirror is available under the MIT license.

mirror-sh's People

Contributors

vknabel avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.