Rakefile in arborist-0.2.0.pre20170519125456 vs Rakefile in arborist-0.2.0

- old
+ new

@@ -1,18 +1,23 @@ #!/usr/bin/env rake +require 'pathname' require 'rake/clean' begin require 'hoe' rescue LoadError abort "This Rakefile requires hoe (gem install hoe)" end GEMSPEC = 'arborist.gemspec' +BASEDIR = Pathname( __FILE__ ).dirname +LIBDIR = BASEDIR + 'lib' +NODE_STATE_GRAPH = BASEDIR + 'node-state-machine.dot' + Hoe.plugin :mercurial Hoe.plugin :signing Hoe.plugin :deveiate Hoe.plugins.delete :rubyforge @@ -35,21 +40,26 @@ spec.dependency 'schedulability', '~> 0.1' spec.dependency 'loggability', '~> 0.12' spec.dependency 'configurability', '~> 3.0' spec.dependency 'pluggability', '~> 0.4' - spec.dependency 'state_machines', '~> 0.2' + spec.dependency 'state_machines', '~> 0.5' spec.dependency 'msgpack', '~> 1.0' spec.dependency 'cztop', '~> 0.11' spec.dependency 'cztop-reactor', '~> 0.3' spec.dependency 'gli', '~> 2.3' - spec.dependency 'highline', '~> 1.7' + spec.dependency 'tty', '~> 0.7' + spec.dependency 'tty-tree', '~> 0.1' + spec.dependency 'pry', '~> 0.11' spec.dependency 'rspec', '~> 3.2', :developer spec.dependency 'rspec-wait', '~> 0.0', :developer spec.dependency 'simplecov', '~> 0.9', :developer spec.dependency 'timecop', '~> 0.7', :developer + spec.dependency 'rdoc', '~> 5.1', :developer + spec.dependency 'rdoc', '~> 5.1', :developer + spec.dependency 'state_machines-graphviz', '~> 0.0', :developer spec.require_ruby_version( '>=2.3.1' ) spec.hg_sign_tags = true if spec.respond_to?( :hg_sign_tags= ) spec.rdoc_locations << "deveiate:/usr/local/www/public/code/#{remote_rdoc_dir}" @@ -84,21 +94,46 @@ rdoc.title = 'Arborist' rdoc.rdoc_dir = 'doc' end end -task :gemspec => [ 'ChangeLog', __FILE__, GEMSPEC ] +file 'Manifest.txt' + +task :gemspec => [ 'ChangeLog', __FILE__, 'Manifest.txt', GEMSPEC ] file GEMSPEC => __FILE__ do |task| spec = $hoespec.spec spec.files.delete( '.gemtest' ) spec.files.delete( 'LICENSE' ) spec.signing_key = nil spec.version = "#{spec.version.bump}.0.pre#{Time.now.strftime("%Y%m%d%H%M%S")}" - spec.cert_chain = [ 'certs/ged.pem' ] + #spec.cert_chain = [ 'certs/ged.pem' ] File.open( task.name, 'w' ) do |fh| fh.write( spec.to_ruby ) end end CLOBBER.include( GEMSPEC ) task :default => :gemspec + + +file NODE_STATE_GRAPH + +desc "Generate a graph of the node status state machine." +task NODE_STATE_GRAPH do |task| + $LOAD_PATH.unshift( LIBDIR.to_s ) + + require 'state_machines' + require 'state_machines/graphviz' + require 'arborist/node' + + state_machine = Arborist::Node.state_machine + name = File.basename( NODE_STATE_GRAPH, '.dot' ) + puts "Writing status state machine diagram to #{NODE_STATE_GRAPH}" + graph = state_machine.draw( path: BASEDIR.to_s, name: name, format: 'dot' ) + # graph.output +end + +CLEAN.include( NODE_STATE_GRAPH.to_s ) + + +task :diagrams => [ NODE_STATE_GRAPH ]