libexec/aoh-init in alpha_omega-1.4.1 vs libexec/aoh-init in alpha_omega-1.4.2

- old
+ new

@@ -11,20 +11,47 @@ shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)" # load a jason bourne library source "$shome/libexec/_treadstone" -function main { - if [[ "$#" < 1 ]]; then - logger_fatal "missing application name" - exit 1 - fi +DEFINE_boolean "helpers" "$FLAGS_FALSE" "Generate the bin and libexec helpers" "H" - local nm_app="$1"; shift +function main { local dollar='$' - cat > "Capfile" <<EOF + if [[ "$FLAGS_helpers" = "$FLAGS_TRUE" ]]; then + mkdir -p "libexec" + cat > "libexec/aohelper" <<EOF +function ryaml { + ruby -ryaml -e 'def ps x; unless x.nil?; puts (x.class == String || x.class == Fixnum) ? x : x.to_yaml; end; end; ps ARGV[1..-1].inject(YAML.load(File.read(ARGV[0]))) {|acc, key| acc[acc.class == Array ? key.to_i : key] }' "${dollar}@" 2>&- +} + +shome="${dollar}(cd -P -- "${dollar}(dirname -- "${dollar}BASH_SOURCE")/.." && pwd -P)" + +app_ruby="${dollar}(ryaml ${dollar}shome/config/deploy.yml app_ruby)" +ruby_loader="${dollar}(ryaml ${dollar}shome/config/deploy.yml ruby_loader)" +PATH="${dollar}PATH:/usr/local/rvm/bin:${dollar}HOME/.rvm/bin" + +if ! ${dollar}ruby_loader ${dollar}app_ruby bundle check 2>&- > /dev/null; then + ${dollar}ruby_loader ${dollar}app_ruby bundle install --local --quiet +fi +${dollar}ruby_loader ${dollar}app_ruby bundle exec ao "${dollar}{BASH_SOURCE##*/}" "${dollar}@" +EOF + chmod 755 "libexec/aohelper" + + for nm_cmd in activate check compare debug deploy dna hosts lock migrate proxy release restart rollback shell stage unlock; do + ln -nfs "../libexec/aohelper" $shome/bin/$nm_cmd + done + else + if [[ "$#" < 1 ]]; then + logger_fatal "missing application name" + exit 1 + fi + + local nm_app="$1"; shift + + cat > "Capfile" <<EOF #!/usr/bin/env ruby require 'alpha_omega/deploy' # application deploy @@ -49,20 +76,21 @@ { :deploy => { } } end end EOF - mkdir -p "config" - cat > "config/deploy.yml" <<EOF + mkdir -p "config" + cat > "config/deploy.yml" <<EOF --- repository: git@github.com:someone/something_something application: ${nm_app} ruby_loader: rvm-exec app_ruby: ree branches: [ production staging master ] branch_regex: / EOF + fi } require sub "$BASH_SOURCE" "$@"