# Module Repository¶

A module repository is a module that bundles a set of modules in a portable ZIP file. It is a tree structure where modules organizations and names are mapped to folders.

Example of MicroEJ Module Repository Tree

A module repository takes its input modules from other repositories, usually the MicroEJ Central Repository which is itself built by MicroEJ Corp. as a module repository.

A module repository is often called an offline repository as it includes the settings file for a local configuration in MicroEJ SDK. It can also be imported in MicroEJ Forge.

## Create a Repository Project¶

In MicroEJ SDK, first create a new module project using the artifact-repository skeleton.

• The ivysettings.xml settings file describes how to import the modules of this repository when it is extracted locally on file system. This file will be packaged at the root of the zip file and does not need to be modified.
• The module.ivy file describes how to build repository and lists the module dependencies that will be included in this repository.

## Configure Resolver for Input Modules¶

MicroEJ Module Manager (MMM) needs to import dependencies to build the module repository. The location fetched by MMM is defined by a resolver. The resolver is configured with the parameter bar.populate.from.resolver. The preset value is the resolver provided by default in MicroEJ SDK configuration, which is connected to MicroEJ Central Repository.

<ea:property name="bar.populate.from.resolver" value="MicroEJChainResolver"/>