Sha256: 1567ca6d46feb710d1f52a3efaecbcaab18833cc7dbd43e584a486a27af1c508

Contents?: true

Size: 997 Bytes

Versions: 1

Compression:

Stored size: 997 Bytes

Contents

#!/usr/bin/env ruby

libdir = File.expand_path(File.dirname(__FILE__))
require "#{libdir}/../lib/sfplanner"

opts = Trollop::options do
	version "sfplanner 0.0.2 (c) 2013 Herry"
	banner <<-EOS
Solve a planning task specified in SFP language, and print the plan (if found) in JSON format.

Usage:
       sfplanner [options] <file>

where [options] are:
EOS

	opt :parallel, "Generate a parallel (partial-order) plan, instead of sequential."
	opt :json_input, "Input is in JSON format"
	opt :pretty, "Print the plan in pretty JSON format"
end

def parse(filepath)
	home_dir = File.expand_path(File.dirname(filepath))
	parser = Sfp::Parser.new({:home_dir => home_dir})
	parser.parse(File.read(filepath))
	parser
end

filepath = ARGV[0].to_s

if filepath != ''
	planner = Sfp::Planner.new
	if opts[:json_input]
		puts 'Option "--json-input" is not supported yet.'
	else
		puts planner.solve({:file => ARGV[0], :pretty_json => opts[:pretty], :parallel => opts[:parallel]})
	end
else
	Trollop::help
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sfplanner-0.1.0 bin/sfplanner