# Metabase OS X App ## Prereqs You'll need to run the following commands before building the app: ```bash # 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: ```bash # Bundle entire app, and upload to s3 ./release ```