Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Settings.scala « server « savage « getbootstrap « com « scala « main « src - github.com/twbs/savage.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 2a31f49fc961fc0cd9d70f749c4e6ab1b59f72fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.getbootstrap.savage.server

import scala.concurrent.duration.FiniteDuration
import scala.collection.JavaConverters._
import com.typesafe.config.Config
import akka.actor.ActorSystem
import akka.actor.Extension
import akka.actor.ExtensionId
import akka.actor.ExtensionIdProvider
import akka.actor.ExtendedActorSystem
import akka.util.ByteString
import org.eclipse.egit.github.core.RepositoryId
import com.getbootstrap.savage.github.Branch
import com.getbootstrap.savage.util.{FilePathWhitelist,FilePathWatchlist,Utf8String,RichConfig}

class SettingsImpl(config: Config) extends Extension {
  val MainRepoId: RepositoryId = RepositoryId.createFromId(config.getString("savage.github-repo-to-watch"))
  val TestRepoId: RepositoryId = RepositoryId.createFromId(config.getString("savage.github-test-repo"))
  val BotUsername: String = config.getString("savage.username")
  val BotPassword: String = config.getString("savage.password")
  val GitHubWebHookSecretKey: ByteString = ByteString(config.getString("savage.github-web-hook-secret-key").utf8Bytes)
  val TravisToken: String = config.getString("savage.travis-token")
  val UserAgent: String = config.getString("spray.can.client.user-agent-header")
  val DefaultPort: Int = config.getInt("savage.default-port")
  val SquelchInvalidHttpLogging: Boolean = config.getBoolean("savage.squelch-invalid-http-logging")
  val Whitelist: FilePathWhitelist = new FilePathWhitelist(config.getStringList("savage.whitelist").asScala)
  val Watchlist: FilePathWatchlist = new FilePathWatchlist(config.getStringList("savage.file-watchlist").asScala)
  val BranchPrefix: String = config.getString("savage.branch-prefix")
  val AllowedBaseBranches: Set[Branch] = config.getStringList("savage.allowed-base-branches").asScala.flatMap{ Branch(_) }.toSet
  val TrustedOrganizations: Set[String] = config.getStringList("savage.trusted-orgs").asScala.toSet
  val SetCommitStatus: Boolean = config.getBoolean("savage.set-commit-status")
  val TravisTimeout: FiniteDuration = config.getFiniteDuration("savage.travis-timeout")
  val ShowPreviewUrls: Boolean = config.getBoolean("savage.show-preview-urls")
}
object Settings extends ExtensionId[SettingsImpl] with ExtensionIdProvider {
  override def lookup() = Settings
  override def createExtension(system: ExtendedActorSystem) = new SettingsImpl(system.settings.config)
  override def get(system: ActorSystem): SettingsImpl = super.get(system)
}