mirror of
https://github.com/RAIRLab/Spectra.git
synced 2024-11-21 08:26:30 -05:00
Runner CLI Script
This commit is contained in:
parent
395872a4d4
commit
d6bc88566f
3 changed files with 74 additions and 1 deletions
8
run_spectra.sh
Executable file
8
run_spectra.sh
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# TODO: Argument check and show usage
|
||||||
|
|
||||||
|
mvn -q exec:java -Dexec.mainClass="com.naveensundarg.planner.utils.Runner" -Dexec.args="$1"
|
||||||
|
|
||||||
|
#mvn exec:java -Dexec.mainClass="com.naveensundarg.planner.utils.Runner" -Dexec.args="$PWD/src/main/resources/com/naveensundarg/planner/problems/ai2thor/FloorPlan28.clj"
|
||||||
|
|
|
@ -89,7 +89,7 @@
|
||||||
|
|
||||||
(defun setup-snark (&key (time-limit 5) (verbose nil))
|
(defun setup-snark (&key (time-limit 5) (verbose nil))
|
||||||
(snark:initialize :verbose verbose)
|
(snark:initialize :verbose verbose)
|
||||||
;; (if (not verbose) (snark-deverbose) )
|
(if (not verbose) (snark-deverbose) )
|
||||||
(snark:run-time-limit 5)
|
(snark:run-time-limit 5)
|
||||||
(snark:assert-supported t)
|
(snark:assert-supported t)
|
||||||
(snark:assume-supported t)
|
(snark:assume-supported t)
|
||||||
|
|
65
src/main/java/com/naveensundarg/planner/utils/Runner.java
Normal file
65
src/main/java/com/naveensundarg/planner/utils/Runner.java
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
package com.naveensundarg.planner.utils;
|
||||||
|
|
||||||
|
import com.naveensundarg.planner.BreadthFirstPlanner;
|
||||||
|
import com.naveensundarg.planner.Plan;
|
||||||
|
import com.naveensundarg.planner.Planner;
|
||||||
|
import com.naveensundarg.shadow.prover.utils.Reader;
|
||||||
|
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
|
public final class Runner {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
System.out.println("--------------- Starting Spectra --------------- ");
|
||||||
|
|
||||||
|
|
||||||
|
// Grab filename from argument list
|
||||||
|
if (args.length < 1) {
|
||||||
|
System.out.println("Need to include filename with planning problem and description.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String fileName = args[0];
|
||||||
|
|
||||||
|
|
||||||
|
// Read File
|
||||||
|
FileInputStream fileStream;
|
||||||
|
try {
|
||||||
|
fileStream = new FileInputStream(fileName);
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Parse File
|
||||||
|
List<PlanningProblem> planningProblemList;
|
||||||
|
try {
|
||||||
|
planningProblemList = PlanningProblem.readFromFile(fileStream);
|
||||||
|
|
||||||
|
} catch (Reader.ParsingException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Planner breadthFirstPlanner = new BreadthFirstPlanner();
|
||||||
|
|
||||||
|
for (PlanningProblem planningProblem : planningProblemList) {
|
||||||
|
Optional<Set<Plan>> optionalPlans = breadthFirstPlanner.plan(
|
||||||
|
planningProblem.getBackground(),
|
||||||
|
planningProblem.getActions(),
|
||||||
|
planningProblem.getStart(),
|
||||||
|
planningProblem.getGoal());
|
||||||
|
|
||||||
|
if(optionalPlans.isPresent()) {
|
||||||
|
System.out.println(optionalPlans.get().toString());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
System.out.println("FAILED");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue