changing file permisisons
This commit is contained in:
parent
21665eaf39
commit
b7a8ddb0bc
57
bin/sketch
Executable file
57
bin/sketch
Executable file
@ -0,0 +1,57 @@
|
|||||||
|
#!/usr/bin/env ruby
|
||||||
|
require 'fileutils'
|
||||||
|
|
||||||
|
PROGNAME = 'pre-commit (auto-generate sketch previews)'
|
||||||
|
|
||||||
|
def main
|
||||||
|
progress "Installing sketchtool"
|
||||||
|
system!(%W[/Applications/Sketch.app/Contents/Resources/sketchtool/install.sh])
|
||||||
|
|
||||||
|
progress "Looking for changed or added .sketch files"
|
||||||
|
diff_output = capture!(%W[git diff --name-only --cached --pretty=format:])
|
||||||
|
sketch_files = diff_output.split("\n").grep(/\.sketch\z/)
|
||||||
|
if sketch_files.empty?
|
||||||
|
progress "No sketch files to create preview images for in this commit!"
|
||||||
|
end
|
||||||
|
puts sketch_files
|
||||||
|
|
||||||
|
sketch_files.each do |f|
|
||||||
|
unless File.exist?(f)
|
||||||
|
progress "#{f} does not exist (anymore?)"
|
||||||
|
next
|
||||||
|
end
|
||||||
|
|
||||||
|
png_output_dir = f.sub(/\.sketch\z/, '') + '-sketch-previews'
|
||||||
|
progress "deleting old previews"
|
||||||
|
FileUtils.rm_rf(png_output_dir)
|
||||||
|
|
||||||
|
progress "exporting pages"
|
||||||
|
cmd = %W[sketchtool --overwriting=YES --output=#{png_output_dir} export pages #{f}]
|
||||||
|
system!(cmd)
|
||||||
|
|
||||||
|
progress "adding to git"
|
||||||
|
system!(%W[git add #{png_output_dir}])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def system!(cmd)
|
||||||
|
puts "running: #{cmd.join(' ')}"
|
||||||
|
abort failure_message(cmd) unless system(*cmd)
|
||||||
|
end
|
||||||
|
|
||||||
|
def capture!(cmd)
|
||||||
|
puts "capturing: #{cmd.join(' ')}"
|
||||||
|
result = IO.popen(cmd) { |io| io.read }
|
||||||
|
abort failure_message(cmd) unless $?.success?
|
||||||
|
result
|
||||||
|
end
|
||||||
|
|
||||||
|
def failure_message(cmd)
|
||||||
|
"#{PROGNAME}: command failed: #{cmd.join(' ')}"
|
||||||
|
end
|
||||||
|
|
||||||
|
def progress(msg)
|
||||||
|
puts "#{PROGNAME}: #{msg}"
|
||||||
|
end
|
||||||
|
|
||||||
|
main
|
@ -14,7 +14,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "make test",
|
"test": "make test",
|
||||||
"precommit": "make -j4 lint",
|
"precommit": "make -j4 lint && ./bin/sketch",
|
||||||
"prepush": "make test"
|
"prepush": "make test"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
Loading…
Reference in New Issue
Block a user