Link Related Projects with moonshine dependencies.xml - Moonshine-IDE/Moonshine-IDE GitHub Wiki

Purpose

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.

Format

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.

<root>

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

<dependency>

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.
⚠️ **GitHub.com Fallback** ⚠️