def selectCredentials(): Credentials =
  if ((Path.userHome / ".sbt" / ".credentials").exists())
    Credentials(Path.userHome / ".sbt" / ".credentials")
  else
    Credentials.apply(
      realm = "Reposilite",
      host = "maven.garrity.co",
      userName = sys.env
        .get("GS_MAVEN_USER")
        .getOrElse(
          throw new RuntimeException(
            "You must either provide ~/.sbt/.credentials or specify the GS_MAVEN_USER environment variable."
          )
        ),
      passwd = sys.env
        .get("GS_MAVEN_TOKEN")
        .getOrElse(
          throw new RuntimeException(
            "You must either provide ~/.sbt/.credentials or specify the GS_MAVEN_TOKEN environment variable."
          )
        )
    )

credentials += selectCredentials()

externalResolvers := Seq(
  "Garrity Software Mirror" at "https://maven.garrity.co/releases",
  "Garrity Software Snapshots" at "https://maven.garrity.co/snapshots",
  "Garrity Software Releases" at "https://maven.garrity.co/gs"
)

addSbtPlugin("org.scoverage" % "sbt-scoverage"        % "2.4.4")
addSbtPlugin("gs"            % "sbt-garrity-software" % "0.8.0")
addSbtPlugin("gs"            % "sbt-gs-semver"        % "0.4.1")
