Newer
Older
[](https://circleci.com/gh/metabase/metabase-init)
## Install Prerequisites
1. Oracle JDK 8 (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
2. Node.js for npm (http://nodejs.org/)
3. Leiningen (http://leiningen.org/)
Install clojure + npm/bower requirements with
lein deps
npm install
Compile application css file with
./node_modules/gulp/bin/gulp.js build
Then run the HTTP server with
lein ring server
## Unit Tests / Linting
Check that the project can compile successfully with
lein check
Run the linter with
lein eastwood
Run unit tests with
lein expectations
## Documentation
#### Instant Cheatsheet
Start up an instant cheatsheet for the project + dependencies by running
lein instant-cheatsheet
#### Marginalia
Available at http://metabase.github.io/metabase-init/.
You can generate and view documentation with
open ./docs/uberdoc.html
You can update the GitHub pages documentation using
make dox
You should be on the `master` branch without any uncommited local changes before doing so. Also, make sure you've fetched the branch `gh-pages` and can push it back to `origin`.
## Migration Summary
lein migration-summary
Will give you a list of all tables + fields in the Metabase DB.
To quickly get your dev environment set up, use the `bootstrap` function to create a new User and Organization.
Open a REPL in Emacs or with `lein repl` and enter the following:
## API Client (for Development)
You can make API calls from the REPL using `metabase.http-client`:
(use 'metabase.http-client)
(-> (apply client {:email "crowberto@metabase.com", :password "blackjet"} args)
clojure.pprint/pprint))
(cl :get "user/current")
;; -> {:email "crowbetro@metabase.com",
;; :first_name "Crowbero",
;; :last_login #inst "2015-03-13T22:55:05.390000000-00:00",
;; ...}
## Checking for Out-of-Date Dependencies
lein ancient # list all out-of-date dependencies
lein ancient latest lein-ring # list latest version of artifact lein-ring
Will give you a list of out-of-date dependencies. This requires leiningen version 2.4.0 or higher so run `lein upgrade` first if needed.
This doesn't seem to check plugins, so you'll have to do that manually using `lein ancient latest`.
Once's this repo is made public, this Clojars badge will work and show the status as well:
[](http://jarkeeper.com/metabase/metabase-init)
Distributed under the terms of the GNU Affero General Public License (AGPL) except as otherwise noted. See individual files for details.