Skip to content

gecko0307/resolve

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resolve

A tool for D language that installs dependencies from arbitrary git repos/branches locally and points dub.selections.json to them. This helps to work on the project and its dependencies simultaneously without pushing.

Usage

  1. Create a dependencies.json file in your Dub project. It should look like this:
{
    "git": {
        "dagon": ["https://github.com/gecko0307/dagon", "master"],
        "dagon:nuklear": ["https://github.com/gecko0307/dagon", "master"],
        "dagon:ftfont": ["https://github.com/gecko0307/dagon", "master"],
        "dlib": ["https://github.com/gecko0307/dlib", "v0.17.0"],
        "bindbc-loader": ["https://github.com/BindBC/bindbc-loader", "v0.2.1"],
        "bindbc-opengl": ["https://github.com/BindBC/bindbc-opengl", "v0.8.0"],
        "bindbc-sdl": ["https://github.com/BindBC/bindbc-sdl", "v0.8.0"],
        "bindbc-freetype": ["https://github.com/BindBC/bindbc-freetype", "v0.5.0"],
        "bindbc-nuklear": ["https://github.com/Timu5/bindbc-nuklear", "v0.3.1"],
        "bindbc-assimp": ["https://github.com/Sobaya007/bindbc-assimp", "v0.0.1-beta1"]
    }
}
  1. Install Resolve and run it:

dub fetch resolve

dub run resolve

It will create .resolve folder, clone the repositories and update dub.selections.json. It is recommended to add .resolve folder to .gitignore.

  1. Build your project with Dub as usual.

Limitations

Currently Resolve doesn't traverse dependency tree, you have to include everything to dependencies.json manually.