Let Soong_UI to handle build_date.txt file

Soong_UI will update timestamp to build_date.txt, and export variables
to kati/ninja.

Test: m -j32
Bug: b/70351683
Change-Id: I153897afdf2d3f39a32d757d4c3ae7515caea52d
This commit is contained in:
Nan Zhang 2018-02-14 13:27:26 -08:00
parent 4b5fe9d1b4
commit 2e6a4ff3be

View file

@ -15,12 +15,14 @@
package build
import (
"io/ioutil"
"log"
"os"
"path/filepath"
"runtime"
"strconv"
"strings"
"time"
"android/soong/shared"
)
@ -181,6 +183,20 @@ func NewConfig(ctx Context, args ...string) Config {
ret.environ.Set("ANDROID_JAVA9_HOME", java9Home)
ret.environ.Set("PATH", strings.Join(newPath, string(filepath.ListSeparator)))
outDir := ret.OutDir()
buildDateTimeFile := filepath.Join(outDir, "build_date.txt")
var content string
if buildDateTime, ok := ret.environ.Get("BUILD_DATETIME"); ok && buildDateTime != "" {
content = buildDateTime
} else {
content = strconv.FormatInt(time.Now().Unix(), 10)
}
err := ioutil.WriteFile(buildDateTimeFile, []byte(content), 0777)
if err != nil {
ctx.Fatalln("Failed to write BUILD_DATETIME to file:", err)
}
ret.environ.Set("BUILD_DATETIME_FILE", buildDateTimeFile)
return Config{ret}
}