Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 1.87 KB

README.md

File metadata and controls

42 lines (32 loc) · 1.87 KB

Crane

Build and unit tests

Crane is an open-source tool aimed at simplifying the management of multiple code repositories in large-scale projects, developed in Rust. It allows the execution of operations across various git repositories with a single command. For example, the command crane sync fetches all sub-repositories within a project in one go.

Crane is a tool similar to the repo, which is used for source code management in Android projects. However, compared to the latter, Crane adopts a design of main repository plus sub-repositories, which is well compatible with individual git repositories, and provides more consistent user commands.

The Crane tool leverages a configuration file, ".crane", to delineate the sub-repositories within the primary project. This ".crane" file, in essence a Python script, provides users with enhanced flexibility in outlining the dependency graph.

Core concepts

[TODO]

Installation

[TODO]

Quick start

1. Create the configuration file

Create a file named ".crane" within the root directory of your project and add following code into the file:

deps = {
    ".": {
        "type": "solution",
        "deps_file": ".crane_deps",
        "url": "https://github.com/wang-jianliang/crane.git",
        "branch": "main",
    }
}

2. Sync the code

Run following command to sync the code to your local directoryExecute the following command to synchronize the code to the local directory, the effect is equivalent to executing the git clone command to pull all sub-repositories to the local one by one.

$ crane sync <project root>

Build

Clone this repository and run:

$ cargo build