#!/bin/bash

TARGETS=(
	"lisa.maths.Quantifiers"
	"lisa.maths.SetTheory.Base.CartesianProduct"
	"lisa.maths.SetTheory.Base.Class"
	"lisa.maths.SetTheory.Base.Comprehension"
	"lisa.maths.SetTheory.Base.Difference"
	"lisa.maths.SetTheory.Base.EmptySet"
	"lisa.maths.SetTheory.Base.FoundationAxiom"
	"lisa.maths.SetTheory.Base.Intersection"
	"lisa.maths.SetTheory.Base.Pair"
	"lisa.maths.SetTheory.Base.PowerSet"
	"lisa.maths.SetTheory.Base.Predef"
	"lisa.maths.SetTheory.Base.Replacement"
	"lisa.maths.SetTheory.Base.Singleton"
	"lisa.maths.SetTheory.Base.Subset"
	"lisa.maths.SetTheory.Base.Symbols"
	"lisa.maths.SetTheory.Base.Union"
	"lisa.maths.SetTheory.Base.UnorderedPair"
	"lisa.maths.SetTheory.Functions.BasicTheorems"
	"lisa.maths.SetTheory.Functions.Function"
	"lisa.maths.SetTheory.Functions.Operations.Composition"
	"lisa.maths.SetTheory.Functions.Operations.Restriction"
	"lisa.maths.SetTheory.Functions.Operations.Union"
	"lisa.maths.SetTheory.Functions.Pi"
	"lisa.maths.SetTheory.Functions.Sigma"
	"lisa.maths.SetTheory.Order.BasicTheorems"
	"lisa.maths.SetTheory.Order.Examples.EmptyOrder"
	"lisa.maths.SetTheory.Order.Extrema"
	"lisa.maths.SetTheory.Order.LowerSet"
	"lisa.maths.SetTheory.Order.OrderIsomorphism"
	"lisa.maths.SetTheory.Order.PartialOrder"
	"lisa.maths.SetTheory.Order.TotalOrder"
	"lisa.maths.SetTheory.Order.WellOrders.InitialSegment"
	"lisa.maths.SetTheory.Order.WellOrders.OldRecursion"
	"lisa.maths.SetTheory.Order.WellOrders.WellOrder"
	"lisa.maths.SetTheory.Order.WellOrders.WellOrderedInduction"
	"lisa.maths.SetTheory.Order.WellOrders.WellOrderedRecursion"
	"lisa.maths.SetTheory.Ordinals.Arithmetic"
	"lisa.maths.SetTheory.Ordinals.Integer"
	"lisa.maths.SetTheory.Ordinals.Ordinal"
	"lisa.maths.SetTheory.Ordinals.TransfiniteInduction"
	"lisa.maths.SetTheory.Ordinals.TransfiniteRecursion"
	"lisa.maths.SetTheory.Ordinals.TransitiveSet"
	"lisa.maths.SetTheory.Relations.BasicTheorems"
	"lisa.maths.SetTheory.Relations.Equivalence"
	"lisa.maths.SetTheory.Relations.Examples.EmptyRelation"
	"lisa.maths.SetTheory.Relations.Examples.IdentityRelation"
	"lisa.maths.SetTheory.Relations.Examples.MembershipRelation"
	"lisa.maths.SetTheory.Relations.Examples.UniversalRelation"
	"lisa.maths.SetTheory.Relations.Operations.Closure"
	"lisa.maths.SetTheory.Relations.Operations.Complement"
	"lisa.maths.SetTheory.Relations.Operations.Composition"
	"lisa.maths.SetTheory.Relations.Operations.Converse"
	"lisa.maths.SetTheory.Relations.Operations.Union"
	"lisa.maths.SetTheory.Relations.Properties"
	"lisa.maths.SetTheory.Relations.Relation"
	"lisa.maths.SetTheory.Relations.WellFoundedRelation"
	"lisa.maths.SetTheory.SetTheory"
)

# Batch commands to avoid launching SBT multiple times
FULLTARGET=""
for target in ${TARGETS[@]}
do
	FULLTARGET+="runMain $target; "
done

sbt "${FULLTARGET}"
