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.
[TODO]
[TODO]
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",
}
}
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>
Clone this repository and run:
$ cargo build