# MpxjEx v0.1.0 - API Reference

## Modules

- [MpxjEx](MpxjEx.md): Read Microsoft Project, Primavera and other schedule files, powered by
[MPXJ](https://www.mpxj.org).
- [MpxjEx.Installer](MpxjEx.Installer.md): Downloads MPXJ and keeps its jars in a local directory.
- [MpxjEx.Server](MpxjEx.Server.md): A long running JVM that handles read and convert requests.

- Data model
  - [MpxjEx.Assignment](MpxjEx.Assignment.md): The assignment of a resource to a task.
  - [MpxjEx.Calendar](MpxjEx.Calendar.md): A working time calendar.
  - [MpxjEx.Project](MpxjEx.Project.md): A schedule read by `MpxjEx.read/2`.
  - [MpxjEx.Rate](MpxjEx.Rate.md): A cost rate: `amount` per `units`, for example 50.0 per `:hours`.

  - [MpxjEx.Relation](MpxjEx.Relation.md): A dependency between two tasks.
  - [MpxjEx.Resource](MpxjEx.Resource.md): A resource (person, material or cost) in a schedule.
  - [MpxjEx.Task](MpxjEx.Task.md): A task (activity) in a schedule.

- Exceptions
  - [MpxjEx.Error](MpxjEx.Error.md): Returned (or raised by the `!` functions) when a file can't be read or converted.

## Mix Tasks

- [mix mpxj_ex.build_bridge](Mix.Tasks.MpxjEx.BuildBridge.md): Compiles `java/src` into `priv/mpxj_ex_bridge.jar`.
- [mix mpxj_ex.install](Mix.Tasks.MpxjEx.Install.md): Downloads MPXJ into the directory configured for `MpxjEx.Installer`.

