aboutsummaryrefslogtreecommitdiff
path: root/drum
diff options
context:
space:
mode:
authorNat Lasseter <Nat Lasseter nathan@bytemark.co.uk>2019-01-09 20:28:56 +0000
committerNat Lasseter <Nat Lasseter nathan@bytemark.co.uk>2019-01-09 20:28:56 +0000
commiteb1fd5b48fc4a86dd7c5080695ac10ad4842a3ed (patch)
tree3f1a6dbd2e057481b0898913ab1f31acf59a0baa /drum
parentb4119d5372366ce817f063c279fa5a7b64f47fca (diff)
Change test to example. Change drumsticks to bundler. Remove needless bits of "futureproofing" from drum
Diffstat (limited to 'drum')
-rwxr-xr-xdrum46
1 files changed, 13 insertions, 33 deletions
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}"