#!/usr/bin/env bash
dirs="withSandbox withoutSandbox"
for dir in $dirs ; do
   cabal-cargs --relative --sourcefile=inputFiles/$dir/lib > goldenFiles/$dir/FindCabalFile.txt
   cabal-cargs --relative --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/FromCabalFile.txt
   cabal-cargs --relative --sourcefile=inputFiles/$dir/lib/Source.hs > goldenFiles/$dir/FromLibSrcFile.txt
   cabal-cargs --relative --sourcefile=inputFiles/$dir/exe/Source.hs > goldenFiles/$dir/FromExeSrcFile.txt

   cabal-cargs --relative --format=hdevtools --sourcefile=inputFiles/$dir/lib > goldenFiles/$dir/FindCabalFileHdevtools.txt
   cabal-cargs --relative --format=hdevtools --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/FromCabalFileHdevtools.txt
   cabal-cargs --relative --format=hdevtools --sourcefile=inputFiles/$dir/lib/Source.hs > goldenFiles/$dir/FromLibSrcFileHdevtools.txt
   cabal-cargs --relative --format=hdevtools --sourcefile=inputFiles/$dir/exe/Source.hs > goldenFiles/$dir/FromExeSrcFileHdevtools.txt

   cabal-cargs --relative --format=pure --sourcefile=inputFiles/$dir/lib > goldenFiles/$dir/FindCabalFilePure.txt
   cabal-cargs --relative --format=pure --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/FromCabalFilePure.txt
   cabal-cargs --relative --format=pure --sourcefile=inputFiles/$dir/lib/Source.hs > goldenFiles/$dir/FromLibSrcPure.txt
   cabal-cargs --relative --format=pure --sourcefile=inputFiles/$dir/exe/Source.hs > goldenFiles/$dir/FromExeSrcFilePure.txt

   cabal-cargs --relative --library --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/AllOfLib.txt
   cabal-cargs --relative --executable=cabal-cargs --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/AllOfExe.txt
   cabal-cargs --relative --testsuite=tests --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/AllOfTest.txt

   cabal-cargs --relative --library --only=ghc_options --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/OnlyGhcOptionsOfLib.txt
   cabal-cargs --relative --executable=cabal-cargs --only=ghc_options --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/OnlyGhcOptionsOfExe.txt
   cabal-cargs --relative --testsuite=tests --only=ghc_options --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/OnlyGhcOptionsOfTest.txt

   cabal-cargs --relative --library --only=hs_source_dirs --format=pure --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/OnlyPureSrcDirsOfLib.txt
   cabal-cargs --relative --executable=cabal-cargs --only=hs_source_dirs --format=pure --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/OnlyPureSrcDirsOfExe.txt
   cabal-cargs --relative --testsuite=tests --only=hs_source_dirs --format=pure --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/OnlyPureSrcDirsOfTest.txt

   cabal-cargs --relative --enable=default_false_flag --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/EnableFlag.txt
   cabal-cargs --relative --disable=default_true_flag --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/DisableFlag.txt
   cabal-cargs --relative --enable=default_false_flag --disable=default_true_flag --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/EnableAndDisableFlag.txt

   cabal-cargs --relative --ignore=build_depends --cabalfile=inputFiles/$dir/test.cabal > goldenFiles/$dir/IgnoreBuildDepends.txt
   cabal-cargs --relative --allsections --sourcefile=inputFiles/$dir/exe/Source.hs > goldenFiles/$dir/AllSections.txt
done
