Libraries are stored as Git Submodules

Libraries are stored as Git Submodules (.gitmodules file). A Git submodule is a file record which points to specific commits in external repositories that contain the library source code.

The .gitmodules file is automatically generated by Iguana, when a library is created or imported into a Translator project. This text file contains metadata about the mapping between the submodule project's URL (library git repository URL) and the local directory.

For example, a .gitmodules file may look like this:

[submodule "STAT"] path = STAT url = https://bitbucket.org/interfaceware/status.git [submodule "FIL"] path = FIL url = https://bitbucket.org/interfaceware/fil.git [submodule "TIMER"] path = TIMER url = https://bitbucket.org/interfaceware/timer.git

Submodules enable more efficient code reusability and collaboration. Separating libraries designed to be shared across multiple components into their own repository ensures that users won’t risk missing any upstream changes to the library. Every component depending on the library, will have the opportunity to pull down those changes.

 

Â