mirror of
https://github.com/gohugoio/hugo.git
synced 2024-05-11 05:54:58 +00:00
Add a cross process build lock and use it in the archetype content builder
Fixes #9048
This commit is contained in:
@ -53,6 +53,12 @@ draft: true
|
||||
// NewContent creates a new content file in h (or a full bundle if the archetype is a directory)
|
||||
// in targetPath.
|
||||
func NewContent(h *hugolib.HugoSites, kind, targetPath string) error {
|
||||
unlock, err := h.BaseFs.LockBuild()
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to acquire a build lock: %s", err)
|
||||
}
|
||||
defer unlock()
|
||||
|
||||
cf := hugolib.NewContentFactory(h)
|
||||
|
||||
if kind == "" {
|
||||
@ -138,7 +144,7 @@ func (b *contentBuilder) buildDir() error {
|
||||
|
||||
}
|
||||
|
||||
if err := b.h.Build(hugolib.BuildCfg{SkipRender: true, ContentInclusionFilter: contentInclusionFilter}); err != nil {
|
||||
if err := b.h.Build(hugolib.BuildCfg{NoBuildLock: true, SkipRender: true, ContentInclusionFilter: contentInclusionFilter}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@ -200,7 +206,7 @@ func (b *contentBuilder) buildFile() error {
|
||||
})
|
||||
}
|
||||
|
||||
if err := b.h.Build(hugolib.BuildCfg{SkipRender: true, ContentInclusionFilter: contentInclusionFilter}); err != nil {
|
||||
if err := b.h.Build(hugolib.BuildCfg{NoBuildLock: true, SkipRender: true, ContentInclusionFilter: contentInclusionFilter}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user