einstein is a dependency management tool that aims to simplify and automate software projects dependencies calculation. Software products are commonly composed of multiple projects, and those projects relate to each other at some kind of level. It's important to guarantee that those relationships are based on the projects' versions so one can assure that they can evolve without compromising such relationships. During dependencies calculation, the einstein tool needs to fetch projects' extra information from a central repository. At its current version, einstein is prepared to communicate to any Gitlab instance, through its api, so it assumes that declared dependencies represents projects that are all stored in a single Gitlab instance. In order to establish a successful connection to the Gitlab Api, it's necessary to create the environment variables on the machine where einstein will be executed.
Features
- Declared versions must be specified according semver specifications
- The validate command allows you to locally validate the dependencies of a local project
- By using the calculate command, einstein assumes that it'll fetch all dependencies through the configured Gitlab instance's API
- Import using Gradle
- Import using Maven
- Register project's dependencies on a single file that is placed within the project itself