Así es como se puede obtener versión de la aplicación Play y nombre de la aplicación definidos en su build.sbt
name := "myApp"
version :="1.0.4"
Aviso esto sólo funciona en el modo PROD. En el modo de desarrollo, SBT comparte una instancia de JVM con la aplicación y esas llamadas devuelven algo diferente.
Application.class.getPackage().getImplementationTitle()); // returns "myApp"
Application.class.getPackage().getImplementationVersion()); // returns "1.0.4"
En este caso la clase de aplicación es una clase definida en el proyecto. Puede ser cualquier clase de tu proyecto.
ACTUALIZACIÓN
me di cuenta de que este método no funciona fuera de la caja de Juego> = 2.4.x
Para solucionar el problema de añadir esto a su acumulación.SBT
packageOptions += Package.ManifestAttributes(
"Implementation-Version" -> (version in ThisBuild).value,
"Implementation-Title" -> name.value
)
Las dos propiedades se anexará a MANIFEST.FM archivo en su construcción lo que el título del paquete y la versión se pueden leer desde el código.
FYI: Yo uso SBT empaquetador nativa
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.3")
Gracias, funciona Probablemente se refirió a Build.scala y no build.conf? – peter
Sí, por supuesto, gracias! Se corrigió – Kapep
Alguna idea de cómo hacer que esto funcione en Play 2.1? Estoy obteniendo el mismo error que esta persona: http: //stackoverflow.com/questions/14430088/play-framework-2-1-use-play-api-configuration-in-build-scala – takteek