diff --git a/build.sbt b/build.sbt index 93ebb6e0c..9f200c486 100644 --- a/build.sbt +++ b/build.sbt @@ -19,13 +19,21 @@ lazy val commonSettings = Seq( ) lazy val pscryptoSettings = Seq( - unmanagedClasspath in Test += (baseDirectory in ThisBuild).value / "pscrypto-lib", - unmanagedClasspath in Runtime += (baseDirectory in ThisBuild).value / "pscrypto-lib", - unmanagedResources in Runtime += (baseDirectory in ThisBuild).value / "pscrypto-lib" + unmanagedClasspath in Test += (baseDirectory in ThisBuild).value / "pscrypto-lib", + unmanagedClasspath in Runtime += (baseDirectory in ThisBuild).value / "pscrypto-lib" +) + +lazy val psloginPackSettings = packAutoSettings ++ Seq( + packArchivePrefix := "pslogin", + packExtraClasspath := Map("ps-login" -> Seq("${PROG_HOME}/pscrypto-lib", + "${PROG_HOME}/config")), + packResourceDir += (baseDirectory.value / "pscrypto-lib" -> "pscrypto-lib"), + packResourceDir += (baseDirectory.value / "config" -> "config") ) lazy val root = (project in file(".")). settings(commonSettings: _*). + settings(psloginPackSettings: _*). aggregate(pslogin, common) lazy val pslogin = (project in file("pslogin")). @@ -34,7 +42,7 @@ lazy val pslogin = (project in file("pslogin")). name := "pslogin" ). settings(pscryptoSettings: _*). - settings(packAutoSettings: _*).dependsOn(common) + dependsOn(common) lazy val common = (project in file("common")). settings(commonSettings: _*). diff --git a/logback.xml b/config/logback.xml similarity index 100% rename from logback.xml rename to config/logback.xml diff --git a/pslogin/src/main/scala/PsLogin.scala b/pslogin/src/main/scala/PsLogin.scala index a338300f0..04a04ef21 100644 --- a/pslogin/src/main/scala/PsLogin.scala +++ b/pslogin/src/main/scala/PsLogin.scala @@ -1,5 +1,6 @@ // Copyright (c) 2016 PSForever.net to present import java.net.InetAddress +import java.io.File import akka.actor.{ActorSystem, Props} import ch.qos.logback.classic.LoggerContext @@ -98,7 +99,16 @@ object PsLogin { banner() println(systemInformation) - initializeLogging("logback.xml") + // Config directory + // Assume a default of the current directory + var configDirectory = "config" + + // This is defined when we are running from SBT pack + if(System.getProperty("prog.home") != null) { + configDirectory = System.getProperty("prog.home") + File.separator + "config" + } + + initializeLogging(configDirectory + File.separator + "logback.xml") parseArgs(args) /** Initialize the PSCrypto native library