From eb1fd5b48fc4a86dd7c5080695ac10ad4842a3ed Mon Sep 17 00:00:00 2001 From: Nat Lasseter Date: Wed, 9 Jan 2019 20:28:56 +0000 Subject: Change test to example. Change drumsticks to bundler. Remove needless bits of "futureproofing" from drum --- drum | 46 +++++++++++++--------------------------------- 1 file changed, 13 insertions(+), 33 deletions(-) (limited to 'drum') diff --git a/drum b/drum index 662387b..b939374 100755 --- a/drum +++ b/drum @@ -6,7 +6,6 @@ require 'tempfile' OPTIONS = OpenStruct.new({ noop: false, - verbose: false, drumkit: ".drumkit" }) @@ -25,7 +24,6 @@ class Drumkit @bassdrum = nil @kickdrum = nil @snaredrum = nil - @drumsticks = [] lines.each do |line| case line @@ -35,8 +33,6 @@ class Drumkit @kickdrum = line[9..-1] when /^SNAREDRUM/ @snaredrum = line[10..-1] - when /^DRUMSTICK/ - @drumsticks << line[10..-1] end end end @@ -51,8 +47,7 @@ class Drumkit "This file will be modified automatically. Only make changes if you know what you are doing. Otherwise, use drum.\n\n" + (@bassdrum ? "BASSDRUM #{@bassdrum}\n" : "") + (@kickdrum ? "KICKDRUM #{@kickdrum}\n" : "") + - (@snaredrum ? "SNAREDRUM #{@snaredrum}\n" : "") + - @drumsticks.map{|s| "DRUMSTICK #{s}"}.join("\n") + (@snaredrum ? "SNAREDRUM #{@snaredrum}\n" : "") end end @@ -79,10 +74,6 @@ parser = OptionParser.new do |opt| opt.on("-n", "--noop", "--dry-run", "Dry run, don't actually *do* anything") do OPTIONS.noop = true - OPTIONS.verbose = true - end - opt.on("-v", "--verbose", "Explain what's happening") do - OPTIONS.verbose = true end opt.on("-d", "--drumkit", :REQUIRED, "Specify drumkit file (default: .drumkit)") do |dk| OPTIONS.drumkit = dk @@ -128,40 +119,34 @@ case COMMAND bassdrum = DRUMKIT.bassdrum end end - info "Fetching Bass Drum: #{bassdrum}" if OPTIONS.verbose + info "Fetching Bass Drum: #{bassdrum}" if OPTIONS.noop system "docker pull #{bassdrum}" unless OPTIONS.noop DRUMKIT.bassdrum = bassdrum unless OPTIONS.noop when "kick" error("No Bass Drum specified.", 1) if DRUMKIT.bassdrum.nil? - if !ARGV[0].nil? - kickdrum = ARGV[0].strip + if DRUMKIT.kickdrum.nil? + kickdrum = "drum-bass-#{DRUMKIT.bassdrum.gsub(/:/,"_")}-kick-#{File.basename(Dir.pwd)}" else - if DRUMKIT.kickdrum.nil? - kickdrum = "drum-bass-#{DRUMKIT.bassdrum.gsub(/:/,"_")}-kick-#{File.basename(Dir.pwd)}" - else - kickdrum = DRUMKIT.kickdrum - end + kickdrum = DRUMKIT.kickdrum end - puts "Building Kick Drum: #{kickdrum}" if OPTIONS.verbose + puts "Building Kick Drum: #{kickdrum}" if OPTIONS.noop Tempfile.open("drum-tmp-dockerfile", Dir.pwd) do |f| f.puts "FROM #{DRUMKIT.bassdrum}" - f.puts "RUN gem install --no-document #{DRUMKIT.drumsticks.join(" ")}" + f.puts "COPY Gemfile* ./" + f.puts "RUN bundle install" f.flush system "docker build -t #{kickdrum} -f #{File.basename(f)} ." + system "docker run #{kickdrum} cat Gemfile.lock > Gemfile.lock" end unless OPTIONS.noop DRUMKIT.kickdrum = kickdrum unless OPTIONS.noop when "snare" error("No Kick Drum specified.", 1) if DRUMKIT.kickdrum.nil? - if !ARGV[0].nil? - snaredrum = ARGV[0].strip + if DRUMKIT.snaredrum.nil? + snaredrum = "#{DRUMKIT.kickdrum}-snare-#{entrypoint.gsub(/[\/.]/, "_")}" else - if DRUMKIT.snaredrum.nil? - snaredrum = "#{DRUMKIT.kickdrum}-snare-#{entrypoint.gsub(/[\/.]/, "_")}" - else - snaredrum = DRUMKIT.snaredrum - end + snaredrum = DRUMKIT.snaredrum end - puts "Creating Snare Drum: #{snaredrum}" if OPTIONS.verbose + puts "Creating Snare Drum: #{snaredrum}" if OPTIONS.noop Tempfile.open("drum-tmp-dockerfile", Dir.pwd) do |f| f.puts "FROM #{DRUMKIT.kickdrum}" f.puts "COPY . ." @@ -170,11 +155,6 @@ case COMMAND system "docker build -t #{snaredrum} -f #{File.basename(f)} ." end unless OPTIONS.noop DRUMKIT.snaredrum = snaredrum unless OPTIONS.noop - when "stick" - error("Specify drumstick", 1) if ARGV[0].nil? - drumstick = ARGV[0].strip - info "Adding Drumstick: #{drumstick}" if OPTIONS.verbose - DRUMKIT.add_stick(drumstick) unless OPTIONS.noop when "roll" error("No Snare Drum specified.", 1) if DRUMKIT.snaredrum.nil? system "docker run #{ARGV.join(" ")} #{DRUMKIT.snaredrum}" -- cgit v1.2.1