Commit 9554e58b46b480c6a2dcc4e57c25773455487251
1 parent
ca227f7c4f
Spike config/basic
Showing 3 changed files with 28 additions and 0 deletions Inline Diff
.gitignore
| /.bundle | 1 | 1 | /.bundle | |
| /bin | 2 | 2 | /bin | |
| 3 | /config/local.rb | |||
| /vendor/cache | 3 | 4 | /vendor/cache |
config/basic.rb
| File was created | 1 | # Set up the execution environment. Load this file before trying to do | ||
| 2 | # anything else. This file assumes that the repo's been bootstrapped. | |||
| 3 | ||||
| 4 | require "pathname" | |||
| 5 | ||||
| 6 | # Make sure we're in the repo's root directory. | |||
| 7 | ||||
| 8 | Dir.chdir Pathname.new(__FILE__).realpath + "../.." | |||
| 9 | ||||
| 10 | # Load local config if it exists. | |||
| 11 | ||||
| 12 | local = File.expand_path "../local.rb", __FILE__ | |||
| 13 | load local if File.file? local | |||
| 14 |
script/boxen
| #!/usr/bin/ruby | 1 | 1 | #!/usr/bin/ruby | |
| # Run Boxen. | 2 | 2 | # Run Boxen. | |
| 3 | 3 | |||
| require "pathname" | 4 | 4 | require "pathname" | |
| 5 | 5 | |||
| if ENV["USER"] == "root" | 6 | 6 | if ENV["USER"] == "root" | |
| abort "Run this as a normal user, I'll sudo if I need to." | 7 | 7 | abort "Run this as a normal user, I'll sudo if I need to." | |
| end | 8 | 8 | end | |
| 9 | 9 | |||
| # Make sure only one boxen process runs at a time. | 10 | 10 | # Make sure only one boxen process runs at a time. | |
| 11 | 11 | |||
| myself = File.new __FILE__ | 12 | 12 | myself = File.new __FILE__ | |
| 13 | 13 | |||
| unless myself.flock File::LOCK_EX | File::LOCK_NB | 14 | 14 | unless myself.flock File::LOCK_EX | File::LOCK_NB | |
| abort "You're already running a boxen process! Know a patience." | 15 | 15 | abort "You're already running a boxen process! Know a patience." | |
| end | 16 | 16 | end | |
| 17 | 17 | |||
| # Yeah yeah, I like to be explicit. | 18 | 18 | # Yeah yeah, I like to be explicit. | |
| 19 | 19 | |||
| at_exit { myself.flock File::LOCK_UN } | 20 | 20 | at_exit { myself.flock File::LOCK_UN } | |
| 21 | 21 | |||
| # Put us where we belong, in the root dir of our boxen repo. | 22 | 22 | # Put us where we belong, in the root dir of our boxen repo. | |
| 23 | 23 | |||
| Dir.chdir Pathname.new(__FILE__).realpath + "../.." | 24 | 24 | Dir.chdir Pathname.new(__FILE__).realpath + "../.." | |
| 25 | 25 | |||
| # Auto-update code. This is done as early as possible so that changes | 26 | 26 | # Auto-update code. This is done as early as possible so that changes | |
| # to boxen support code or dependencies can be grabbed. | 27 | 27 | # to boxen support code or dependencies can be grabbed. | |
| 28 | 28 | |||
| unless ENV["BOXEN_NO_PULL"] || ARGV.include?("--no-pull") | 29 | 29 | unless ENV["BOXEN_NO_PULL"] || ARGV.include?("--no-pull") | |
| if system("which git > /dev/null") && File.directory?(".git") | 30 | 30 | if system("which git > /dev/null") && File.directory?(".git") | |
| clean = `git status --porcelain`.empty? | 31 | 31 | clean = `git status --porcelain`.empty? | |
| master = `git symbolic-ref HEAD`.chomp == "refs/heads/master" | 32 | 32 | master = `git symbolic-ref HEAD`.chomp == "refs/heads/master" | |
| no_new_commits = system('git diff --exit-code --quiet origin/master master') | 33 | 33 | no_new_commits = system('git diff --exit-code --quiet origin/master master') | |
| 34 | 34 | |||
| if clean && master && no_new_commits | 35 | 35 | if clean && master && no_new_commits | |
| quietly = "> /dev/null 2>&1" | 36 | 36 | quietly = "> /dev/null 2>&1" | |
| fetch = "(git fetch origin #{quietly})" | 37 | 37 | fetch = "(git fetch origin #{quietly})" | |
| reset = "(git reset --hard origin/master #{quietly})" | 38 | 38 | reset = "(git reset --hard origin/master #{quietly})" | |
| reclean = "(git clean -df #{quietly})" | 39 | 39 | reclean = "(git clean -df #{quietly})" | |
| 40 | 40 |