in app/services/BackupLauncher.scala [24:69]
def main(args:Array[String]):Unit = {
val app = new GuiceApplicationBuilder()
.overrides(new BackupLauncherInjectionConfig)
.disable(classOf[InjectionConfig])
.build()
implicit val injector = app.injector
val projectBackup = injector.instanceOf(classOf[NewProjectBackup])
parser.parse(args, Options(false, false, false)) match {
case Some(opts) =>
if (opts.nukeInvalidBackups) {
projectBackup.nukeInvalidBackups.onComplete({
case Success(r) =>
println(s"Nuked ${r.successCount} dodgy backups")
System.exit(0)
case Failure(exception) =>
println(s"ERROR - Could not complete scan: ${exception.getMessage}")
exception.printStackTrace()
System.exit(1)
})
} else if (opts.deleteAudioBackups) {
projectBackup.deleteAudioBackups.onComplete({
case Success(r) =>
println(s"Attempted to delete ${r.successCount} backups")
System.exit(0)
case Failure(exception) =>
println(s"ERROR - Could not complete scan: ${exception.getMessage}")
exception.printStackTrace()
System.exit(1)
})
} else {
projectBackup.backupProjects(!opts.backupAll).onComplete({
case Success(r) =>
logger.info(s"Out of ${r.totalCount} total, ${r.successCount} were backed up, ${r.failedCount} failed and ${r.notNeededCount} did not need backup")
System.exit(0)
case Failure(exception) =>
logger.error(s"ERROR - Could not complete backup: ${exception.getMessage}")
exception.printStackTrace()
System.exit(1)
})
}
case None =>
System.exit(2)
}
}