# Developing the CDMI Server

## Introduction

To start developing for the CDMI server component, you need to get the latest sources from [INDIGO-DC CDMI](https://github.com/indigo-dc/CDMI).

## Requirements

* git
* Java Development Kit > 8
* Maven >= 3

## Get the sources

You can download the sources from the GitHub repository [INDIGO-DC CDMI](https://github.com/indigo-dc/CDMI).

`git clone https://github.com/indigo-dc/CDMI.git`

## Build

The project uses the Maven build automation tool that will build one fat executable jar Spring Boot application.

`mvn clean package`

If you encounter problems you might want to check and modify the maven `pom.xml` file.

## (optional) Configure the service

If you need to conifgure the service before building, you can find the configuration in `src/main/resources/application.properties`. However, the service can be fully configured also at runtime, see previous chapter - Installing CDMI-QoS.

## Run

To run the CDMI service you can directly execute the built jar.

`./target/cdmi-server-0.0.1-SNAPSHOT.jar`

## Start developing

Recommended development environment for the CDMI service is the [Spring Tool Suite™](https://spring.io/tools/sts).

The CDMI service can be imported as a Maven project.

## Get in touch

You can get in touch with the developers on [GitHub INDIGO-DC CDMI](https://github.com/indigo-dc/CDMI).
