diff options
| -rw-r--r-- | Library/Formula/dynamodb-local.rb | 67 | 
1 files changed, 67 insertions, 0 deletions
| diff --git a/Library/Formula/dynamodb-local.rb b/Library/Formula/dynamodb-local.rb new file mode 100644 index 000000000..de01e6e5d --- /dev/null +++ b/Library/Formula/dynamodb-local.rb @@ -0,0 +1,67 @@ +require 'formula' + +class DynamodbLocal < Formula +  homepage 'https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.html' +  url 'https://s3-us-west-2.amazonaws.com/dynamodb-local/dynamodb_local_2013-09-12.tar.gz' +  version '2013-09-12' +  sha1 'b8e492b8908710c6ea8fb4b74624ecc7b168ea73' + +  def data_path +    var/'data/dynamodb-local' +  end + +  def log_path +    var/'log/dynamodb-local.log' +  end + +  def bin_wrapper; <<-EOS.undent +    #!/bin/sh +    cd #{data_path} && java -Djava.library.path=#{libexec} -jar #{libexec}/DynamodbLocal.jar +    EOS +  end + +  def install +    prefix.install %w[LICENSE.txt README.txt third_party_licenses] +    libexec.install %w[DynamodbLocal.jar libsqlite4java-osx.jnilib] +    (bin/'dynamodb-local').write(bin_wrapper) +  end + +  def post_install +    data_path.mkpath +  end + +  def caveats; <<-EOS.undent +    You must use version 7.x of the Java Runtime Engine (JRE). +    DynamoDB Local does not work on older Java versions. + +    DynamoDB Local only supports V2 of the service API. + +    Data: #{data_path} +    Logs: #{log_path} +    EOS +  end + +  plist_options :manual => "#{HOMEBREW_PREFIX}/bin/dynamodb-local" + +  def plist; <<-EOS.undent +    <?xml version="1.0" encoding="UTF-8"?> +    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +    <plist version="1.0"> +    <dict> +      <key>Label</key> +      <string>#{plist_name}</string> +      <key>RunAtLoad</key> +      <true/> +      <key>KeepAlive</key> +      <false/> +      <key>ProgramArguments</key> +      <array> +        <string>#{bin}/dynamodb-local</string> +      </array> +      <key>StandardErrorPath</key> +      <string>#{log_path}</string> +    </dict> +    </plist> +    EOS +  end +end | 
