Skip to content

Latest commit

 

History

History
110 lines (72 loc) · 3.62 KB

README.md

File metadata and controls

110 lines (72 loc) · 3.62 KB

lcmap-system

Dependencies StatusClojars Project

Administrator Documentation for LCMAP System Deployment

Contents

About

The LCMAP system project is a meta-project of sorts, fulfilling the the following high-level duties:

  • Providing documentation for setting up a complete LCMAP deployment
  • Providing instructions and scripts for bootstrapping an LCMAP development environment, and
  • Maintaining a parent project for the Clojure dependencies of all other Clojure-based LCMAP system projects

System Documentation

This is the source for the LCMAP System documentation site:

The means by which one deploys the LCMAP system are documented there. The docs site utilizes TripIt's Slate project.

If you will be working on the LCMAP system docs locally or publishing changes to the Github docs site for LCMAP, you will need to have the appropraite tools installed on your system. You will need the following:

  • Ruby
  • Ruby gems

With those installed, you can set up this project's dependencies with the following:

$ make setup-docs

This will install Ruby Bundler and then Slate's dependencies.

To run the development web server (serving content locally) while update the docs, you may do the following:

$ make devdocs

Once complete, you may publish with this target:

$ make publish

Development Environment

If you will be working on other LCMAP system components. You can set up an Ubuntu 14.04 development environment with the following:

export LCMAP_HOME="$HOME/Projects/lcmap"
export CDPATH="$CDPATH:$LCMAP_HOME"
make setup-deps
make clone

With LCMAP system dependencies installed, you can bootstrap DB like so:

cd lcmap-data && make db-setup && cd -

Finally, you can launch the LCMAP REST API and an authentication service:

make run

Project Dependencies

As of version 2.7.0, lein offers the ability to manage dependencies of projects, and in conjunction with the lein-parent plugin, one may reduce the dependency management across all related projects (eight and growing, in the case of the LCMAP system) to a single project.clj file. This is what we have chosen to do, and this is how the project.clj file in lcmap-system is used.

License

Copyright © 2015-2016 United States Government

NASA Open Source Agreement, Version 1.3