summaryrefslogtreecommitdiff
path: root/project
diff options
context:
space:
mode:
authorStefan Zeiger <szeiger@novocode.com>2016-09-06 21:55:16 +0200
committerStefan Zeiger <szeiger@novocode.com>2016-09-06 21:55:16 +0200
commit86d492c0b79b265a596cae1e4d8fd05cc1b11d53 (patch)
tree8fc970b7faaff51a51fa6c097e96e3fb5afbde83 /project
parent4fa4b8302bffb2f35cfdaa6015ada5f8e047564d (diff)
downloadscala-86d492c0b79b265a596cae1e4d8fd05cc1b11d53.tar.gz
scala-86d492c0b79b265a596cae1e4d8fd05cc1b11d53.tar.bz2
scala-86d492c0b79b265a596cae1e4d8fd05cc1b11d53.zip
Store buildcharacter.properties in scala-compiler.jar
In addition to all the individual projects’ version properties files that we already keep in `scala-compiler.jar` we now write a new `scala-buildcharacter.properties` which is identical to the `buildcharacter.properties` written to the root directory by `generateBuildCharacterPropertiesFile`. The new task `extractBuildCharacterPropertiesFile` extracts it from the bootstrap Scala compiler and writes the usual `buildcharacter.properties`. This can be used to reproduce the exact version information for all modules in builds that start from an arbitrary published Scala version instead of being triggered directly by a bootstrap job.
Diffstat (limited to 'project')
-rw-r--r--project/VersionUtil.scala9
1 files changed, 6 insertions, 3 deletions
diff --git a/project/VersionUtil.scala b/project/VersionUtil.scala
index 1c2fff27b7..fde55a5969 100644
--- a/project/VersionUtil.scala
+++ b/project/VersionUtil.scala
@@ -8,8 +8,10 @@ import BuildSettings.autoImport._
object VersionUtil {
lazy val copyrightString = settingKey[String]("Copyright string.")
lazy val versionProperties = settingKey[Versions]("Version properties.")
- lazy val generateVersionPropertiesFile = taskKey[File]("Generating version properties file.")
- lazy val generateBuildCharacterPropertiesFile = taskKey[File]("Generating buildcharacter.properties file.")
+ lazy val buildCharacterPropertiesFile = settingKey[File]("The file which gets generated by generateBuildCharacterPropertiesFile")
+ lazy val generateVersionPropertiesFile = taskKey[File]("Generate version properties file.")
+ lazy val generateBuildCharacterPropertiesFile = taskKey[File]("Generate buildcharacter.properties file.")
+ lazy val extractBuildCharacterPropertiesFile = taskKey[File]("Extract buildcharacter.properties file from bootstrap scala-compiler.")
lazy val globalVersionSettings = Seq[Setting[_]](
// Set the version properties globally (they are the same for all projects)
@@ -24,6 +26,7 @@ object VersionUtil {
)
lazy val generateBuildCharacterFileSettings = Seq[Setting[_]](
+ buildCharacterPropertiesFile := ((baseDirectory in ThisBuild).value / "buildcharacter.properties"),
generateBuildCharacterPropertiesFile := generateBuildCharacterPropertiesFileImpl.value
)
@@ -101,7 +104,7 @@ object VersionUtil {
writeProps(v.toMap ++ versionProps ++ Map(
"maven.version.base" -> v.mavenBase,
"maven.version.suffix" -> v.mavenSuffix
- ), (baseDirectory in ThisBuild).value / "buildcharacter.properties")
+ ), buildCharacterPropertiesFile.value)
}
private def writeProps(m: Map[String, String], propFile: File): File = {