Link Related Projects with moonshine dependencies.xml - Moonshine-IDE/Moonshine-IDE GitHub Wiki
Starting with version 2.2.0, Moonshine supports configuring project dependencies and related repositories for a respository. When the user clones the repository, Moonshine will display this list to the user in the Manage Respositories interface, to allow them to quickly clone any projects needed to edit or build the project.
To use this feature, add moonshine-dependencies.xml to your repository root directory. Use the format defined below, or copy https://github.com/prominic/Moonshine-IDE/blob/master/moonshine-dependencies.xml and use that as a template.
The structure of moonshine-dependencies.xml looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<label>Moonshine-IDE Dependencies</label>
<description>All other repositories required to build Moonshine-IDE</description>
<dependenciesVersion>1.0.0</dependenciesVersion>
<dependencies>
<dependency>
<label>Dependency: Moonshine-SDK-Installer</label>
<repo-type>git</repo-type>
<url>https://github.com/prominic/Moonshine-SDK-Installer</url>
<description>Required for the shared SDK Installer interface.</description>
</dependency>
...
</dependencies>
</root>
I have more details below, along with suggestions on how to use them to properly fit with the Manage Repositories interface.
Tag | Purpose | Style suggestions |
---|---|---|
label | A label for the repository list. The repository URL will be appended in Manage Repositories | This should contain the name of the project and a word or two to describe the general purpose of the list. |
description | A more detailed description of the purpose of this list | Keep this brief, probably no more than one sentence. |
dependenciesVersion | The format version for moonshine-dependencies.xml. The format and version will update as we add support for more features. | |
dependencies | An ordered list of the entries to display to the user | Use the ordering to make logical groupings of the entries |
Tag | Purpose | Style suggestions |
---|---|---|
label | A label for the repository. Moonshine will append the repository URL. | Use the name of the corresponding project. Prefix a keyword (like "Dependency: " or "Example: " to identify the general purpose (this may be moved to a separate tag in the future. |
repo-type | The type of the repository. "git" or "svn" | |
url | The URL to use to clone/checkout the repository | Exclude the trailing .git for brevity |
description | A more detailed description of the purpose of this entry | Explain why the user would want this repository. Keep this brief, probably no more than one sentence. |