Don't store assets modified time into generated files (#18193)
This commit is contained in:
parent
21ed4fd8da
commit
a1c12fb0b3
11 changed files with 110 additions and 22 deletions
49
modules/timeutil/executable.go
Normal file
49
modules/timeutil/executable.go
Normal file
|
@ -0,0 +1,49 @@
|
|||
// Copyright 2022 The Gitea Authors. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package timeutil
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"code.gitea.io/gitea/modules/log"
|
||||
)
|
||||
|
||||
var executablModTime = time.Now()
|
||||
var executablModTimeOnce sync.Once
|
||||
|
||||
// GetExecutableModTime get executable file modified time of current process.
|
||||
func GetExecutableModTime() time.Time {
|
||||
executablModTimeOnce.Do(func() {
|
||||
exePath, err := os.Executable()
|
||||
if err != nil {
|
||||
log.Error("os.Executable: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
exePath, err = filepath.Abs(exePath)
|
||||
if err != nil {
|
||||
log.Error("filepath.Abs: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
exePath, err = filepath.EvalSymlinks(exePath)
|
||||
if err != nil {
|
||||
log.Error("filepath.EvalSymlinks: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
st, err := os.Stat(exePath)
|
||||
if err != nil {
|
||||
log.Error("os.Stat: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
executablModTime = st.ModTime()
|
||||
})
|
||||
return executablModTime
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue