Add logging and update validation

This commit is contained in:
2025-10-06 16:27:06 +02:00
parent 22a1f31683
commit be691c96be
22 changed files with 209 additions and 93 deletions

View File

@@ -11,7 +11,7 @@ object Main {
var conf: HammerConf = uninitialized
def main(args: Array[String]): Unit = {
var logger = Logger("TGCHammer")
val logger = Logger("TGCHammer")
conf = new HammerConf(args.toIndexedSeq)
val logLevel = conf.verbose() match {
@@ -22,14 +22,23 @@ object Main {
}
LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME).asInstanceOf[ch.qos.logback.classic.Logger].setLevel(logLevel)
os.makeDir(Global.OUT_DIR)
os.makeDir(Global.TMP_DIR)
logger.trace(s"Creating output directory ${Global.OUT_DIR}")
if (conf.emptyOutputDir()) os.remove.all(Global.OUT_DIR)
os.makeDir.all(Global.OUT_DIR)
logger.trace(s"Creating temp directory ${Global.TMP_DIR}")
os.makeDir.all(Global.TMP_DIR)
conf.subcommand match {
case Some(c: MySubcommand) =>
logger.info(s"Executing subcommand ${c.name}")
val tasks = c.getRequiredTasks
logger.debug(s"Subcommand requires ${tasks.size} tasks")
logger.info(s"Validating tasks")
tasks.foreach(_.validate())
logger.info(s"Executing tasks")
tasks.foreach(_.execute())
case _ =>
logger.error(s"Found no subcommand, see help below")
conf.printHelp()
}
}
}