Metabase OS X App

Prereqs

  1. Install XCode.

  2. Run ./bin/build to build the latest version of the uberjar.

  3. Next, you’ll need to run the following commands before building the app:

Fetch and initialize git submodule

git submodule update –init

Install libcurl (needed by WWW::Curl::Simple)

brew install curl && brew link curl –force

Install Perl modules used by ./setup and ./release

sudo cpan install File::Copy::Recursive JSON Readonly String::Util Text::Caml WWW::Curl::Simple

Copy JRE and uberjar

./bin/osx-setup


`./bin/osx-setup` will build run commands to build the uberjar for you if needed.
Run `./bin/osx-setup` again at any time in the future to copy the latest version of the uberjar into the project.


## Releasing

A handy Perl script called `./bin/osx-release` takes care of all of the details for you. Before you run it for the first time, you'll need to set up a few additional things:

```bash
# Configure AWS Credentials
# You'll need credentials that give you permission to write the metabase-osx-releases S3 bucket.
aws configure --profile metabase

# Copy & Edit Config file
cp bin/config.json.template bin/config.json
emacs bin/config.json

# Obtain a copy of the private key used for signing the app (ask Cam)
# and put a copy of it at ./dsa_priv.pem
cp /path/to/private/key.pem OSX/dsa_priv.pem

You’ll probably also want an Apple Developer ID Application Certificate in your computer’s keychain (ask Cam).

After that, you are good to go:

# Bundle entire app, and upload to s3
./bin/osx-release