diff options
author | Stefan Zeiger <szeiger@novocode.com> | 2016-09-06 21:55:16 +0200 |
---|---|---|
committer | Stefan Zeiger <szeiger@novocode.com> | 2016-09-06 21:55:16 +0200 |
commit | 86d492c0b79b265a596cae1e4d8fd05cc1b11d53 (patch) | |
tree | 8fc970b7faaff51a51fa6c097e96e3fb5afbde83 /project/VersionUtil.scala | |
parent | 4fa4b8302bffb2f35cfdaa6015ada5f8e047564d (diff) | |
download | scala-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/VersionUtil.scala')
-rw-r--r-- | project/VersionUtil.scala | 9 |
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 = { |