Skip to content

Instantly share code, notes, and snippets.

@tasuten
Last active November 30, 2015 23:17
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tasuten/9876981 to your computer and use it in GitHub Desktop.
Save tasuten/9876981 to your computer and use it in GitHub Desktop.
brewのパッケージの依存関係をDOT言語で出力
#!/usr/bin/env ruby
# encoding : utf-8
# 使い方
# $ ./deps.rb > deps.dot
# Graphvizで出力
# $ dot -Tpng deps.dot -o deps.png
# deps.pngを開く
# 図の見方として
# (foo) -> (bar) の場合fooはbarを必要とする
puts "digraph brewdeps {"
`brew list`.split.each do |src|
`brew deps #{src}`.split.each do |dst|
# - and + are special charactors. replace
puts "#{src.tr('-+', '_ ')} -> #{dst.tr('-+', '_ ')};"
end
end
puts "}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment