package com.getbootstrap.no_carrier import java.time.{Clock, Duration} import scala.util.{Success, Failure} import scala.util.Try import com.jcabi.github.{Github, Issue} import com.jcabi.github.Coordinates.{Simple=>RepoId} import com.typesafe.scalalogging.StrictLogging import com.getbootstrap.no_carrier.github.{Credentials, FancyIssue} import com.getbootstrap.no_carrier.github.util._ import com.getbootstrap.no_carrier.http.UserAgent import com.getbootstrap.no_carrier.util._ case class Arguments( github: Github, repoId: RepoId, label: String, timeout: Duration ) object Main extends App with StrictLogging { val enabled = false implicit val clock = Clock.systemUTC implicit val userAgent = new UserAgent("NoCarrier/0.1 (https://github.com/twbs/no-carrier)") val rateLimitThreshold = 10 val username = EnvVars.getRequired("GITHUB_USERNAME") val password = EnvVars.getRequired("GITHUB_PASSWORD") val arguments = (args.toSeq match { case Seq(RepositoryId(repoId), NonEmptyStr(label), IntFromStr(PositiveInt(dayCount))) => { Some(Arguments( Credentials(username = username, password = password).github(rateLimitThreshold), repoId = repoId, label = label, timeout = java.time.Duration.ofDays(dayCount) )) } case _ => { System.err.println("USAGE: no-carrier